summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/qcom
diff options
context:
space:
mode:
authorStanimir Varbanov2018-07-05 15:03:43 +0200
committerMauro Carvalho Chehab2018-07-25 14:45:48 +0200
commit4dde81d720dcd68e439081092035a24ee20fa09c (patch)
tree8b69129e89e52a6b89290cb3a8ce487d41ee2217 /drivers/media/platform/qcom
parentmedia: venus: hfi_venus: fix suspend function for venus 3xx versions (diff)
downloadkernel-qcow2-linux-4dde81d720dcd68e439081092035a24ee20fa09c.tar.gz
kernel-qcow2-linux-4dde81d720dcd68e439081092035a24ee20fa09c.tar.xz
kernel-qcow2-linux-4dde81d720dcd68e439081092035a24ee20fa09c.zip
media: venus: hfi_venus: move set of default properties to core init
This moves setting of default properties (firmware debug, idle indicator and low power mode) from session init to core init. All of those properties are need to be enabled/disabled early so that they could be used before the clients are even initialized. The other reason is to set idle indicator property early before we enter into venus_suspend function where we need to check for ARM9 WFI. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Reviewed-by: Tomasz Figa <tfiga@chromium.org> Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Tested-by: Alexandre Courbot <acourbot@chromium.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/platform/qcom')
-rw-r--r--drivers/media/platform/qcom/venus/hfi_venus.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/media/platform/qcom/venus/hfi_venus.c b/drivers/media/platform/qcom/venus/hfi_venus.c
index 72a8547eab39..7a83e967a8ea 100644
--- a/drivers/media/platform/qcom/venus/hfi_venus.c
+++ b/drivers/media/platform/qcom/venus/hfi_venus.c
@@ -1091,6 +1091,10 @@ static int venus_core_init(struct venus_core *core)
if (ret)
dev_warn(dev, "failed to send image version pkt to fw\n");
+ ret = venus_sys_set_default_properties(hdev);
+ if (ret)
+ return ret;
+
return 0;
}
@@ -1135,10 +1139,6 @@ static int venus_session_init(struct venus_inst *inst, u32 session_type,
struct hfi_session_init_pkt pkt;
int ret;
- ret = venus_sys_set_default_properties(hdev);
- if (ret)
- return ret;
-
ret = pkt_session_init(&pkt, inst, session_type, codec);
if (ret)
goto err;