diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0348-drm-amdgpu-add-hdp-invalidation-for-cik-sdma.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0348-drm-amdgpu-add-hdp-invalidation-for-cik-sdma.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0348-drm-amdgpu-add-hdp-invalidation-for-cik-sdma.patch b/common/recipes-kernel/linux/files/0348-drm-amdgpu-add-hdp-invalidation-for-cik-sdma.patch new file mode 100644 index 00000000..e61bc624 --- /dev/null +++ b/common/recipes-kernel/linux/files/0348-drm-amdgpu-add-hdp-invalidation-for-cik-sdma.patch @@ -0,0 +1,45 @@ +From 459ab370aa18ef8627ec39cae4012d3ab3dfa9e0 Mon Sep 17 00:00:00 2001 +From: Chunming Zhou <David1.Zhou@amd.com> +Date: Thu, 3 Mar 2016 12:05:44 +0800 +Subject: [PATCH 0348/1110] drm/amdgpu: add hdp invalidation for cik sdma +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +index f751dc3..f94d707 100644 +--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c ++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +@@ -261,6 +261,13 @@ static void cik_sdma_ring_emit_hdp_flush(struct amdgpu_ring *ring) + amdgpu_ring_write(ring, (0xfff << 16) | 10); /* retry count, poll interval */ + } + ++static void cik_sdma_ring_emit_hdp_invalidate(struct amdgpu_ring *ring) ++{ ++ amdgpu_ring_write(ring, SDMA_PACKET(SDMA_OPCODE_SRBM_WRITE, 0, 0xf000)); ++ amdgpu_ring_write(ring, mmHDP_DEBUG0); ++ amdgpu_ring_write(ring, 1); ++} ++ + /** + * cik_sdma_ring_emit_fence - emit a fence on the DMA ring + * +@@ -1286,6 +1293,7 @@ static const struct amdgpu_ring_funcs cik_sdma_ring_funcs = { + .emit_fence = cik_sdma_ring_emit_fence, + .emit_vm_flush = cik_sdma_ring_emit_vm_flush, + .emit_hdp_flush = cik_sdma_ring_emit_hdp_flush, ++ .emit_hdp_invalidate = cik_sdma_ring_emit_hdp_invalidate, + .test_ring = cik_sdma_ring_test_ring, + .test_ib = cik_sdma_ring_test_ib, + .insert_nop = cik_sdma_ring_insert_nop, +-- +2.7.4 + |