From 6413b860c4bc7ce748017b98d680629f783ceadc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Wed, 8 Nov 2023 10:09:08 +0100 Subject: [PATCH] ac: Rename SDMA max copy size macros to reflect SDMA version. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This naming is more accurate and closer to the HW. Signed-off-by: Timur Kristóf Reviewed-by: Tatsuyuki Ishi Reviewed-by: Samuel Pitoiset Reviewed-by: Marek Olšák Part-of: --- src/amd/common/sid.h | 8 +++++--- src/amd/vulkan/radv_sdma.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/amd/common/sid.h b/src/amd/common/sid.h index 6d255f8caa0..20a318a2ba2 100644 --- a/src/amd/common/sid.h +++ b/src/amd/common/sid.h @@ -351,10 +351,12 @@ #define SDMA_TS_SUB_OPCODE_GET_LOCAL_TIMESTAMP 0x1 #define SDMA_TS_SUB_OPCODE_GET_GLOBAL_TIMESTAMP 0x2 #define CIK_SDMA_OPCODE_SRBM_WRITE 0xe + /* There is apparently an undocumented HW limitation that - prevents the HW from copying the last 255 bytes of (1 << 22) - 1 */ -#define CIK_SDMA_COPY_MAX_SIZE 0x3fff00 /* almost 4 MB*/ -#define GFX103_SDMA_COPY_MAX_SIZE 0x3fffff00 /* almost 1 GB */ + * prevents the HW from copying the last 255 bytes of (1 << 22) - 1 + */ +#define SDMA_V2_0_COPY_MAX_BYTES 0x3fff00 /* almost 4 MB*/ +#define SDMA_V5_2_COPY_MAX_BYTES 0x3fffff00 /* almost 1 GB */ #define SDMA_NOP_PAD CIK_SDMA_PACKET(CIK_SDMA_OPCODE_NOP, 0, 0) /* header-only version */ diff --git a/src/amd/vulkan/radv_sdma.c b/src/amd/vulkan/radv_sdma.c index e3f4dcaf1d2..9cd829c92f6 100644 --- a/src/amd/vulkan/radv_sdma.c +++ b/src/amd/vulkan/radv_sdma.c @@ -358,7 +358,7 @@ radv_sdma_copy_buffer(const struct radv_device *device, struct radeon_cmdbuf *cs return; enum amd_gfx_level gfx_level = device->physical_device->rad_info.gfx_level; - unsigned max_size_per_packet = gfx_level >= GFX10_3 ? GFX103_SDMA_COPY_MAX_SIZE : CIK_SDMA_COPY_MAX_SIZE; + unsigned max_size_per_packet = gfx_level >= GFX10_3 ? SDMA_V5_2_COPY_MAX_BYTES : SDMA_V2_0_COPY_MAX_BYTES; unsigned align = ~0u; unsigned ncopy = DIV_ROUND_UP(size, max_size_per_packet);