Am 12.05.2017 um 10:21 schrieb Yintian Tao:
If doorbell is used for wptr update, we also need to use it
to initialize wptr to 0.

Change-Id: Ieb31a6726a9ac8d45e51f0370ef5f77dc5ec7c06
Signed-off-by: Yintian Tao <yt...@amd.com>
---
  drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c 
b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
index cfd968e..a154faf 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
@@ -643,8 +643,9 @@ static int sdma_v3_0_gfx_resume(struct amdgpu_device *adev)
                WREG32(mmSDMA0_GFX_RB_CNTL + sdma_offsets[i], rb_cntl);
/* Initialize the ring buffer's read and write pointers */
+               ring->wptr = 0;

A bit below this code on line 662 ring->wptr is set to zero as well and mmSDMA0_GFX_RB_WPTR written once more.

Please also fix this as well.

Regards,
Christian.

                WREG32(mmSDMA0_GFX_RB_RPTR + sdma_offsets[i], 0);
-               WREG32(mmSDMA0_GFX_RB_WPTR + sdma_offsets[i], 0);
+               sdma_v3_0_ring_set_wptr(ring);
                WREG32(mmSDMA0_GFX_IB_RPTR + sdma_offsets[i], 0);
                WREG32(mmSDMA0_GFX_IB_OFFSET + sdma_offsets[i], 0);


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

Reply via email to