[PATCH 2/2] drm/amdgpu/sdma3: set wptr shadow atomically
Deucher, Alexander
Alexander.Deucher at amd.com
Thu Sep 14 12:49:45 UTC 2017
> -----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
More information about the amd-gfx
mailing list