Skip to content

Commit 4d14a74

Browse files
mukjoshialexdeucher
authored andcommitted
Revert "drm/amdgpu: Add missing locking for MES API calls"
This reverts commit 3612702. This is causing a BUG message during suspend. [ 61.603542] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:283 [ 61.603550] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 2028, name: kworker/u64:14 [ 61.603553] preempt_count: 1, expected: 0 [ 61.603555] RCU nest depth: 0, expected: 0 [ 61.603557] Preemption disabled at: [ 61.603559] [<ffffffffc08a3261>] amdgpu_gfx_disable_kgq+0x61/0x160 [amdgpu] [ 61.603789] CPU: 9 PID: 2028 Comm: kworker/u64:14 Tainted: G W 6.8.0+ svenkatr#7 [ 61.603795] Workqueue: events_unbound async_run_entry_fn [ 61.603801] Call Trace: [ 61.603803] <TASK> [ 61.603806] dump_stack_lvl+0x37/0x50 [ 61.603811] ? amdgpu_gfx_disable_kgq+0x61/0x160 [amdgpu] [ 61.604007] dump_stack+0x10/0x20 [ 61.604010] __might_resched+0x16f/0x1d0 [ 61.604016] __might_sleep+0x43/0x70 [ 61.604020] mutex_lock+0x1f/0x60 [ 61.604024] amdgpu_mes_unmap_legacy_queue+0x6d/0x100 [amdgpu] [ 61.604226] gfx11_kiq_unmap_queues+0x3dc/0x430 [amdgpu] [ 61.604422] ? srso_alias_return_thunk+0x5/0xfbef5 [ 61.604429] amdgpu_gfx_disable_kgq+0x122/0x160 [amdgpu] [ 61.604621] gfx_v11_0_hw_fini+0xda/0x100 [amdgpu] [ 61.604814] gfx_v11_0_suspend+0xe/0x20 [amdgpu] [ 61.605008] amdgpu_device_ip_suspend_phase2+0x135/0x1d0 [amdgpu] [ 61.605175] amdgpu_device_suspend+0xec/0x180 [amdgpu] Signed-off-by: Mukul Joshi <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent dcf5e17 commit 4d14a74

File tree

1 file changed

+0
-12
lines changed

1 file changed

+0
-12
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -801,9 +801,7 @@ int amdgpu_mes_map_legacy_queue(struct amdgpu_device *adev,
801801
queue_input.mqd_addr = amdgpu_bo_gpu_offset(ring->mqd_obj);
802802
queue_input.wptr_addr = ring->wptr_gpu_addr;
803803

804-
amdgpu_mes_lock(&adev->mes);
805804
r = adev->mes.funcs->map_legacy_queue(&adev->mes, &queue_input);
806-
amdgpu_mes_unlock(&adev->mes);
807805
if (r)
808806
DRM_ERROR("failed to map legacy queue\n");
809807

@@ -826,9 +824,7 @@ int amdgpu_mes_unmap_legacy_queue(struct amdgpu_device *adev,
826824
queue_input.trail_fence_addr = gpu_addr;
827825
queue_input.trail_fence_data = seq;
828826

829-
amdgpu_mes_lock(&adev->mes);
830827
r = adev->mes.funcs->unmap_legacy_queue(&adev->mes, &queue_input);
831-
amdgpu_mes_unlock(&adev->mes);
832828
if (r)
833829
DRM_ERROR("failed to unmap legacy queue\n");
834830

@@ -849,13 +845,11 @@ uint32_t amdgpu_mes_rreg(struct amdgpu_device *adev, uint32_t reg)
849845
goto error;
850846
}
851847

852-
amdgpu_mes_lock(&adev->mes);
853848
r = adev->mes.funcs->misc_op(&adev->mes, &op_input);
854849
if (r)
855850
DRM_ERROR("failed to read reg (0x%x)\n", reg);
856851
else
857852
val = *(adev->mes.read_val_ptr);
858-
amdgpu_mes_unlock(&adev->mes);
859853

860854
error:
861855
return val;
@@ -877,9 +871,7 @@ int amdgpu_mes_wreg(struct amdgpu_device *adev,
877871
goto error;
878872
}
879873

880-
amdgpu_mes_lock(&adev->mes);
881874
r = adev->mes.funcs->misc_op(&adev->mes, &op_input);
882-
amdgpu_mes_unlock(&adev->mes);
883875
if (r)
884876
DRM_ERROR("failed to write reg (0x%x)\n", reg);
885877

@@ -906,9 +898,7 @@ int amdgpu_mes_reg_write_reg_wait(struct amdgpu_device *adev,
906898
goto error;
907899
}
908900

909-
amdgpu_mes_lock(&adev->mes);
910901
r = adev->mes.funcs->misc_op(&adev->mes, &op_input);
911-
amdgpu_mes_unlock(&adev->mes);
912902
if (r)
913903
DRM_ERROR("failed to reg_write_reg_wait\n");
914904

@@ -933,9 +923,7 @@ int amdgpu_mes_reg_wait(struct amdgpu_device *adev, uint32_t reg,
933923
goto error;
934924
}
935925

936-
amdgpu_mes_lock(&adev->mes);
937926
r = adev->mes.funcs->misc_op(&adev->mes, &op_input);
938-
amdgpu_mes_unlock(&adev->mes);
939927
if (r)
940928
DRM_ERROR("failed to reg_write_reg_wait\n");
941929

0 commit comments

Comments
 (0)