Re: [PATCH] venus: core: Fix platform driver shutdown
On Tue, Jan 19, 2021 at 09:59:41AM +0200, Stanimir Varbanov wrote: > On 1/19/21 9:40 AM, Shawn Guo wrote: > > On Mon, Dec 21, 2020 at 11:58:20AM +0200, Stanimir Varbanov wrote: > >> With TZ system reboot cannot finish successfully. To fix that > >> enable core clocks by runtime pm before TZ calls and disable > >> clocks after that. > >> > >> Fixes: 7399139be6b2 ("media: venus: core: add shutdown callback for venus") > >> Signed-off-by: Stanimir Varbanov > > > > Hi Mauro, > > > > Could you help pick this fix up? > > Shawn, it is part of linux-next already. Ha, sorry, I did not check linux-next. I sent the message because I see this fix is still missing after I rebase my Yoga C630 branch to 5.11-rc4. We will get this fix into 5.11, right? Shawn
Re: [PATCH] venus: core: Fix platform driver shutdown
On 1/19/21 9:40 AM, Shawn Guo wrote: > On Mon, Dec 21, 2020 at 11:58:20AM +0200, Stanimir Varbanov wrote: >> With TZ system reboot cannot finish successfully. To fix that >> enable core clocks by runtime pm before TZ calls and disable >> clocks after that. >> >> Fixes: 7399139be6b2 ("media: venus: core: add shutdown callback for venus") >> Signed-off-by: Stanimir Varbanov > > Hi Mauro, > > Could you help pick this fix up? Shawn, it is part of linux-next already. > > Shawn > >> --- >> drivers/media/platform/qcom/venus/core.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> 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) >> -- >> 2.17.1 >> -- regards, Stan
Re: [PATCH] venus: core: Fix platform driver shutdown
On Mon, Dec 21, 2020 at 11:58:20AM +0200, Stanimir Varbanov wrote: > With TZ system reboot cannot finish successfully. To fix that > enable core clocks by runtime pm before TZ calls and disable > clocks after that. > > Fixes: 7399139be6b2 ("media: venus: core: add shutdown callback for venus") > Signed-off-by: Stanimir Varbanov Hi Mauro, Could you help pick this fix up? Shawn > --- > drivers/media/platform/qcom/venus/core.c | 2 ++ > 1 file changed, 2 insertions(+) > > 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) > -- > 2.17.1 >
Re: [PATCH] venus: core: Fix platform driver shutdown
On Mon, Dec 21, 2020 at 5:58 PM Stanimir Varbanov wrote: > > With TZ system reboot cannot finish successfully. To fix that > enable core clocks by runtime pm before TZ calls and disable > clocks after that. > > Fixes: 7399139be6b2 ("media: venus: core: add shutdown callback for venus") > Signed-off-by: Stanimir Varbanov It fixes reboot on Lenovo Yoga C630 laptop for me, so: Tested-by: Shawn Guo
[PATCH] 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. Fixes: 7399139be6b2 ("media: venus: core: add shutdown callback for venus") Signed-off-by: Stanimir Varbanov --- drivers/media/platform/qcom/venus/core.c | 2 ++ 1 file changed, 2 insertions(+) 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) -- 2.17.1