Re: [PATCH] ACPI / LPSS: Don't skip late system PM ops for hibernate on BYT/CHT
From: Robert R. Howell
Date: Wed Jun 26 2019 - 14:43:11 EST
Hi Rafael
On 6/24/19 4:24 AM, Rafael J. Wysocki wrote:
>
> On Saturday, May 25, 2019 7:31:20 AM CEST Robert R. Howell wrote:
>>
>>...
>>...
>>
>> I've finally managed to complete a reasonable set of tests on my T100TA using your
>> 2nd patch from above, and on a 5.1.4 based kernel with ONLY this patch applied I can
>> successfully suspend and hibernate the system.
>
> Sorry for the long delay.
>
> I haven't dropped this issue on the floor, I hope that you are still able to follow up here.
>
> Can you please test the appended patch instead of the previous one?
>
> I have found some inconsistencies in the handling of hibernation in the ACPI PM domain
> and the LPSS driver that should be covered by this patch.
>
> ---
> ...
> ...
I did just try your June 24 patch on my ASUS T100TA, but unfortunately, unlike the earlier version
of your patch, this version does NOT fix the hibernation problem. I applied just this patch to a
5.2-rc6 kernel, and once again I'm seeing the
"i2c_designware 80860F41:01 controller timed out"
errors on resume from hibernate. As before the internal sound output fails after hibernate/resume
because of these timeouts.
Suspend (rather than hibernate) DOES work OK. On the first resume from either suspend or hibernate
I DO still see, as with the previous patch, an "i2c_designware 80860F41:00: Transfer while suspended"
error, but also as before, that error alone doesn't seem fatal because with just suspend/resume
I do NOT get subsequent "controller timed out" errors and sound continues to work.
While I haven't tested the May version of your patch (yet) with 5.2-rc6, I did test it a couple weeks ago
with 5.2-rc4 and hibernate/resume did still work with that combination. So most likely the problem is the
new patch rather than some other change in the kernel since my May tests.
I've attached dmesg output from the hibernate/resume attempt using 5.2-rc6 and your new patch.
Bob Howell
[ 173.119967] PM: hibernation entry
[ 173.568856] Filesystems sync: 0.109 seconds
[ 173.568867] Freezing user space processes ... (elapsed 0.006 seconds) done.
[ 173.575501] OOM killer disabled.
[ 173.575602] PM: Marking nosave pages: [mem 0x00000000-0x00000fff]
[ 173.575608] PM: Marking nosave pages: [mem 0x0008f000-0x0008ffff]
[ 173.575612] PM: Marking nosave pages: [mem 0x0009e000-0x000fffff]
[ 173.575621] PM: Marking nosave pages: [mem 0x20000000-0x200fffff]
[ 173.575638] PM: Marking nosave pages: [mem 0x78cf5000-0x79badfff]
[ 173.575831] PM: Marking nosave pages: [mem 0x79bc9000-0x79bc9fff]
[ 173.575835] PM: Marking nosave pages: [mem 0x79bcb000-0x79bcbfff]
[ 173.575839] PM: Marking nosave pages: [mem 0x79d41000-0x79ff8fff]
[ 173.575877] PM: Basic memory bitmaps created
[ 173.575879] PM: Preallocating image memory... done (allocated 171204 pages)
[ 182.809636] PM: Allocated 684816 kbytes in 9.23 seconds (74.19 MB/s)
[ 182.809638] Freezing remaining freezable tasks ... (elapsed 0.780 seconds) done.
[ 185.130057] Disabling non-boot CPUs ...
[ 185.133208] smpboot: CPU 1 is now offline
[ 185.137135] smpboot: CPU 2 is now offline
[ 185.141733] smpboot: CPU 3 is now offline
[ 185.142870] PM: Creating hibernation image:
[ 185.386747] PM: Need to copy 162306 pages
[ 185.386763] PM: Normal pages needed: 162306 + 1024, available pages: 332540
[ 185.144025] Enabling non-boot CPUs ...
[ 185.144401] x86: Booting SMP configuration:
[ 185.144409] smpboot: Booting Node 0 Processor 1 APIC 0x2
[ 185.146671] CPU1 is up
[ 185.147042] smpboot: Booting Node 0 Processor 2 APIC 0x4
[ 185.149320] CPU2 is up
[ 185.149678] smpboot: Booting Node 0 Processor 3 APIC 0x6
[ 185.152237] CPU3 is up
[ 185.240385] byt_gpio INT33FC:02: restored pin 16 conf0 0x2603cc01
[ 185.301425] i2c_designware 80860F41:01: timeout in disabling adapter
[ 185.371784] usb usb1: root hub lost power or was reset
[ 185.371800] usb usb2: root hub lost power or was reset
[ 185.450066] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 185.453341] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 185.456714] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 185.463740] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 185.712824] usb 1-3: reset full-speed USB device number 2 using xhci_hcd
[ 185.939966] PM: Basic memory bitmaps freed
[ 185.939976] OOM killer enabled.
[ 185.939980] Restarting tasks ... done.
[ 185.967541] i2c_designware 80860F41:01: timeout waiting for bus ready
[ 185.967558] rt5640 i2c-10EC5640:00: Failed to write 13d = 3600: -110
[ 185.973293] PM: hibernation exit
[ 185.990033] i2c_designware 80860F41:01: timeout waiting for bus ready
[ 186.012593] i2c_designware 80860F41:01: timeout waiting for bus ready
[ 186.035154] i2c_designware 80860F41:01: timeout waiting for bus ready
[ 186.057546] i2c_designware 80860F41:01: timeout waiting for bus ready
[ 186.079936] i2c_designware 80860F41:01: timeout waiting for bus ready
[ 186.102763] i2c_designware 80860F41:01: timeout waiting for bus ready
[ 187.243784] i2c_designware 80860F41:01: timeout in disabling adapter
[ 188.034105] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 188.034843] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 188.279947] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 188.281522] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 188.283124] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 188.286766] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 188.363159] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43241b4-sdio for chip BCM4324/5
[ 188.363278] usbcore: registered new interface driver brcmfmac
[ 188.420642] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43241b4-sdio.ASUSTeK COMPUTER INC.-T100TA.txt failed with error -2
[ 188.420739] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43241b4-sdio.txt failed with error -2
[ 188.421020] brcmfmac: brcmf_fw_nvram_from_efi: Using nvram EFI variable
[ 188.434348] Bluetooth: HCI UART driver ver 2.3
[ 188.434356] Bluetooth: HCI UART protocol H4 registered
[ 188.434360] Bluetooth: HCI UART protocol BCSP registered
[ 188.434516] Bluetooth: HCI UART protocol LL registered
[ 188.434524] Bluetooth: HCI UART protocol ATH3K registered
[ 188.434616] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 188.434740] Bluetooth: HCI UART protocol Intel registered
[ 188.434879] Bluetooth: HCI UART protocol Broadcom registered
[ 188.434905] Bluetooth: HCI UART protocol QCA registered
[ 188.434908] Bluetooth: HCI UART protocol AG6XX registered
[ 188.446723] hci_uart_bcm serial0-0: ACPI Interrupt resource is active-high, this is usually wrong, treating the IRQ as active-low
[ 188.447039] hci_uart_bcm serial0-0: serial0-0 supply vbat not found, using dummy regulator
[ 188.447089] hci_uart_bcm serial0-0: serial0-0 supply vddio not found, using dummy regulator
[ 188.567476] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43241b4-sdio for chip BCM4324/5
[ 188.567546] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 188.567861] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4324/5 wl0: Jul 17 2013 07:36:07 version 6.10.197.71 (r412987) FWID 01-882d2634
[ 188.653946] Bluetooth: hci0: BCM: chip id 84
[ 188.654705] Bluetooth: hci0: BCM: features 0x0f
[ 188.656188] Bluetooth: hci0: BCM4324B3
[ 188.656194] Bluetooth: hci0: BCM4324B3 (002.004.006) build 0000
[ 188.772729] brcmfmac mmc1:0001:1 wlan1: renamed from wlan0
[ 189.229363] Bluetooth: hci0: BCM4324B3 (002.004.006) build 0161
[ 203.870227] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[ 248.132634] Uhhuh. NMI received for unknown reason 2c on CPU 0.
[ 248.132636] Do you have a strange power saving mode enabled?
[ 248.132637] Dazed and confused, but trying to continue
[ 263.246333] i2c_designware 80860F41:01: controller timed out
[ 264.269815] i2c_designware 80860F41:01: controller timed out
[ 265.293322] i2c_designware 80860F41:01: controller timed out