You are not logged in.

#1 2024-02-22 14:07:17

Single Core
Member
Registered: 2024-02-22
Posts: 1

Asus M16 - Wake from sleep is really slow.

The actual suspend is good, the laptop also shuts down quickly. 
The problem is that when I want to wake it, it takes up to 1 or 2 minutes. Sometimes longer. (Could be a bit less, but you get the point.)

Laptop specifications:

OS: Arch Linux x86_64
Laptop: ROG Zephyrus M16 GU603ZW_GU603ZW 1.0
Kernel: 6.7.5-arch1-1
Shell: zsh 5.9
Resolution: 2560x1600
DE: GNOME 45.4
WM: Mutter
CPU: 12th Gen Intel i9-12900H (20) @ 4.900GHz
GPU: NVIDIA Geforce RTX 3070 Ti Laptop GPU GPU: Intel Alder Lake-P GT2 [Iris Xe Graphics]
Memory: 5745MiB / 31784MiB

When waking from sleep we get the following information:  (Checking dmesg)

[  642.483972] sdhci-pci 0000:2f:00.0: not ready 1023ms after resume; waiting
    [  643.537370] sdhci-pci 0000:2f:00.0: not ready 2047ms after resume; waiting
    [  645.724028] sdhci-pci 0000:2f:00.0: not ready 4095ms after resume; waiting
    [  649.990655] sdhci-pci 0000:2f:00.0: not ready 8191ms after resume; waiting
    [  658.310658] sdhci-pci 0000:2f:00.0: not ready 16383ms after resume; waiting
    [  675.590673] sdhci-pci 0000:2f:00.0: not ready 32767ms after resume; waiting
    [  709.723965] sdhci-pci 0000:2f:00.0: not ready 65535ms after resume; giving up
    [  709.724183] sdhci-pci 0000:2f:00.0: Unable to change power state from D3cold to D0, device inaccessible
    [  709.931501] mmc0: enable PCI MSI failed, error=-22
    [  710.031516] mmc0: Reset 0x1 never completed.
    [  710.031519] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  710.031522] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  710.031525] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  710.031527] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  710.031529] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  710.031532] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  710.031534] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  710.031536] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  710.031539] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  710.031541] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  710.031543] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  710.031545] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  710.031547] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  710.031549] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  710.031551] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  710.031554] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  710.031555] mmc0: sdhci: ============================================
    [  710.031558] sdhci-pci 0000:2f:00.0: PM: dpm_run_callback(): pci_pm_resume+0x0/0xf0 returns -22
    [  710.031567] sdhci-pci 0000:2f:00.0: PM: failed to resume async: error -22

Second part

The second part keeps looping a few times. And then suddenly it wakes up.

[  710.823719] random: crng reseeded on system resumption
    [  710.829332] mmc0: 3.3V regulator output did not become stable
    [  710.860354] PM: suspend exit
    [  710.974677] mmc0: Controller never released inhibit bit(s).
    [  710.974690] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  710.974698] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  710.974709] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  710.974712] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  710.974715] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  710.974717] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  710.974720] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  710.974723] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  710.974725] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  710.974728] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  710.974731] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  710.974733] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  710.974736] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  710.974738] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  710.974740] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  710.974743] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  710.974744] mmc0: sdhci: ============================================
    [  711.074847] mmc0: Reset 0x2 never completed.
    [  711.074851] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  711.074854] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  711.074857] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  711.074859] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  711.074862] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  711.074865] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  711.074867] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  711.074870] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  711.074872] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  711.074875] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  711.074877] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  711.074880] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  711.074882] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  711.074885] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  711.074887] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  711.074890] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  711.074891] mmc0: sdhci: ============================================
    [  711.174895] mmc0: Reset 0x4 never completed.
    [  711.174896] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  711.174899] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  711.174901] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  711.174904] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  711.174906] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  711.174909] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  711.174911] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  711.174914] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  711.174916] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  711.174918] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  711.174921] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  711.174923] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  711.174926] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  711.174928] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  711.174930] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  711.174933] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  711.174934] mmc0: sdhci: ============================================
    [  711.190907] mmc0: Controller never released inhibit bit(s).
    [  711.190912] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  711.190918] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  711.190923] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  711.190926] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  711.190929] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  711.190933] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  711.190936] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  711.190939] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  711.190942] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  711.190946] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  711.190949] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  711.190952] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  711.190955] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  711.190958] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  711.190961] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  711.190964] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  711.190966] mmc0: sdhci: ============================================
    [  711.290982] mmc0: Reset 0x2 never completed.
    [  711.290985] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  711.290987] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  711.290990] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  711.290993] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  711.290995] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  711.290998] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  711.291000] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  711.291003] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  711.291005] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  711.291008] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  711.291010] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  711.291013] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  711.291015] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  711.291017] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  711.291019] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  711.291022] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  711.291023] mmc0: sdhci: ============================================
    [  711.391032] mmc0: Reset 0x4 never completed.
    [  711.391033] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  711.391035] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  711.391037] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  711.391040] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  711.391042] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  711.391045] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  711.391047] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  711.391050] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  711.391052] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  711.391055] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  711.391057] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  711.391060] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  711.391062] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  711.391065] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  711.391066] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  711.391069] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  711.391070] mmc0: sdhci: ============================================
    [  711.404500] mmc0: Controller never released inhibit bit(s).
    [  711.404510] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  711.404514] mmc0: sdhci: Sys addr:  0xffffffff | Version:  0x0000ffff
    [  711.404518] mmc0: sdhci: Blk size:  0x0000ffff | Blk cnt:  0x0000ffff
    [  711.404520] mmc0: sdhci: Argument:  0xffffffff | Trn mode: 0x0000ffff
    [  711.404523] mmc0: sdhci: Present:   0xffffffff | Host ctl: 0x000000ff
    [  711.404525] mmc0: sdhci: Power:     0x000000ff | Blk gap:  0x000000ff
    [  711.404528] mmc0: sdhci: Wake-up:   0x000000ff | Clock:    0x0000ffff
    [  711.404530] mmc0: sdhci: Timeout:   0x000000ff | Int stat: 0xffffffff
    [  711.404533] mmc0: sdhci: Int enab:  0xffffffff | Sig enab: 0xffffffff
    [  711.404535] mmc0: sdhci: ACmd stat: 0x0000ffff | Slot int: 0x0000ffff
    [  711.404538] mmc0: sdhci: Caps:      0xffffffff | Caps_1:   0xffffffff
    [  711.404540] mmc0: sdhci: Cmd:       0x0000ffff | Max curr: 0xffffffff
    [  711.404542] mmc0: sdhci: Resp[0]:   0xffffffff | Resp[1]:  0xffffffff
    [  711.404545] mmc0: sdhci: Resp[2]:   0xffffffff | Resp[3]:  0xffffffff
    [  711.404546] mmc0: sdhci: Host ctl2: 0x0000ffff
    [  711.404549] mmc0: sdhci: ADMA Err:  0xffffffff | ADMA Ptr: 0xffffffffffffffff
    [  711.404550] mmc0: sdhci: ============================================

Going by these logs, the lost likely culprit is: **sdhci-pci 0000:2f:00.0** 
Diving a bit deeper with lspci, we get the following device:

2f:00.0 SD Host controller [0805]: Genesys Logic, Inc GL9755 SD Host Controller [17a0:9755] (rev 01)
    Subsystem: ASUSTeK Computer Inc. GL9755 SD Host Controller [1043:202f]
    Kernel driver in use: sdhci-pci
    Kernel modules: sdhci_pci

Ive tried high and low to just blacklist the driver, which works, but the result remains the exact same, so for debugging purposes and posting it here I removed all attempts at blacklisting the driver using modprobe. It keeps waiting for this device.

I went through multiple pages of the arch wiki, but I find myself lost.

Any ideas on how I could make my laptop wake from suspend quickly and fix this problem? 
Entirely disabling the Genesys Logic, Inc GL9755 SD is also a valid fix for me, as I do not ever use it.

I am willing to provide any and all log files, just ask me and I will update.

FAQ:

* Sleep/wake works perfectly in windows.
* Secure boot and fast boot are disabled.
* There are no additional sleep state / configuration options in my bios.

More debug information:

cat /sys/power/mem_sleep
    [s2idle] deep

Last edited by Single Core (2024-02-22 14:14:01)

Offline

Board footer

Powered by FluxBB