Other Parts Discussed in Thread: UKERNEL, TPS65218
Tool/software: Linux
Hi,
I am experiencing a crash when unloading the pvrsrvkm module (eg, when system poweroff is happening).
The graphics driver loads and works, I can run a Qt app using eglfs platform. (note crash occurs regardless of whether any app is run or not). When the module is unloaded it crashes and prevents the system from shutting down.
I am using the beagle bone kernel (Robert C Nelsons) based on 4.14.40 with a custom dtb file. The rootfs is built with yocto/poky, the powervr drivers come from the meta-ti layer (ti-sgx-ddk-km_1.14.3699939)
Following is the crash dump output, some info from dmesg and modinfo of the pvrsrvkm.ko
Has anyone has similar issue with 4.14?
does the crash dump give anyone a clue as to whats happening?
Cheers,
Marc
---------------------------------------------------
# [ 1601.983432] PVR_K:(Error): PollForValueKM: Timeout. Expected 0x8 but found 0x0 (mask 0x8).
[ 1601.991767] PVR_K:(Error): SGXPrePowerState: Wait for SGX ukernel power transition failed.
[ 1602.000106] PVR_K: SGX debug (SGX_DDK sgxddk MAIN@3699939)
[ 1602.005637] PVR_K: Host Ctl flags= 00000006
[ 1602.009931] PVR_K: SGX Host control:
[ 1602.013542] PVR_K: (HC-0) 0x00000001 0x00000000 0x00000000 0x00000000
[ 1602.020102] PVR_K: (HC-10) 0x00000000 0x00000000 0x0000000A 0x00030D40
[ 1602.026769] PVR_K: (HC-20) 0x00000000 0x00000004 0x00000006 0x00000000
[ 1602.033431] PVR_K: (HC-30) 0x00000000 0x00182619 0xEF365CB0 0x00000000
[ 1602.040081] PVR_K: (HC-40) 0x00000000 0x00000000 0x00000098 0x00000000
[ 1602.046741] PVR_K: SGX TA/3D control:
[ 1602.050422] PVR_K: (T3C-0) 0x0F003000 0x0F003140 0x0F002000 0x00000000
[ 1602.057088] PVR_K: (T3C-10) 0x00000000 0x00000000 0x00000002 0x00000000
[ 1602.063838] PVR_K: (T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.070571] PVR_K: (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.077324] PVR_K: (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.084073] PVR_K: (T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.090811] PVR_K: (T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.097561] PVR_K: (T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.104315] PVR_K: (T3C-80) 0x00000000 0x00000000 0x00000000 0x0F000000
[ 1602.111047] PVR_K: (T3C-90) 0x9E68C000 0x00000000 0x00000000 0x00000000
[ 1602.117797] PVR_K: (T3C-A0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.124550] PVR_K: (T3C-B0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.131282] PVR_K: (T3C-C0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.138036] PVR_K: (T3C-D0) 0x0F000000 0x8000B000 0x8004B000 0x0F004000
[ 1602.144787] PVR_K: (T3C-E0) 0x0F00A420 0x0F00A740 0x00000000 0x00000000
[ 1602.151519] PVR_K: (T3C-F0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.158272] PVR_K: (T3C-100) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.165110] PVR_K: (T3C-110) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.171936] PVR_K: (T3C-120) 0x00000000 0x00000000 0x00000000 0x00000000
[ 1602.178771] PVR_K: SGX Kernel CCB WO:0x4E RO:0x4C
[ 1602.183513] PVR_K: Active syncs
[ 1602.186675] Unhandled fault: external abort on non-linefetch (0x1008) at 0xe0650004
[ 1602.194365] pgd = de4c8000
[ 1602.197080] [e0650004] *pgd=9e695811, *pte=56000653, *ppte=56000453
[ 1602.203392] Internal error: : 1008 [#1] SMP ARM
[ 1602.207941] Modules linked in: nfc bnep bluetooth ecdh_generic rfkill pvrsrvkm(O-) tps65218_pwrbutton [last unloaded: bc_example]
[ 1602.219677] CPU: 0 PID: 758 Comm: rmmod Tainted: G O 4.14.40-yocto-standard-dtc1 #1
[ 1602.228498] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 1602.234616] task: df08a040 task.stack: de4cc000
[ 1602.239446] PC is at PollForValueKM+0x8/0xf0 [pvrsrvkm]
[ 1602.244810] LR is at SGXPrePowerState.part.2+0x14c/0x1e0 [pvrsrvkm]
[ 1602.251104] pc : [<bf0157c0>] lr : [<bf025500>] psr: 60060013
[ 1602.257396] sp : de4cdde4 ip : e0650000 fp : 00000001
[ 1602.262641] r10: 00000008 r9 : de180900 r8 : 000f4240
[ 1602.267886] r7 : c0e03d48 r6 : 00000000 r5 : 00000000 r4 : df77e000
[ 1602.274440] r3 : 000f4240 r2 : ffffffff r1 : 00000000 r0 : e0650004
[ 1602.280995] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 1602.288160] Control: 10c5387d Table: 9e4c8019 DAC: 00000051
[ 1602.293930] Process rmmod (pid: 758, stack limit = 0xde4cc218)
[ 1602.299787] Stack: (0xde4cdde4 to 0xde4ce000)
[ 1602.304165] dde0: df77e000 00000000 00000000 c0e03d48 00000002 de180900 00000008
[ 1602.312379] de00: 00000001 bf025500 00000032 00000000 00000000 df94ac00 df430680 00000000
[ 1602.320593] de20: 00000000 00000000 00000001 00000000 00000000 00000000 00000000 15a077ee
[ 1602.328808] de40: de57e1c0 00000002 bf0143e0 00000000 bf058eb8 de4cc000 00000000 bf014448
[ 1602.337023] de60: c0e03d48 de4cde90 bf0143e0 bf013c5c de4cde90 15a077ee 00000000 00000002
[ 1602.345237] de80: 00000000 bf058e50 bf0146b4 bf0143e0 00000000 00000000 00000002 00000002
[ 1602.353453] dea0: 00000001 00000000 de180900 00000000 df17bc44 bf0156e4 00000000 a0060093
[ 1602.361668] dec0: bf058de8 00000000 bf038218 df17bc44 df146a44 bf01d46c df7d7000 df7d7000
[ 1602.369883] dee0: bf038218 bf00b150 df7d7000 c04e0018 df17bc00 df7d7000 bf038218 bf0292dc
[ 1602.378098] df00: df17bc10 df17bc10 bf038218 c0522804 df17bc10 df146a10 bf038218 c05215cc
[ 1602.386313] df20: df17bc10 bf038218 00000800 0003d174 c0107f64 c0521750 bf038218 c0e03d48
[ 1602.394530] df40: 00000800 c05206ac bf0384c0 c01ae2b8 73727670 6d6b7672 00000000 00000000
[ 1602.402746] df60: 00000011 df08a4ac df08a040 c0ec92b4 df08a4ac df08a040 df08a4ac df08a040
[ 1602.410961] df80: 00000001 c01512b0 00107f64 15a077ee c0107f64 00000002 befb5c48 00000000
[ 1602.419177] dfa0: 00000081 c0107d80 00000002 befb5c48 0003d174 00000800 00000064 00000000
[ 1602.427393] dfc0: 00000002 befb5c48 00000000 00000081 befb5f20 0003d138 befb5e2c 00000001
[ 1602.435608] dfe0: b6f14640 befb5c04 0001fc54 b6f1464c 60060010 0003d174 e30032c6 e19430b3
[ 1602.443951] [<bf0157c0>] (PollForValueKM [pvrsrvkm]) from [<00000000>] ( (null))
[ 1602.451479] Code: bf02eb10 bf02eb4e e92d4ff0 e1a08003 (e5903000)
[ 1602.457603] ---[ end trace 709ede157791b04e ]---
/etc/rc0.d/K08rc.pvr: line 75: 758 Segmentation fault rmmod pvrsrvkm
Couldn't unload modules
# dmesg | grep pvr
[ 5.468884] pvrsrvkm: loading out-of-tree module taints kernel.
[ 5.529941] bus: 'platform': add driver pvrsrvkm
[ 5.530160] bus: 'platform': driver_probe_device: matched device 56000000.sgx with driver pvrsrvkm
[ 5.530178] bus: 'platform': really_probe: probing driver pvrsrvkm with device 56000000.sgx
[ 5.530217] pvrsrvkm 56000000.sgx: no pinctrl handle
[ 5.560992] [drm] Initialized pvr 1.14.3699939 20110701 for 56000000.sgx on minor 1
[ 5.568899] driver: 'pvrsrvkm': driver_bound: bound to device '56000000.sgx'
[ 5.598523] bus: 'platform': really_probe: bound device 56000000.sgx to driver pvrsrvkm
# dmesg | grep PVR
[ 18.335875] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
# modinfo pvrsrvkm
filename: /lib/modules/4.14.40-yocto-standard-dtc1/extra/pvrsrvkm.ko
license: Dual MIT/GPL
author: Imagination Technologies Ltd. <gpl-support@imgtec.com>
license: Dual MIT/GPL
author: Imagination Technologies Ltd. <gpl-support@imgtec.com>
srcversion: 533BB7E5866E52F63B9ACCB
alias: of:N*T*Cti,am3352-sgx530C*
alias: of:N*T*Cti,am3352-sgx530
depends:
name: pvrsrvkm
vermagic: 4.14.40-yocto-standard-dtc1 SMP mod_unload modversions ARMv7 p2v8
parm: gPVRDebugLevel:Sets the level of debug output (default 0x7) (uint)