Hi,
I have a problem to enter the suspend mode on my im8mp with Kernel 5.15.52
On my evalboard with a Kernel 5.10.72 everything works fine:
root@phyboard-pollux-imx8mp-2:~# uname -a
Linux phyboard-pollux-imx8mp-2 5.10.72-bsp-yocto-nxp-i.mx8mp-pd22.1.0 #1 SMP PREEMPT Mon Jul 18 13:32:41 UTC 2022 aarch64 GNU/Linux
root@phyboard-pollux-imx8mp-2:~# echo mem > /sys/power/state
[ 96.834546] PM: suspend entry (deep)
[ 96.849167] Filesystems sync: 0.011 seconds
[ 96.924803] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 96.933169] OOM killer disabled.
[ 96.936405] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 97.242436] PM: suspend devices took 0.296 seconds
[ 97.249991] Disabling non-boot CPUs ...
[ 97.254351] CPU1: shutdown
[ 97.257081] psci: CPU1 killed (polled 0 ms)
[ 97.262697] CPU2: shutdown
[ 97.265439] psci: CPU2 killed (polled 0 ms)
[ 97.271018] CPU3: shutdown
[ 97.273734] psci: CPU3 killed (polled 0 ms)
On the same evalboard with Kernel 5.15.52 it stucks after "PM: suspend devices..."
root@ /home/user$ uname -a
Linux hmi 5.15.52 #1 SMP PREEMPT Mon Jan 9 14:24:04 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
root@ /home/user$ echo mem > /sys/power/state
[ 455.034722] PM: suspend entry (deep)
[ 455.042950] Filesystems sync: 0.004 seconds
[ 455.115887] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 455.124559] OOM killer disabled.
[ 455.127795] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 455.138435] imx-dwmac 30bf0000.ethernet eth1: Link is Down
[ 455.144013] imx-dwmac 30bf0000.ethernet eth1: FPE workqueue stop
[ 455.215416] fec 30be0000.ethernet eth0: Link is Down
[ 455.266494] PM: suspend devices took 0.132 seconds
It looks like that the cpu does not reach the suspend mode.
After ~50s additional informations were print to the console:
[ 550.390404] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[ 550.396515] rcu: 0-...0: (5 ticks this GP) idle=c5b/1/0x4000000000000000 softirq=6921/6922 fqs=2625
[ 550.405740] (detected by 2, t=5252 jiffies, g=8085, q=2)
[ 550.411139] Task dump for CPU 0:
[ 550.414367] task:bash state:R running task stack: 0 pid: 970 ppid: 969 flags:0x0000020e
[ 550.424286] Call trace:
[ 550.426729] __switch_to+0x108/0x160
[ 550.430316] schedule+0x74/0x110
And some time later the system resets.
Any ideas how I can debug that. Or what tools I can use to find the reason? I don't know how to isolate the issue.
Thanks
Solved! Go to Solution.
I found a way to get more debug informations.
echo 1 > /sys/power/pm_debug_messages
echo 1 > /sys/power/pm_print_times
echo mem > /sys/power/state
I figgure out that my device always stops at
imx-blk-ctrl 32fc0000.hdmi-blk-ctrl: PM: calling genpd_suspend_noirq+0x0/0x30 @ 909, parent: 30c00000.bus
So I suppose it has something to do with the hdmi part. I will do further investigations.