This fixes a kernel oops when MES is not enabled. Reported-by: Kenny Ho <Kenny.Ho@xxxxxxx> Suggested-by: Jack Xiao <Jack.Xiao@xxxxxxx> Reviewed-by: Alex Deucher <Alexander.Deucher@xxxxxxx> Signed-off-by: Luben Tuikov <luben.tuikov@xxxxxxx> Fixes: d69e773ca75b8f ("drm/amdgpu: add mes unmap legacy queue routine") Fixes: 36d7a7094750fc ("drm/amdgpu: add init support for GFX11 (v2)") --- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c index 4b66b9c93754ba..65a4126135b0e2 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -3568,7 +3568,7 @@ static void gfx10_kiq_unmap_queues(struct amdgpu_ring *kiq_ring, struct amdgpu_device *adev = kiq_ring->adev; uint32_t eng_sel = ring->funcs->type == AMDGPU_RING_TYPE_GFX ? 4 : 0; - if (!adev->gfx.kiq.ring.sched.ready) { + if (adev->enable_mes && !adev->gfx.kiq.ring.sched.ready) { amdgpu_mes_unmap_legacy_queue(adev, ring, action, gpu_addr, seq); return; } diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c index 8a1bec70c71932..8773cbd1f03b54 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c @@ -191,7 +191,7 @@ static void gfx11_kiq_unmap_queues(struct amdgpu_ring *kiq_ring, struct amdgpu_device *adev = kiq_ring->adev; uint32_t eng_sel = ring->funcs->type == AMDGPU_RING_TYPE_GFX ? 4 : 0; - if (!adev->gfx.kiq.ring.sched.ready) { + if (adev->enable_mes && !adev->gfx.kiq.ring.sched.ready) { amdgpu_mes_unmap_legacy_queue(adev, ring, action, gpu_addr, seq); return; } base-commit: 2092fd3ff7e91c9f408c98799f4cdcaa93a06c3d -- 2.36.1.74.g277cf0bc36