Fix 32bit wrap to att buffer size (#176)

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>

Everything but PSDB passed. I'm force merging because 1) this is a minor change and 2) PSDBs seem broken now, they are stuck and pointing to the wrong location: http://rocm-ci.amd.com/job/compute-psdb-staging-profiler-emu/435/
This commit is contained in:
Baraldi, Giovanni
2025-07-24 19:44:32 +02:00
کامیت شده توسط GitHub
والد 0bb1a61e82
کامیت cec481b4b1
4فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
@@ -618,7 +618,7 @@ class gfx10_cntx_prim {
// Indicates the size of buffer to use per Shader Engine instance.
// The size is specified in terms of 4KB blocks
static uint32_t sqtt_buffer_size_value(uint32_t size_val, uint32_t base_hi) {
static uint32_t sqtt_buffer_size_value(uint64_t size_val, uint32_t base_hi) {
#if SQTT_PRIM_ENABLED
uint32_t size{0};
size = SET_REG_FIELD_BITS(SQ_THREAD_TRACE_BUF0_SIZE, SIZE, size_val >> TT_BUFF_ALIGN_SHIFT) |
@@ -639,7 +639,7 @@ class gfx11_cntx_prim {
// Indicates the size of buffer to use per Shader Engine instance.
// The size is specified in terms of 4KB blocks
static uint32_t sqtt_buffer_size_value(uint32_t size_val, uint32_t base_hi) {
static uint32_t sqtt_buffer_size_value(uint64_t size_val, uint32_t base_hi) {
#if SQTT_PRIM_ENABLED
uint32_t sq_thread_trace_buf0_size =
SET_REG_FIELD_BITS(SQ_THREAD_TRACE_BUF0_SIZE, SIZE, size_val >> TT_BUFF_ALIGN_SHIFT) |
@@ -560,7 +560,7 @@ class gfx12_cntx_prim {
// Indicates the size of buffer to use per Shader Engine instance.
// The size is specified in terms of 4KB blocks
static uint32_t sqtt_buffer0_size_value(uint32_t size_val) {
static uint32_t sqtt_buffer0_size_value(uint64_t size_val) {
uint32_t sq_thread_trace_buf0_size{0};
sq_thread_trace_buf0_size =
SET_REG_FIELD_BITS(SQ_THREAD_TRACE_BUF0_SIZE, SIZE, size_val >> TT_BUFF_ALIGN_SHIFT);
+1 -1
مشاهده پرونده
@@ -683,7 +683,7 @@ class gfx9_cntx_prim {
// Indicates the size of buffer to use per Shader Engine instance.
// The size is specified in terms of 4KB blocks
static uint32_t sqtt_buffer_size_value(uint32_t size_val, uint32_t base_hi) {
static uint32_t sqtt_buffer_size_value(uint64_t size_val, uint32_t base_hi) {
uint32_t sq_thread_trace_size =
SET_REG_FIELD_BITS(SQ_THREAD_TRACE_SIZE, SIZE, (size_val >> TT_BUFF_ALIGN_SHIFT));
return sq_thread_trace_size;