diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1832-drm-amdgpu-sdma3-set-wptr-shadow-atomically.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1832-drm-amdgpu-sdma3-set-wptr-shadow-atomically.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1832-drm-amdgpu-sdma3-set-wptr-shadow-atomically.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1832-drm-amdgpu-sdma3-set-wptr-shadow-atomically.patch new file mode 100644 index 00000000..2478869a --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1832-drm-amdgpu-sdma3-set-wptr-shadow-atomically.patch @@ -0,0 +1,32 @@ +From 4c8ef550cc3b02c7c783364ae8006c3c3d75b244 Mon Sep 17 00:00:00 2001 +From: "Xiangliang.Yu" <Xiangliang.Yu@amd.com> +Date: Wed, 13 Sep 2017 10:58:19 +0800 +Subject: [PATCH 1832/4131] drm/amdgpu/sdma3: set wptr shadow atomically + +Port it from sdma4 for wptr polling usage. + +Signed-off-by: Xiangliang.Yu <Xiangliang.Yu@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@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 7b97ce8..10a0ceb 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 + |