Re: [PATCH] pinctrl: intel: save HOSTSW_OWN register over suspend/resume

From: Chris Chiu
Date: Tue Nov 21 2017 - 06:54:33 EST


On Tue, Nov 21, 2017 at 6:52 PM, Mika Westerberg
<mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> On Fri, Nov 17, 2017 at 04:11:31PM +0800, Chris Chiu wrote:
>> On Fri, Nov 17, 2017 at 2:49 PM, Mika Westerberg
>> <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
>> > On Thu, Nov 16, 2017 at 09:27:51PM +0800, Chris Chiu wrote:
>> >> On Thu, Nov 16, 2017 at 8:44 PM, Mika Westerberg
>> >> <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
>> >> > On Wed, Nov 15, 2017 at 06:19:56PM +0800, Chris Chiu wrote:
>> >> >> Hi Mika,
>> >> >> I've confirmed with Asus and they said it's the latest BIOS for
>> >> >> shipment and verified OK on Windows. So their BIOS team will not do
>> >> >> anything for this.
>> >> >
>> >> > I'll ask around if our Windows people know anything about this. My gut
>> >> > feeling is that the Windows driver does not touch HOSTSW_OWN either.
>> >>
>> >> Thanks. Please let me know if you need any information. I still keep
>> >> the machine.
>> >
>> > Got confirmation from Windows people. So Windows pretty much saves and
>> > restores the same registers than we do (padcfg + ie).
>> >
>> > Have you tried whether s2idle works instead of S3 suspend? You can try
>> > it like
>> >
>> > # echo freeze > /sys/power/state
>> >
>> > If that works, I'm guessing that this system uses s2idle and that's also
>> > what Windows uses and could explain why it works in Windows.
>>
>> Unfortunately, I cant wake it up from neither power button nor any key
>> event after "# echo freeze > /sys/power/state"....
>
> Yeah, it is S3 platform based on the acpidump you shared. Although
> freeze should still work.
>
> Have you dumped the pin config registers through debugfs before and
> after suspend? Are there any other differences except the HOSTSW_OWN
> thing?

Yup, I checked the value of the corresponded pin. It shows following before
suspend
pin 18 (GPIO_18) GPIO 0x40800102 0x00024075

Then after resume
pin 18 (GPIO_18) GPIO 0x40800102 0x00024075 [ACPI]

What else register do you suggest me to compare? The PADCFG2 is invalid