Wi-Fi SDIO blocks the system's Supend -to-RAM

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Wi-Fi SDIO blocks the system's Supend -to-RAM

2,676件の閲覧回数
anjalikkrishna
Contributor III

Hi,

         I am facing an issue  during system suspend when the Wi-Fi Drivers are loaded. The system is refused to go to a suspend state with below messages.

echo mem > /sys/power/state
[   19.220137] PM: suspend entry (deep)
[   19.223727] PM: Syncing filesystems ... done.
[   19.305201] Freezing user space processes ... (elapsed 0.001 seconds) done.
[   19.313782] OOM killer disabled.
[   19.317119] Freezing remaining freezable tasks ... (elapsed 0.014 seconds) done.
[   19.340516] Suspending console(s) (use no_console_suspend to debug)
[   19.347547] mmc1:0001:1: cannot remain alive while host is suspended
[   19.347568] dpm_run_callback(): pm_generic_suspend+0x0/0x40 returns -38
[   19.347574] PM: Device mmc1:0001:1 failed to suspend async: error -38
[   19.476954] PM: Some devices failed to suspend, or early wake event detected
[   19.505262] OOM killer enabled.
[   19.508429] Restarting tasks ... done.
[   19.514681] PM: suspend exit
-sh: echo: write error: Function not implemented

After reading few articles and other internet source, I enabled the keep-power-in-suspend property to ht sdio node in dts.

But this resulted in a  synchronous external abort. I tried to debug the error using System.map and  the faulty instruction address points to the port->suspend_saved_reg[0] = readl(port->base + GPIO_ICR1) line of mxc_gpio_noirq_suspend () function and I m stuck here.

I m bit confused how to move forward. Whether the whole debugging of the external abort error is the right way  to debug the actual suspend issue ?

Please guide me.

0 件の賞賛
返信
4 返答(返信)

2,445件の閲覧回数
rahmanuh
Contributor III

Hi,

Did you solve this? If so, could you share the solution?

Best regards,
Rahmanu

0 件の賞賛
返信

2,507件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Anjalik

i.MX8 linux power management is described in sect.2.5.1 Low Level Power Management (PM)

attached Linux Manual, which may be helpful for debugging.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信

2,508件の閲覧回数
anjalikkrishna
Contributor III

Hi Igor,

      Thank You for  the  reply.

     The system is suspending now after commenting the gpio0 node in the dtsi...Any idea what is the link between GPIO0 bank and SDIO suspend functionality?

 Also when resuming back , I am getting time out in sdhci_reset() with the below prints

[  579.856720] mmc1: Reset 0x4 never completed.
[  579.860990] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[  579.867429] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00000002
[  579.873875] mmc1: sdhci: Blk size:  0x00000040 | Blk cnt:  0x00000001
[  579.880322] mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000
[  579.886767] mmc1: sdhci: Present:   0x01fd8008 | Host ctl: 0x00000001
[  579.893214] mmc1: sdhci: Power:     0x00000000 | Blk gap:  0x00000080
[  579.899660] mmc1: sdhci: Wake-up:   0x00000008 | Clock:    0x000020af
[  579.906106] mmc1: sdhci: Timeout:   0x0000008f | Int stat: 0x00000000
[  579.912552] mmc1: sdhci: Int enab:  0x007f1003 | Sig enab: 0x007f1003
[  579.918998] mmc1: sdhci: AC12 err:  0x00000000 | Slot int: 0x00000502
[  579.925445] mmc1: sdhci: Caps:      0x07eb0000 | Caps_1:   0x8000b407
[  579.931891] mmc1: sdhci: Cmd:       0x0000371a | Max curr: 0x00ffffff
[  579.938337] mmc1: sdhci: Resp[0]:   0x00002000 | Resp[1]:  0x00000000
[  579.944783] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[  579.951228] mmc1: sdhci: Host ctl2: 0x00000000
[  579.955677] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x00000000
[  579.962121] mmc1: sdhci: ============================================
[  590.153104] mmc1: Timeout waiting for hardware cmd interrupt.
[  590.158868] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[  590.165316] mmc1: sdhci: Sys addr:  0x00000000 | Version:  0x00000002
[  590.171761] mmc1: sdhci: Blk size:  0x00000040 | Blk cnt:  0x00000001
[  590.178206] mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000
[  590.184653] mmc1: sdhci: Present:   0x01fd8009 | Host ctl: 0x00000001
[  590.191098] mmc1: sdhci: Power:     0x00000000 | Blk gap:  0x00000080
[  590.197544] mmc1: sdhci: Wake-up:   0x00000008 | Clock:    0x000020af
[  590.203991] mmc1: sdhci: Timeout:   0x0000008f | Int stat: 0x00000000
[  590.210437] mmc1: sdhci: Int enab:  0x007f1003 | Sig enab: 0x007f1003
[  590.216883] mmc1: sdhci: AC12 err:  0x00000000 | Slot int: 0x00000502
[  590.223330] mmc1: sdhci: Caps:      0x07eb0000 | Caps_1:   0x8000b407
[  590.229775] mmc1: sdhci: Cmd:       0x0000371a | Max curr: 0x00ffffff
[  590.236221] mmc1: sdhci: Resp[0]:   0x00002000 | Resp[1]:  0x00000000
[  590.242667] mmc1: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[  590.249112] mmc1: sdhci: Host ctl2: 0x00000000
[  590.253562] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x00000000
[  590.260006] mmc1: sdhci: ============================================
[  590.767140] mmc1: Reset 0x2 never completed.

This prints occur continuously for a pretty long time and then

mmc1: error -110 during resume (card was removed?)

print appears and the Wi-Fi driver shows IOCTL failed prints.

I tried to increase the timeout check window for sdhci reset and clock but the issue persists.

Any help would be  appreciated.

   

   

0 件の賞賛
返信

2,508件の閲覧回数
anjalikkrishna
Contributor III

After commenting gpio0 node in dtsi file, the system is suspending now

0 件の賞賛
返信