Re: [PATCH v3 2/2] soc: qcom: rpmh-rsc: Timeout after 1 second in write_tcs_reg_sync()

From: Doug Anderson
Date: Thu May 28 2020 - 10:51:35 EST


Hi,

On Thu, May 28, 2020 at 4:44 AM Maulik Shah <mkshah@xxxxxxxxxxxxxx> wrote:
>
> Hi Doug,
>
> During suspend-resume with this change on sc7180 using latest
> linux-next, below warning was reported.
>
> WARNING: CPU: 0 PID: 5324 at kernel/time/timekeeping.c:754
> ktime_get+0x94/0x9c
> ktime_get+0x94/0x9c
> write_tcs_reg_sync+0x4c/0x130
> tcs_invalidate+0x64/0xa4
> rpmh_rsc_invalidate+0x20/0x38
> rpmh_flush+0x58/0x1ec
> rpmh_rsc_cpu_pm_callback+0xe4/0x144
> notifier_call_chain+0x58/0x90
> __atomic_notifier_call_chain+0x48/
> cpu_pm_notify+0x40/0x6c
> cpu_pm_enter+0x34/0x7c
> cpu_pm_suspend+0x10/0x20
> syscore_suspend+0x128/0x2a4
> suspend_devices_and_enter+0x5e0/0x8a0
>
> This seems to be because timekeeping is already suspend by this time.

Thanks for the report. I posted:

20200528074530.1.Ib86e5b406fe7d16575ae1bb276d650faa144b63c@changeid">https://lore.kernel.org/r/20200528074530.1.Ib86e5b406fe7d16575ae1bb276d650faa144b63c@changeid

I think there are still a bunch of not-yet-landed patches needed for
suspend-resume so I only confirmed that the code still works OK for
the idle case. Hopefully you can confirm s2r is good, though I'd
believe it should be exactly the same. I'm 99% sure that udelay()
still works fine even when timekeeping is suspended.

-Doug