Re: [PATCH] drm/amdgpu: fix gfx wptr for sdma v4

2018-10-31 Thread Christian König

Am 31.10.18 um 03:57 schrieb Junwei Zhang:

The wptr value will be shitfed when function returns.
Remove the redundant shift and clean up.

Signed-off-by: Junwei Zhang 


Reviewed-by: Christian König 


---
  drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 13 -
  1 file 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 2b944db86950..da3b6d9cf4a8 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)
wptr = READ_ONCE(*((u64 *)&adev->wb.wb[ring->wptr_offs]));
DRM_DEBUG("wptr/doorbell before shift == 0x%016llx\n", wptr);
} else {
-   u32 lowbit, highbit;
-
-   lowbit = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR) >> 2;
-   highbit = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR_HI) >> 2;
-
-   DRM_DEBUG("wptr [%i]high== 0x%08x low==0x%08x\n",
-   ring->me, highbit, lowbit);
-   wptr = highbit;
+   wptr = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR_HI);
wptr = wptr << 32;
-   wptr |= lowbit;
+   wptr |= RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR);
+   DRM_DEBUG("wptr before shift [%i] wptr == 0x%016llx\n",
+   ring->me, wptr);
}
  
  	return wptr >> 2;


___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[PATCH] drm/amdgpu: fix gfx wptr for sdma v4

2018-10-30 Thread Junwei Zhang
The wptr value will be shitfed when function returns.
Remove the redundant shift and clean up.

Signed-off-by: Junwei Zhang 
---
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 13 -
 1 file 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 2b944db86950..da3b6d9cf4a8 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)
wptr = READ_ONCE(*((u64 *)&adev->wb.wb[ring->wptr_offs]));
DRM_DEBUG("wptr/doorbell before shift == 0x%016llx\n", wptr);
} else {
-   u32 lowbit, highbit;
-
-   lowbit = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR) >> 2;
-   highbit = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR_HI) >> 2;
-
-   DRM_DEBUG("wptr [%i]high== 0x%08x low==0x%08x\n",
-   ring->me, highbit, lowbit);
-   wptr = highbit;
+   wptr = RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR_HI);
wptr = wptr << 32;
-   wptr |= lowbit;
+   wptr |= RREG32_SDMA(ring->me, mmSDMA0_GFX_RB_WPTR);
+   DRM_DEBUG("wptr before shift [%i] wptr == 0x%016llx\n",
+   ring->me, wptr);
}
 
return wptr >> 2;
-- 
2.17.1

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx