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 ]---