From: Monk Liu Date: Thu, 23 Mar 2017 08:10:04 +0000 (+0800) Subject: drm/amdgpu:fix ring_write_multiple X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5846e355694f8a0be33a29d45ea8cafb0b5de22c;p=openwrt%2Fstaging%2Fblogic.git drm/amdgpu:fix ring_write_multiple ring_write_multiple should use buf_mask instead of ptr_mask Signed-off-by: Monk Liu Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index ec5d4ae0223e..262056778f52 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -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;