summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorStanimir Varbanov <stanimir.varbanov@linaro.org>2020-12-15 15:07:44 +0100
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2021-01-11 13:36:18 +0100
commit9eb09dc2f4650de8c6ce286d3153511e6f6314c0 (patch)
tree7b24aa744a01c2316c11d3b012bd98941868fc5d /drivers
parentmedia: rc: fix timeout handling after switch to microsecond durations (diff)
downloadlinux-9eb09dc2f4650de8c6ce286d3153511e6f6314c0.tar.xz
linux-9eb09dc2f4650de8c6ce286d3153511e6f6314c0.zip
media: venus: core: Fix platform driver shutdown
With TZ system reboot cannot finish successfully. To fix that enable core clocks by runtime pm before TZ calls and disable clocks after that. Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/platform/qcom/venus/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
index bdd293faaad0..7233a7311757 100644
--- a/drivers/media/platform/qcom/venus/core.c
+++ b/drivers/media/platform/qcom/venus/core.c
@@ -349,8 +349,10 @@ static void venus_core_shutdown(struct platform_device *pdev)
{
struct venus_core *core = platform_get_drvdata(pdev);
+ pm_runtime_get_sync(core->dev);
venus_shutdown(core);
venus_firmware_deinit(core);
+ pm_runtime_put_sync(core->dev);
}
static __maybe_unused int venus_runtime_suspend(struct device *dev)