drm/amdgpu:fix ring_write_multiple
authorMonk Liu <Monk.Liu@amd.com>
Thu, 23 Mar 2017 08:10:04 +0000 (16:10 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Mar 2017 03:55:41 +0000 (23:55 -0400)
ring_write_multiple should use buf_mask instead of ptr_mask

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h

index ec5d4ae0223ef4620934010a761db603c11c48fe..262056778f5237388350ab4c54bbe235e96a68e9 100644 (file)
@@ -1739,9 +1739,9 @@ static inline void amdgpu_ring_write_multiple(struct amdgpu_ring *ring, void *sr
        if (ring->count_dw < count_dw) {
                DRM_ERROR("amdgpu: writing more dwords to the ring than expected!\n");
        } else {
-               occupied = ring->wptr & ring->ptr_mask;
+               occupied = ring->wptr & ring->buf_mask;
                dst = (void *)&ring->ring[occupied];
-               chunk1 = ring->ptr_mask + 1 - occupied;
+               chunk1 = ring->buf_mask + 1 - occupied;
                chunk1 = (chunk1 >= count_dw) ? count_dw: chunk1;
                chunk2 = count_dw - chunk1;
                chunk1 <<= 2;