powervr lockdep warnings

Chen-Yu Tsai wenst at chromium.org
Fri May 10 08:43:14 UTC 2024


Hi,

I got the following lockdep warnings while trying to make the powervr
driver work on MT8173. This was observed while trying to run vkmark.
This was on the next-20240506 kernel running Debian Sid with the
Mesa 24.0.6 package rebuilt to include the powervr driver.


[73602.438144] ------------[ cut here ]------------
[73602.450563] WARNING: CPU: 3 PID: 2244 at
drivers/gpu/drm/drm_gpuvm.c:1874 drm_gpuva_unlink+0xec/0x140
[drm_gpuvm]
[73602.468778] Modules linked in: mtk_vcodec_dec mtk_vcodec_enc
v4l2_vp9 v4l2_h264 cdc_ether mtk_vcodec_dbgfs usbnet mtk_vcodec_common
mtk_jpeg uvcvideo mtk_scp powervr mtk_jpeg_enc_hw mtk_rpmsg mtk_mdp
rpmsg_core cros_ec_sensors mtk_jpeg_dec_hw mtk_scp_ipi
cros_ec_sensors_core videobuf2_vmalloc v4l2_mem2mem r8152 uvc
videobuf2_dma_contig videobuf2_v4l2 drm_gpuvm videobuf2_memops sha1_ce
videobuf2_common mii drm_exec cros_ec_sensorhub mtk_vpu joydev fuse
[73602.526113] CPU: 3 PID: 2244 Comm: vkmark Tainted: G        W
   6.9.0-rc7-next-20240506-11489-g2585d27380e4-dirty #217
b57080d80a375eadc1b59c661ce880f5be496816
[73602.549750] Hardware name: Google Elm (DT)
[73602.562503] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[73602.578257] pc : drm_gpuva_unlink+0xec/0x140 [drm_gpuvm]
[73602.592391] lr : drm_gpuva_unlink+0x12c/0x140 [drm_gpuvm]
[73602.606597] sp : ffffffc086aa7590
[73602.618660] x29: ffffffc086aa7590 x28: 0000008000000000 x27: ffffffc07ca59b98
[73602.634725] x26: ffffffc086aa7900 x25: 0000000000000000 x24: ffffff80c14c5980
[73602.650776] x23: ffffff80054cee08 x22: ffffff80c14c5d00 x21: ffffffc082f8a000
[73602.666878] x20: ffffff80d1c3a000 x19: ffffff80054cee00 x18: 0000000000000000
[73602.682898] x17: 0000000000000000 x16: 0000000000000000 x15: 0000007fc6e28c90
[73602.698907] x14: 1ffffff810d54ea4 x13: 0000000041b58ab3 x12: ffffffb019c8f00c
[73602.714919] x11: 1ffffff019c8f00b x10: ffffffb019c8f00b x9 : ffffffc07ca1dff8
[73602.730964] x8 : 0000004fe6370ff5 x7 : ffffff80ce47805b x6 : 0000000000000001
[73602.746942] x5 : ffffff80ce478058 x4 : ffffff80ce478058 x3 : 0000000000000000
[73602.762920] x2 : 0000000000000000 x1 : ffffff80d1c3a1a0 x0 : 0000000000000000
[73602.778793] Call trace:
[73602.789746]  drm_gpuva_unlink+0xec/0x140 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73602.807036]  pvr_vm_gpuva_unmap+0x88/0xb0 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73602.824299]  op_unmap_cb.isra.0+0xbc/0x108 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73602.841559]  __drm_gpuvm_sm_unmap+0x288/0x2c0 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73602.858863]  drm_gpuvm_sm_unmap+0x78/0xb8 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73602.875693]  pvr_vm_bind_op_exec+0x6c/0x118 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73602.892483]  pvr_vm_unmap+0x1f8/0x238 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73602.908746]  pvr_ioctl_vm_unmap+0x80/0xb8 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73602.925386]  drm_ioctl_kernel+0x140/0x1d0
[73602.937503]  drm_ioctl+0x3e8/0x7e0
[73602.948949]  __arm64_sys_ioctl+0xec/0x118
[73602.960993]  invoke_syscall+0x68/0x198
[73602.972749]  el0_svc_common.constprop.0+0x80/0x150
[73602.985561]  do_el0_svc+0x38/0x50
[73602.996856]  el0_svc+0x4c/0xc0
[73603.007821]  el0t_64_sync_handler+0x120/0x130
[73603.020096]  el0t_64_sync+0x1a8/0x1b0
[73603.031606] irq event stamp: 153208
[73603.042881] hardirqs last  enabled at (153207):
[<ffffffc081475b30>] _raw_spin_unlock_irqrestore+0x98/0xa8
[73603.060595] hardirqs last disabled at (153208):
[<ffffffc081461a00>] el1_dbg+0x28/0x90
[73603.076534] softirqs last  enabled at (153032):
[<ffffffc08001a714>] fpsimd_restore_current_state+0x4c/0xf8
[73603.094345] softirqs last disabled at (153030):
[<ffffffc08001a6e4>] fpsimd_restore_current_state+0x1c/0xf8
[73603.112041] ---[ end trace 0000000000000000 ]---
[73603.125721] ------------[ cut here ]------------
[73603.165947] WARNING: CPU: 0 PID: 2244 at
drivers/gpu/drm/drm_gpuvm.c:1514 drm_gpuvm_bo_put.part.0+0x1c0/0x4d0
[drm_gpuvm]
[73603.213280] Modules linked in: mtk_vcodec_dec mtk_vcodec_enc
v4l2_vp9 v4l2_h264 cdc_ether mtk_vcodec_dbgfs usbnet mtk_vcodec_common
mtk_jpeg uvcvideo mtk_scp powervr mtk_jpeg_enc_hw mtk_rpmsg mtk_mdp
rpmsg_core cros_ec_sensors mtk_jpeg_dec_hw mtk_scp_ipi
cros_ec_sensors_core videobuf2_vmalloc v4l2_mem2mem r8152 uvc
videobuf2_dma_contig videobuf2_v4l2 drm_gpuvm videobuf2_memops sha1_ce
videobuf2_common mii drm_exec cros_ec_sensorhub mtk_vpu joydev fuse
[73603.332160] CPU: 0 PID: 2244 Comm: vkmark Tainted: G        W
   6.9.0-rc7-next-20240506-11489-g2585d27380e4-dirty #217
b57080d80a375eadc1b59c661ce880f5be496816
[73603.386774] Hardware name: Google Elm (DT)
[73603.429641] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[73603.475694] pc : drm_gpuvm_bo_put.part.0+0x1c0/0x4d0 [drm_gpuvm]
[73603.520680] lr : drm_gpuvm_bo_put.part.0+0x49c/0x4d0 [drm_gpuvm]
[73603.565596] sp : ffffffc086aa7540
[73603.607495] x29: ffffffc086aa7540 x28: 0000008000000000 x27: ffffffc07ca59b98
[73603.653971] x26: ffffffc082f8ae24 x25: ffffff80c14c59c8 x24: ffffffc07ca59b60
[73603.700424] x23: ffffff80c14c59c8 x22: ffffffc082f8a000 x21: ffffff80d1c3a000
[73603.746907] x20: ffffff80ce478010 x19: ffffff80c14c5980 x18: 0000000000000000
[73603.793539] x17: 0000000000000000 x16: 0000000000000000 x15: 0000007fc6e28c90
[73603.840321] x14: 1ffffff810d54e60 x13: 0000000041b58ab3 x12: ffffffb019c8f02c
[73603.887322] x11: 1ffffff019c8f02b x10: ffffffb019c8f02b x9 : dfffffc000000000
[73603.934480] x8 : 0000004fe6370fd5 x7 : ffffff80ce478158 x6 : 0000000000000001
[73603.981343] x5 : ffffff80ce478158 x4 : ffffffb019c8f02c x3 : 0000000000000000
[73604.028173] x2 : 0000000000000000 x1 : ffffff80d1c3a1a0 x0 : 0000000000000000
[73604.074920] Call trace:
[73604.116427]  drm_gpuvm_bo_put.part.0+0x1c0/0x4d0 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73604.165828]  drm_gpuva_unlink+0xfc/0x140 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73604.214815]  pvr_vm_gpuva_unmap+0x88/0xb0 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73604.263747]  op_unmap_cb.isra.0+0xbc/0x108 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73604.311722]  __drm_gpuvm_sm_unmap+0x288/0x2c0 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73604.358926]  drm_gpuvm_sm_unmap+0x78/0xb8 [drm_gpuvm
bbf6d948c0b434a2936abb76cd7734fb954b4801]
[73604.404827]  pvr_vm_bind_op_exec+0x6c/0x118 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73604.450483]  pvr_vm_unmap+0x1f8/0x238 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73604.495629]  pvr_ioctl_vm_unmap+0x80/0xb8 [powervr
3ad437ff1d69ca6bbe76c29aac5b59cf4d3e54e4]
[73604.541253]  drm_ioctl_kernel+0x140/0x1d0
[73604.581936]  drm_ioctl+0x3e8/0x7e0
[73604.621751]  __arm64_sys_ioctl+0xec/0x118
[73604.662115]  invoke_syscall+0x68/0x198
[73604.702215]  el0_svc_common.constprop.0+0x80/0x150
[73604.743445]  do_el0_svc+0x38/0x50
[73604.782981]  el0_svc+0x4c/0xc0
[73604.822048]  el0t_64_sync_handler+0x120/0x130
[73604.862456]  el0t_64_sync+0x1a8/0x1b0
[73604.901872] irq event stamp: 153240
[73604.940864] hardirqs last  enabled at (153239):
[<ffffffc081461818>] exit_to_kernel_mode+0x40/0x128
[73604.986615] hardirqs last disabled at (153240):
[<ffffffc081461a00>] el1_dbg+0x28/0x90
[73605.031143] softirqs last  enabled at (153232):
[<ffffffc0800f7308>] handle_softirqs+0x6d8/0x708
[73605.076567] softirqs last disabled at (153211):
[<ffffffc080010484>] __do_softirq+0x1c/0x28
[73605.121199] ---[ end trace 0000000000000000 ]---


More information about the dri-devel mailing list