[Openpvrsgx-devgroup] [Letux-kernel] letux v5.4 + suspend

Andreas Kemnade andreas at kemnade.info
Wed Nov 27 22:05:12 CET 2019


On Wed, 27 Nov 2019 21:49:16 +0100
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:

> > Am 27.11.2019 um 21:38 schrieb Andreas Kemnade <andreas at kemnade.info>:
> > 
> > Hi,
> > 
> > On Tue, 26 Nov 2019 23:01:08 +0100
> > Andreas Kemnade <andreas at kemnade.info> wrote:
> >   
> >> Hi,
> >> 
> >> while I get down to the typical 26mA idle current on GTA04A5, I do not
> >> wake up from suspend there. 
> >> Not investigated yet.
> >>   
> > Played around on the letux3704:
> > 
> > init=/bin/bash
> > mounting sysfs, proc
> > /etc/rcS.d/udev start
> > 
> > and then doing rtcwake -s 20 -m mem
> > does not wake up
> > 
> > rm -rf /lib/modules/5.4.0-letux+/kernel/drivers/gpu/drm/pvrsgx
> > 
> > fixes the issue.  
> 
> Important finding. So this means the SGX driver stops wakeup from suspend?
> I have added Tony and the openpvrsgx mailing list.
> 
> For more dynamic tests you could
> * boot
> * lsmod | grep pvrsgx
> * echo blacklist pvrsrvkm_driver_name >/etc/modprobe.d/pvr.conf
> * reboot
> * modprobe pvrsrvkm_driver_name to see what it does influence
> 
well, no_console_suspend gives more interesting results:
[  296.323822] Freezing user space processes ... (elapsed 0.001 seconds) done.
[  296.342559] OOM killer disabled.
[  296.350738] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  296.374755] dmtimer posted=0
[  296.456512] wwan_on_off_suspend: WWAN suspend
[  296.473388] ------------[ cut here ]------------
[  296.478881] WARNING: CPU: 0 PID: 1410 at drivers/gpu/drm/drm_modeset_lock.c:266 modeset_lock+0xc8/0xf4 [drm]
[  296.489410] Modules linked in: omapdrm libertas_sdio libertas cfg80211 snd_soc_simple_card snd_soc_simple_card_utils snd_soc_omap_twl4030 wwan_on_off panel_simple encoder_opa362 pvrsrvkmy
[  296.575866] CPU: 0 PID: 1410 Comm: rtcwake Not tainted 5.4.0-letux+ #3
[  296.582794] Hardware name: Generic OMAP36xx (Flattened Device Tree)
[  296.589508] [<c010fe8c>] (unwind_backtrace) from [<c010b28c>] (show_stack+0x10/0x14)
[  296.597717] [<c010b28c>] (show_stack) from [<c07ca8d0>] (dump_stack+0x88/0xa8)
[  296.605407] [<c07ca8d0>] (dump_stack) from [<c013130c>] (__warn+0xcc/0xe8)
[  296.612701] [<c013130c>] (__warn) from [<c01316c8>] (warn_slowpath_fmt+0x74/0xa0)
[  296.621002] [<c01316c8>] (warn_slowpath_fmt) from [<bf03d2b0>] (modeset_lock+0xc8/0xf4 [drm])
[  296.630706] [<bf03d2b0>] (modeset_lock [drm]) from [<bf03d370>] (drm_modeset_lock_all_ctx+0x14/0xb4 [drm])
[  296.641540] [<bf03d370>] (drm_modeset_lock_all_ctx [drm]) from [<bf280d54>] (drm_atomic_helper_suspend+0x34/0xc8 [drm_kms_helper])
[  296.654357] [<bf280d54>] (drm_atomic_helper_suspend [drm_kms_helper]) from [<bf28406c>] (drm_mode_config_helper_suspend+0x28/0x5c [drm_kms_helper])
[  296.669006] [<bf28406c>] (drm_mode_config_helper_suspend [drm_kms_helper]) from [<bf2d4a50>] (pvr_suspend+0x18/0x48 [pvrsrvkm_omap3630_sgx530_125])
[  296.683349] [<bf2d4a50>] (pvr_suspend [pvrsrvkm_omap3630_sgx530_125]) from [<c0539380>] (dpm_run_callback+0x28/0x54)
[  296.694488] [<c0539380>] (dpm_run_callback) from [<c053abec>] (__device_suspend_noirq+0xec/0x258)
[  296.703887] [<c053abec>] (__device_suspend_noirq) from [<c053adf4>] (dpm_suspend_noirq+0x9c/0x194)
[  296.713409] [<c053adf4>] (dpm_suspend_noirq) from [<c0172dbc>] (suspend_devices_and_enter+0x168/0x504)
[  296.723266] [<c0172dbc>] (suspend_devices_and_enter) from [<c0173330>] (pm_suspend+0x1d8/0x270)
[  296.732482] [<c0173330>] (pm_suspend) from [<c0171d28>] (state_store+0x9c/0xcc)
[  296.740264] [<c0171d28>] (state_store) from [<c02caa60>] (kernfs_fop_write+0x144/0x1b0)
[  296.748748] [<c02caa60>] (kernfs_fop_write) from [<c0255f38>] (__vfs_write+0x28/0xe0)
[  296.757080] [<c0255f38>] (__vfs_write) from [<c02573b4>] (vfs_write+0x98/0xbc)
[  296.764739] [<c02573b4>] (vfs_write) from [<c025753c>] (ksys_write+0x68/0xb4)
[  296.772308] [<c025753c>] (ksys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x54)
[  296.780395] Exception stack(0xcf349fa8 to 0xcf349ff0)
[  296.785766] 9fa0:                   00000004 b6f00000 00000004 b6f00000 00000004 00000000
[  296.794433] 9fc0: 00000004 b6f00000 000260d0 00000004 00000004 00000000 00013978 be828c7b
[  296.803070] 9fe0: 00000000 be828b7c b6e3ec3d b6e77cf6
[  296.808746] ---[ end trace d4a3f2367acac9b7 ]---
[  296.813751] 8<--- cut here ---
[  296.817016] Unable to handle kernel NULL pointer dereference at virtual address 0000000c
[  296.825653] pgd = 7d1f9ddb
[  296.828552] [0000000c] *pgd=8f41e831, *pte=00000000, *ppte=00000000
[  296.835296] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
[  296.841003] Modules linked in: omapdrm libertas_sdio libertas cfg80211 snd_soc_simple_card snd_soc_simple_card_utils snd_soc_omap_twl4030 wwan_on_off panel_simple encoder_opa362 pvrsrvkmy
[  296.927215] CPU: 0 PID: 1410 Comm: rtcwake Tainted: G        W         5.4.0-letux+ #3
[  296.935577] Hardware name: Generic OMAP36xx (Flattened Device Tree)
[  296.942230] PC is at atomic_cmpxchg_relaxed+0xc/0x28
[  296.947509] LR is at atomic_cmpxchg_relaxed+0xc/0x28
[  296.952758] pc : [<c016ddfc>]    lr : [<c016ddfc>]    psr: 600d0013
[  296.959411] sp : cf349d30  ip : 00000000  fp : c053aeec
[  296.964935] r10: c0c6abe0  r9 : c0cd90d4  r8 : cf3c85bc
[  296.970458] r7 : 00000000  r6 : cf349d8c  r5 : 0000000c  r4 : cf349d40
[  296.977355] r3 : 0000000c  r2 : de2a7300  r1 : 00000000  r0 : 0000000c
[  296.984283] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[  296.991851] Control: 10c5387d  Table: 8f36c019  DAC: 00000051
[  296.997924] Process rtcwake (pid: 1410, stack limit = 0x426df07e)
[  297.004364] Stack: (0xcf349d30 to 0xcf34a000)
[  297.009002] 9d20:                                     cf349d40 c016e0f8 c0c03f48 c07e1bc4
[  297.017669] 9d40: 00000000 b3f91946 0000000c cf349d8c 00000000 bf03d2cc cf3c8400 fffffff8
[  297.026336] 9d60: 00000000 cf349d8c cf3c85bc bf03d394 cf3c8400 ffffffea c0c03f48 cf3c8400
[  297.035003] 9d80: bf2d4a38 bf280d54 600d0013 de2a7300 00000477 00000001 00000000 00000000
[  297.043670] 9da0: cf3c8508 cf3c8508 00000000 b3f91946 00000000 cf3c8400 cf3c8400 bf2d4a38
[  297.052337] 9dc0: 00000002 bf28406c dc65a810 dc65a800 bf2d4a38 bf2d4a50 bf2d4a38 dc65a810
[  297.061004] 9de0: bf2d4a38 c0539380 dc65a810 c0c03f48 00000001 c053abec c0979824 b3f91946
[  297.069671] 9e00: 00000000 00000000 c0cd90d4 dc65a810 dc65a890 00000002 c0c6abc4 c053adf4
[  297.078338] 9e20: 00000002 c0ca40c0 00000000 c0cad048 c0cd90d4 c0c03f48 00000003 c0c03f48
[  297.087005] 9e40: c0ca404c 00000000 be828c7b c0172dbc 00000003 00000003 c0c04370 b3f91946
[  297.095672] 9e60: 00000000 c0cd90d4 c0c03f48 00000003 c0ca404c c0cad05c 00000004 c0173330
[  297.104339] 9e80: 00000006 b3f91946 00000003 00000003 00000004 cf42b900 c0925847 c0171d28
[  297.113006] 9ea0: 00000004 cf31a880 cf42b900 cf349f70 cf31a890 00000051 00000004 c02caa60
[  297.121673] 9ec0: 00000000 00000000 00000004 c0c03f48 00000004 00000000 b6f00000 c02ca91c
[  297.130340] 9ee0: b6f00000 c0255f38 000b6f00 b6f00000 cf36edb8 cf36edb8 00000000 00000000
[  297.139007] 9f00: 00000000 00000000 cf512400 dfbdb254 00000000 b3f91946 c0c03f48 cf349fb0
[  297.147674] 9f20: de27e840 c03ca134 c09b9abc de27e840 00000002 b6f00000 cf349f70 b3f91946
[  297.156341] 9f40: de27e840 00000004 00000000 b6f00000 cf349f70 c02573b4 de27e840 b6f00000
[  297.165008] 9f60: cf349f70 c0c03f48 cf349f7c c025753c 00000000 00000000 00000003 de27e840
[  297.173675] 9f80: 00000000 b3f91946 00000004 b6f00000 000260d0 00000004 c0101204 cf348000
[  297.182342] 9fa0: 00000004 c0101000 00000004 b6f00000 00000004 b6f00000 00000004 00000000
[  297.191009] 9fc0: 00000004 b6f00000 000260d0 00000004 00000004 00000000 00013978 be828c7b
[  297.199676] 9fe0: 00000000 be828b7c b6e3ec3d b6e77cf6 400d0030 00000004 00000000 00000000
[  297.208374] [<c016ddfc>] (atomic_cmpxchg_relaxed) from [<c016e0f8>] (atomic_try_cmpxchg_acquire.constprop.12+0x10/0x28)
[  297.219787] [<c016e0f8>] (atomic_try_cmpxchg_acquire.constprop.12) from [<c07e1bc4>] (ww_mutex_lock+0x38/0x74)
[  297.230804] [<c07e1bc4>] (ww_mutex_lock) from [<bf03d2cc>] (modeset_lock+0xe4/0xf4 [drm])
[  297.240173] [<bf03d2cc>] (modeset_lock [drm]) from [<bf03d394>] (drm_modeset_lock_all_ctx+0x38/0xb4 [drm])
[  297.250976] [<bf03d394>] (drm_modeset_lock_all_ctx [drm]) from [<bf280d54>] (drm_atomic_helper_suspend+0x34/0xc8 [drm_kms_helper])
[  297.263641] [<bf280d54>] (drm_atomic_helper_suspend [drm_kms_helper]) from [<bf28406c>] (drm_mode_config_helper_suspend+0x28/0x5c [drm_kms_helper])
[  297.278106] [<bf28406c>] (drm_mode_config_helper_suspend [drm_kms_helper]) from [<bf2d4a50>] (pvr_suspend+0x18/0x48 [pvrsrvkm_omap3630_sgx530_125])
[  297.292510] [<bf2d4a50>] (pvr_suspend [pvrsrvkm_omap3630_sgx530_125]) from [<c0539380>] (dpm_run_callback+0x28/0x54)
[  297.303771] [<c0539380>] (dpm_run_callback) from [<c053abec>] (__device_suspend_noirq+0xec/0x258)
[  297.313232] [<c053abec>] (__device_suspend_noirq) from [<c053adf4>] (dpm_suspend_noirq+0x9c/0x194)
[  297.322814] [<c053adf4>] (dpm_suspend_noirq) from [<c0172dbc>] (suspend_devices_and_enter+0x168/0x504)
[  297.332672] [<c0172dbc>] (suspend_devices_and_enter) from [<c0173330>] (pm_suspend+0x1d8/0x270)
[  297.341888] [<c0173330>] (pm_suspend) from [<c0171d28>] (state_store+0x9c/0xcc)
[  297.349670] [<c0171d28>] (state_store) from [<c02caa60>] (kernfs_fop_write+0x144/0x1b0)
[  297.358154] [<c02caa60>] (kernfs_fop_write) from [<c0255f38>] (__vfs_write+0x28/0xe0)
[  297.366485] [<c0255f38>] (__vfs_write) from [<c02573b4>] (vfs_write+0x98/0xbc)
[  297.374145] [<c02573b4>] (vfs_write) from [<c025753c>] (ksys_write+0x68/0xb4)
[  297.381713] [<c025753c>] (ksys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x54)
[  297.389801] Exception stack(0xcf349fa8 to 0xcf349ff0)
[  297.395172] 9fa0:                   00000004 b6f00000 00000004 b6f00000 00000004 00000000
[  297.403839] 9fc0: 00000004 b6f00000 000260d0 00000004 00000004 00000000 00013978 be828c7b
[  297.412506] 9fe0: 00000000 be828b7c b6e3ec3d b6e77cf6
[  297.417877] Code: e12fff1e e92d4010 e1a03000 ebfffffa (e1930f9f) 
[  297.424743] ---[ end trace d4a3f2367acac9b8 ]---

Regards,
Andreas


More information about the openpvrsgx-devgroup mailing list