aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
diff options
context:
space:
mode:
authorDikshita Agarwal <quic_dikshita@quicinc.com>2025-02-07 13:24:48 +0530
committerHans Verkuil <hverkuil@xs4all.nl>2025-02-07 11:51:18 +0100
commitbb8a95aa038e099f5ec82c466e996b006e05abd7 (patch)
treed8808355ae7f8a6db92d81b9cf3a0e1a1dfe390d /drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
parentmedia: iris: introduce host firmware interface with necessary hooks (diff)
downloadlinux-bb8a95aa038e099f5ec82c466e996b006e05abd7.tar.gz
linux-bb8a95aa038e099f5ec82c466e996b006e05abd7.zip
media: iris: implement power management
Implement runtime power management for iris, including a platform specific power on/off sequence. Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org> # x1e80100 (Dell XPS 13 9345) Reviewed-by: Stefan Schmidt <stefan.schmidt@linaro.org> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c')
-rw-r--r--drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
index 07007d8812ba..b2e76d1dcbf7 100644
--- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
+++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
@@ -56,10 +56,21 @@ static int iris_hfi_gen1_sys_interframe_powercollapse(struct iris_core *core)
return ret;
}
+static int iris_hfi_gen1_sys_pc_prep(struct iris_core *core)
+{
+ struct hfi_sys_pc_prep_pkt pkt;
+
+ pkt.hdr.size = sizeof(struct hfi_sys_pc_prep_pkt);
+ pkt.hdr.pkt_type = HFI_CMD_SYS_PC_PREP;
+
+ return iris_hfi_queue_cmd_write_locked(core, &pkt, pkt.hdr.size);
+}
+
static const struct iris_hfi_command_ops iris_hfi_gen1_command_ops = {
.sys_init = iris_hfi_gen1_sys_init,
.sys_image_version = iris_hfi_gen1_sys_image_version,
.sys_interframe_powercollapse = iris_hfi_gen1_sys_interframe_powercollapse,
+ .sys_pc_prep = iris_hfi_gen1_sys_pc_prep,
};
void iris_hfi_gen1_command_ops_init(struct iris_core *core)