drm/amdgpu: Fix an error message in rmmod
authorTianci.Yin <tianci.yin@amd.com>
Tue, 25 Jan 2022 08:54:03 +0000 (16:54 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 27 Jan 2022 20:48:30 +0000 (15:48 -0500)
[why]
In rmmod procedure, kfd sends cp a dequeue request, but the
request does not get response, then an error message "cp
queue pipe 4 queue 0 preemption failed" printed.

[how]
Performing kfd suspending after disabling gfxoff can fix it.

Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Signed-off-by: Tianci.Yin <tianci.yin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 7cec3a0..6ba57ad 100644 (file)
@@ -2721,11 +2721,11 @@ static int amdgpu_device_ip_fini_early(struct amdgpu_device *adev)
                }
        }
 
-       amdgpu_amdkfd_suspend(adev, false);
-
        amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE);
        amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE);
 
+       amdgpu_amdkfd_suspend(adev, false);
+
        /* Workaroud for ASICs need to disable SMC first */
        amdgpu_device_smu_fini_early(adev);