Re: [PATCH v2 0/2] pinctrl: Allow indicating loss of state across suspend/resume

From: Florian Fainelli
Date: Sat Nov 04 2017 - 13:20:03 EST




On 11/04/2017 05:25 AM, Rafael J. Wysocki wrote:
> On Friday, November 3, 2017 6:33:53 PM CET Tony Lindgren wrote:
>> * Florian Fainelli <f.fainelli@xxxxxxxxx> [171103 17:04]:
>>> On 11/03/2017 09:11 AM, Tony Lindgren wrote:
>>> The pinctrl provider is losing its state, hence these two patches.
>>
>> OK
>>
>>>> Anyways, the context lost flag should be managed in the PM core for
>>>> the device, so adding linux-pm and Rafael to Cc.
>>>
>>> I don't think it's that simple but sure, why not.
>>
>> Just having bool context_lost in struct dev_pm_info would probably
>> be enough to allow drivers to deal with it. This flag could then
>> be set for a device by power domain related code that knows if
>> context got lost.
>
> Something like: if the driver sees "context_lost" set, it should restore
> the context to the device from memory?

That is what is being proposed here, except that the actual mechanism
where this matters needs to be in the core pinctrl code, otherwise the
state (context) is not restored due to a check that attempts not to
(re)apply a previous state.

>
> But the it would also need to save the context beforehand, so why not to
> restore it unconditionally on resume?

That's what my original attempts did here:

https://patchwork.kernel.org/patch/9598969/

but Linus rightfully requested this to be done differently, hence this
attempt now to solve it in a slightly more flexible way based on DT
properties.
--
Florian