aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunwei Zhang <Jerry.Zhang@amd.com>2018-10-30 22:36:34 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-11-05 14:21:47 -0500
commit2a5ae84bf31e09526788def14e4b28c6d4d756f9 (patch)
tree23d0d68a7984e3ac74536d0da19e27994907c460
parent1cf03c54b3d89ccbaee45abbbf10c098f23801d5 (diff)
drm/amdgpu: fix gfx wptr for sdma v4
The wptr value will be shitfed when function returns. Remove the redundant shift and clean up. Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
index ec1b2f3ec01e..7f9a501c919d 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
@@ -372,16 +372,11 @@ static uint64_t sdma_v4_0_ring_get_wptr(struct amdgpu_ring *ring)
372 wptr = READ_ONCE(*((u64 *)&adev->wb.wb[ring->wptr_offs])); 372 wptr = READ_ONCE(*((u64 *)&adev->wb.wb[ring->wptr_offs]));
373 DRM_DEBUG("wptr/doorbell before shift == 0x%016llx\n", wptr); 373 DRM_DEBUG("wptr/doorbell before shift == 0x%016llx\n", wptr);
374 } else { 374 } else {
375 u32 lowbit, highbit; 375 wptr = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR_HI);
376
377 lowbit = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR) >> 2;
378 highbit = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR_HI) >> 2;
379
380 DRM_DEBUG("wptr [%i]high== 0x%08x low==0x%08x\n",
381 ring->me, highbit, lowbit);
382 wptr = highbit;
383 wptr = wptr << 32; 376 wptr = wptr << 32;
384 wptr |= lowbit; 377 wptr |= RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR);
378 DRM_DEBUG("wptr before shift [%i] wptr == 0x%016llx\n",
379 ring->me, wptr);
385 } 380 }
386 381
387 return wptr >> 2; 382 return wptr >> 2;