diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c b/drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c index 666ed99cc14b..dd5c1e6ce009 100644 --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c @@ -200,7 +200,16 @@ static int xgpu_nv_send_access_requests(struct amdgpu_device *adev,  static int xgpu_nv_request_reset(struct amdgpu_device *adev)  { -	return xgpu_nv_send_access_requests(adev, IDH_REQ_GPU_RESET_ACCESS); +	int ret, i = 0; + +	while (i < NV_MAILBOX_POLL_MSG_REP_MAX) { +		ret = xgpu_nv_send_access_requests(adev, IDH_REQ_GPU_RESET_ACCESS); +		if (!ret) +			break; +		i++; +	} + +	return ret;  }  static int xgpu_nv_request_full_gpu_access(struct amdgpu_device *adev, | 
