diff options
author | shaoyunl <shaoyun.liu@amd.com> | 2021-11-05 17:34:14 +0100 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2021-11-09 23:08:00 +0100 |
commit | 9f4f2c1a35248f56b2a9c1c004e0aaff3609b15d (patch) | |
tree | ad1fd0576c9d13eef386382ddbe5d6392337c70a /drivers/gpu | |
parent | drm/amdgpu: fix uvd crash on Polaris12 during driver unloading (diff) | |
download | linux-9f4f2c1a35248f56b2a9c1c004e0aaff3609b15d.tar.xz linux-9f4f2c1a35248f56b2a9c1c004e0aaff3609b15d.zip |
drm/amd/amdgpu: fix the kfd pre_reset sequence in sriov
The KFD pre_reset should be called before reset been executed, it will
hold the lock to prevent other rocm process to sent the packlage to hiq
during host execute the real reset on the HW
Signed-off-by: shaoyunl <shaoyun.liu@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index b45f4751adf8..5625f7736e37 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -4293,8 +4293,6 @@ static int amdgpu_device_reset_sriov(struct amdgpu_device *adev, if (r) return r; - amdgpu_amdkfd_pre_reset(adev); - /* Resume IP prior to SMC */ r = amdgpu_device_ip_reinit_early_sriov(adev); if (r) @@ -5030,8 +5028,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev, cancel_delayed_work_sync(&tmp_adev->delayed_init_work); - if (!amdgpu_sriov_vf(tmp_adev)) - amdgpu_amdkfd_pre_reset(tmp_adev); + amdgpu_amdkfd_pre_reset(tmp_adev); /* * Mark these ASICs to be reseted as untracked first |