> -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf > Of Xiangliang.Yu > Sent: Thursday, September 14, 2017 3:34 AM > To: amd-gfx at lists.freedesktop.org > Cc: Yu, Xiangliang > Subject: [PATCH 2/2] drm/amdgpu/sdma3: set wptr shadow atomically > > Port it from sdma4 for wptr polling usage. > > Signed-off-by: Xiangliang.Yu <Xiangliang.Yu at amd.com> Series is: Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 4 +++- > 1 file changed, 3 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 b7d69ab..728c0d8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c > @@ -379,8 +379,10 @@ static void sdma_v3_0_ring_set_wptr(struct > amdgpu_ring *ring) > struct amdgpu_device *adev = ring->adev; > > if (ring->use_doorbell) { > + u32 *wb = (u32 *)&adev->wb.wb[ring->wptr_offs]; > + > /* XXX check if swapping is necessary on BE */ > - adev->wb.wb[ring->wptr_offs] = lower_32_bits(ring->wptr) > << 2; > + WRITE_ONCE(*wb, (lower_32_bits(ring->wptr) << 2)); > WDOORBELL32(ring->doorbell_index, lower_32_bits(ring- > >wptr) << 2); > } else { > int me = (ring == &ring->adev->sdma.instance[0].ring) ? 0 : 1; > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx