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>
This commit is contained in:
parent
4fc30ea780
commit
9f4f2c1a35
@ -4293,8 +4293,6 @@ static int amdgpu_device_reset_sriov(struct amdgpu_device *adev,
|
|||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
amdgpu_amdkfd_pre_reset(adev);
|
|
||||||
|
|
||||||
/* Resume IP prior to SMC */
|
/* Resume IP prior to SMC */
|
||||||
r = amdgpu_device_ip_reinit_early_sriov(adev);
|
r = amdgpu_device_ip_reinit_early_sriov(adev);
|
||||||
if (r)
|
if (r)
|
||||||
@ -5030,8 +5028,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
|
|||||||
|
|
||||||
cancel_delayed_work_sync(&tmp_adev->delayed_init_work);
|
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
|
* Mark these ASICs to be reseted as untracked first
|
||||||
|
Loading…
Reference in New Issue
Block a user