Re: [PATCH] bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up

From: Kevin Hilman
Date: Tue Sep 12 2023 - 18:40:37 EST


Dhruva Gole <d-gole@xxxxxx> writes:

> On Sep 07, 2023 at 08:54:41 +0300, Tony Lindgren wrote:
>> The uarts should be tagged with SYSC_QUIRK_SWSUP_SIDLE instead of
>> SYSC_QUIRK_SWSUP_SIDLE_ACT. The difference is that SYSC_QUIRK_SWSUP_SIDLE
>> is used to force idle target modules rather than block idle during usage.
>>
>> The SYSC_QUIRK_SWSUP_SIDLE_ACT should disable autoidle and wake-up when
>> a target module is active, and configure autoidle and wake-up when a
>> target module is inactive. We are missing configuring the target module
>> on sysc_disable_module(), and missing toggling of the wake-up bit.
>>
>> Let's fix the issue to allow uart wake-up to work.
>>
>> Fixes: fb685f1c190e ("bus: ti-sysc: Handle swsup idle mode quirks")
>> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
>> ---
>> drivers/bus/ti-sysc.c | 22 +++++++++++++++++-----
>> 1 file changed, 17 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
>> --- a/drivers/bus/ti-sysc.c
>> +++ b/drivers/bus/ti-sysc.c
>
> Thanks for the fix Tony,
> I have tested this on a TI SK-AM62x with deepsleep and am able to wakeup
> with keypress on the wake_uart.
>
> For anyone else who wants to give this a shot, the required patches for
> deepsleep and DT related changes have been pushed to my branch on github
> [0].
>
> Hence,
> Tested-by: Dhruva Gole <d-gole@xxxxxx>
>
> [0] https://github.com/DhruvaG2000/v-linux/commits/v6.5-rc7_wkuart

Also tested on k3-am625-sk using Dhruval's branch.

Tested-by: Kevin Hilman <khilman@xxxxxxxxxxxx>

Kevin