diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4522-drm-amdgpu-expand-sdma-copy_buffer-interface-with-tm.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4522-drm-amdgpu-expand-sdma-copy_buffer-interface-with-tm.patch | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4522-drm-amdgpu-expand-sdma-copy_buffer-interface-with-tm.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4522-drm-amdgpu-expand-sdma-copy_buffer-interface-with-tm.patch new file mode 100644 index 00000000..6b7d0bef --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4522-drm-amdgpu-expand-sdma-copy_buffer-interface-with-tm.patch @@ -0,0 +1,157 @@ +From 142541f86444a33597f842aced7388bbd9698604 Mon Sep 17 00:00:00 2001 +From: Aaron Liu <aaron.liu@amd.com> +Date: Tue, 15 Oct 2019 15:37:48 +0800 +Subject: [PATCH 4522/4736] drm/amdgpu: expand sdma copy_buffer interface with + tmz parameter +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch expands sdma copy_buffer interface with tmz parameter. + +Signed-off-by: Aaron Liu <aaron.liu@amd.com> +Reviewed-by: Christian König <christian.koenig@amd.com> +Reviewed-by: Huang Rui <ray.huang@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h | 5 +++-- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 ++-- + drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 3 ++- + drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 3 ++- + drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 3 ++- + drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 3 ++- + drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 3 ++- + drivers/gpu/drm/amd/amdgpu/si_dma.c | 3 ++- + 8 files changed, 17 insertions(+), 10 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h +index 761ff8be6314..b3134655789f 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h +@@ -79,7 +79,8 @@ struct amdgpu_buffer_funcs { + /* dst addr in bytes */ + uint64_t dst_offset, + /* number of byte to transfer */ +- uint32_t byte_count); ++ uint32_t byte_count, ++ bool tmz); + + /* maximum bytes in a single operation */ + uint32_t fill_max_bytes; +@@ -97,7 +98,7 @@ struct amdgpu_buffer_funcs { + uint32_t byte_count); + }; + +-#define amdgpu_emit_copy_buffer(adev, ib, s, d, b) (adev)->mman.buffer_funcs->emit_copy_buffer((ib), (s), (d), (b)) ++#define amdgpu_emit_copy_buffer(adev, ib, s, d, b, t) (adev)->mman.buffer_funcs->emit_copy_buffer((ib), (s), (d), (b), (t)) + #define amdgpu_emit_fill_buffer(adev, ib, s, d, b) (adev)->mman.buffer_funcs->emit_fill_buffer((ib), (s), (d), (b)) + + struct amdgpu_sdma_instance * +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index b5028af50cc2..ee5c8fec9375 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -2343,7 +2343,7 @@ static int amdgpu_map_buffer(struct ttm_buffer_object *bo, + dst_addr = amdgpu_bo_gpu_offset(adev->gart.bo); + dst_addr += window * AMDGPU_GTT_MAX_TRANSFER_SIZE * 8; + amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_addr, +- dst_addr, num_bytes); ++ dst_addr, num_bytes, false); + + amdgpu_ring_pad_ib(ring, &job->ibs[0]); + WARN_ON(job->ibs[0].length_dw > num_dw); +@@ -2414,7 +2414,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset, + uint32_t cur_size_in_bytes = min(byte_count, max_bytes); + + amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_offset, +- dst_offset, cur_size_in_bytes); ++ dst_offset, cur_size_in_bytes, false); + + src_offset += cur_size_in_bytes; + dst_offset += cur_size_in_bytes; +diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +index d42808b05971..6e52d6f86435 100644 +--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c ++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +@@ -1311,7 +1311,8 @@ static void cik_sdma_set_irq_funcs(struct amdgpu_device *adev) + static void cik_sdma_emit_copy_buffer(struct amdgpu_ib *ib, + uint64_t src_offset, + uint64_t dst_offset, +- uint32_t byte_count) ++ uint32_t byte_count, ++ bool tmz) + { + ib->ptr[ib->length_dw++] = SDMA_PACKET(SDMA_OPCODE_COPY, SDMA_COPY_SUB_OPCODE_LINEAR, 0); + ib->ptr[ib->length_dw++] = byte_count; +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +index 36196372e8db..c448e782fc4c 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +@@ -1197,7 +1197,8 @@ static void sdma_v2_4_set_irq_funcs(struct amdgpu_device *adev) + static void sdma_v2_4_emit_copy_buffer(struct amdgpu_ib *ib, + uint64_t src_offset, + uint64_t dst_offset, +- uint32_t byte_count) ++ uint32_t byte_count, ++ bool tmz) + { + ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) | + SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR); +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +index 6d39544e7829..017ac444f8e7 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +@@ -1635,7 +1635,8 @@ static void sdma_v3_0_set_irq_funcs(struct amdgpu_device *adev) + static void sdma_v3_0_emit_copy_buffer(struct amdgpu_ib *ib, + uint64_t src_offset, + uint64_t dst_offset, +- uint32_t byte_count) ++ uint32_t byte_count, ++ bool tmz) + { + ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) | + SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR); +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +index 2653d3c6ddd3..fa9dd28ebd5a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +@@ -2337,7 +2337,8 @@ static void sdma_v4_0_set_irq_funcs(struct amdgpu_device *adev) + static void sdma_v4_0_emit_copy_buffer(struct amdgpu_ib *ib, + uint64_t src_offset, + uint64_t dst_offset, +- uint32_t byte_count) ++ uint32_t byte_count, ++ bool tmz) + { + ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) | + SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR); +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +index ec47542e21b0..66e89bebe0ed 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c +@@ -1657,7 +1657,8 @@ static void sdma_v5_0_set_irq_funcs(struct amdgpu_device *adev) + static void sdma_v5_0_emit_copy_buffer(struct amdgpu_ib *ib, + uint64_t src_offset, + uint64_t dst_offset, +- uint32_t byte_count) ++ uint32_t byte_count, ++ bool tmz) + { + ib->ptr[ib->length_dw++] = SDMA_PKT_HEADER_OP(SDMA_OP_COPY) | + SDMA_PKT_HEADER_SUB_OP(SDMA_SUBOP_COPY_LINEAR); +diff --git a/drivers/gpu/drm/amd/amdgpu/si_dma.c b/drivers/gpu/drm/amd/amdgpu/si_dma.c +index 3eeefd40dae0..2161769c6fec 100644 +--- a/drivers/gpu/drm/amd/amdgpu/si_dma.c ++++ b/drivers/gpu/drm/amd/amdgpu/si_dma.c +@@ -775,7 +775,8 @@ static void si_dma_set_irq_funcs(struct amdgpu_device *adev) + static void si_dma_emit_copy_buffer(struct amdgpu_ib *ib, + uint64_t src_offset, + uint64_t dst_offset, +- uint32_t byte_count) ++ uint32_t byte_count, ++ bool tmz) + { + ib->ptr[ib->length_dw++] = DMA_PACKET(DMA_PACKET_COPY, + 1, 0, 0, byte_count); +-- +2.17.1 + |