diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 24 | 
1 files changed, 4 insertions, 20 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c index 0d15002eac69..f7ad883a70fa 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -6073,7 +6073,6 @@ static int gfx_v10_0_cp_gfx_resume(struct amdgpu_device *adev)  	u32 tmp;  	u32 rb_bufsz;  	u64 rb_addr, rptr_addr, wptr_gpu_addr; -	u32 i;  	/* Set the write pointer delay */  	WREG32_SOC15(GC, 0, mmCP_RB_WPTR_DELAY, 0); @@ -6168,11 +6167,6 @@ static int gfx_v10_0_cp_gfx_resume(struct amdgpu_device *adev)  	/* start the ring */  	gfx_v10_0_cp_gfx_start(adev); -	for (i = 0; i < adev->gfx.num_gfx_rings; i++) { -		ring = &adev->gfx.gfx_ring[i]; -		ring->sched.ready = true; -	} -  	return 0;  } @@ -6470,7 +6464,7 @@ static int gfx_v10_0_cp_async_gfx_ring_resume(struct amdgpu_device *adev)  		r = amdgpu_bo_reserve(ring->mqd_obj, false);  		if (unlikely(r != 0)) -			goto done; +			return r;  		r = amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr);  		if (!r) { @@ -6480,23 +6474,14 @@ static int gfx_v10_0_cp_async_gfx_ring_resume(struct amdgpu_device *adev)  		}  		amdgpu_bo_unreserve(ring->mqd_obj);  		if (r) -			goto done; +			return r;  	}  	r = amdgpu_gfx_enable_kgq(adev, 0);  	if (r) -		goto done; - -	r = gfx_v10_0_cp_gfx_start(adev); -	if (r) -		goto done; +		return r; -	for (i = 0; i < adev->gfx.num_gfx_rings; i++) { -		ring = &adev->gfx.gfx_ring[i]; -		ring->sched.ready = true; -	} -done: -	return r; +	return gfx_v10_0_cp_gfx_start(adev);  }  static int gfx_v10_0_compute_mqd_init(struct amdgpu_device *adev, void *m, @@ -6812,7 +6797,6 @@ static int gfx_v10_0_kiq_resume(struct amdgpu_device *adev)  	amdgpu_bo_kunmap(ring->mqd_obj);  	ring->mqd_ptr = NULL;  	amdgpu_bo_unreserve(ring->mqd_obj); -	ring->sched.ready = true;  	return 0;  } | 
