diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/cik_sdma.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 27 | 
1 files changed, 12 insertions, 15 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c index 20f108818b2b..a3c3fe96515f 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c @@ -1071,22 +1071,19 @@ static int cik_sdma_soft_reset(void *handle)  {  	u32 srbm_soft_reset = 0;  	struct amdgpu_device *adev = (struct amdgpu_device *)handle; -	u32 tmp = RREG32(mmSRBM_STATUS2); +	u32 tmp; -	if (tmp & SRBM_STATUS2__SDMA_BUSY_MASK) { -		/* sdma0 */ -		tmp = RREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET); -		tmp |= SDMA0_F32_CNTL__HALT_MASK; -		WREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET, tmp); -		srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA_MASK; -	} -	if (tmp & SRBM_STATUS2__SDMA1_BUSY_MASK) { -		/* sdma1 */ -		tmp = RREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET); -		tmp |= SDMA0_F32_CNTL__HALT_MASK; -		WREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET, tmp); -		srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA1_MASK; -	} +	/* sdma0 */ +	tmp = RREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET); +	tmp |= SDMA0_F32_CNTL__HALT_MASK; +	WREG32(mmSDMA0_F32_CNTL + SDMA0_REGISTER_OFFSET, tmp); +	srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA_MASK; + +	/* sdma1 */ +	tmp = RREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET); +	tmp |= SDMA0_F32_CNTL__HALT_MASK; +	WREG32(mmSDMA0_F32_CNTL + SDMA1_REGISTER_OFFSET, tmp); +	srbm_soft_reset |= SRBM_SOFT_RESET__SOFT_RESET_SDMA1_MASK;  	if (srbm_soft_reset) {  		tmp = RREG32(mmSRBM_SOFT_RESET); | 
