ac: Rename SDMA max copy size macros to reflect SDMA version.

This naming is more accurate and closer to the HW.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26110>
This commit is contained in:
Timur Kristóf 2023-11-08 10:09:08 +01:00
parent be9953ac2c
commit 6413b860c4
2 changed files with 6 additions and 4 deletions

View file

@ -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 */

View file

@ -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);