2020-12-21 10:10:40

by Stanimir Varbanov

[permalink] [raw]
Subject: [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 <[email protected]>
---
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


2020-12-21 10:43:16

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] venus: core: Fix platform driver shutdown

On Mon, Dec 21, 2020 at 5:58 PM Stanimir Varbanov
<[email protected]> 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 <[email protected]>

It fixes reboot on Lenovo Yoga C630 laptop for me, so:

Tested-by: Shawn Guo <[email protected]>

2021-01-19 07:44:44

by Shawn Guo

[permalink] [raw]
Subject: 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 <[email protected]>

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
>

2021-01-19 08:05:23

by Stanimir Varbanov

[permalink] [raw]
Subject: 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 <[email protected]>
>
> 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

2021-01-19 08:27:57

by Shawn Guo

[permalink] [raw]
Subject: 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 <[email protected]>
> >
> > 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