aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2018-03-29 15:48:37 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-04-11 14:07:59 -0400
commit8bc04c2965879c79bb84e3fc8410e6c90cecc96d (patch)
tree1ee31e6b75a189520d39bf27a687f5d5bd52e83e
parentadbd4f894f3615f04a4c0cfb931ed647c0280a5f (diff)
drm/amdgpu: use new asic need_full_reset callback
Use the new callback to determine whether to use full asic reset or per IP soft reset. Enables reset to actually proceed on asics which don't support soft reset yet. Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index e0d6b1ddd213..abc33464959e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2738,6 +2738,9 @@ static bool amdgpu_device_ip_check_soft_reset(struct amdgpu_device *adev)
2738 if (amdgpu_sriov_vf(adev)) 2738 if (amdgpu_sriov_vf(adev))
2739 return true; 2739 return true;
2740 2740
2741 if (amdgpu_asic_need_full_reset(adev))
2742 return true;
2743
2741 for (i = 0; i < adev->num_ip_blocks; i++) { 2744 for (i = 0; i < adev->num_ip_blocks; i++) {
2742 if (!adev->ip_blocks[i].status.valid) 2745 if (!adev->ip_blocks[i].status.valid)
2743 continue; 2746 continue;
@@ -2794,6 +2797,9 @@ static bool amdgpu_device_ip_need_full_reset(struct amdgpu_device *adev)
2794{ 2797{
2795 int i; 2798 int i;
2796 2799
2800 if (amdgpu_asic_need_full_reset(adev))
2801 return true;
2802
2797 for (i = 0; i < adev->num_ip_blocks; i++) { 2803 for (i = 0; i < adev->num_ip_blocks; i++) {
2798 if (!adev->ip_blocks[i].status.valid) 2804 if (!adev->ip_blocks[i].status.valid)
2799 continue; 2805 continue;