From f351a3582a7d5503b2d60a86c90e473bf9cf10fc Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 26 Feb 2026 17:44:38 +0100 Subject: [PATCH] ac/parse_ib: fix parsing some packets on SDMA7 Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/common/ac_parse_ib.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/amd/common/ac_parse_ib.c b/src/amd/common/ac_parse_ib.c index 4a1656548d7..41f1a6e5799 100644 --- a/src/amd/common/ac_parse_ib.c +++ b/src/amd/common/ac_parse_ib.c @@ -969,12 +969,17 @@ static void parse_sdma_ib(FILE *f, struct ac_ib_parser *ib) fprintf(f, " copy depth = %u\n", dw13 + 1); if (dcc) { - ac_ib_get(ib); - fprintf(f, " metadata VA low\n"); - ac_ib_get(ib); - fprintf(f, " metadata VA high\n"); - ac_ib_get(ib); - fprintf(f, " (metadata config)\n"); + if (ib->gfx_level >= GFX12) { + ac_ib_get(ib); + fprintf(f, " (metadata config)\n"); + } else { + ac_ib_get(ib); + fprintf(f, " metadata VA low\n"); + ac_ib_get(ib); + fprintf(f, " metadata VA high\n"); + ac_ib_get(ib); + fprintf(f, " (metadata config)\n"); + } } break; } @@ -988,12 +993,17 @@ static void parse_sdma_ib(FILE *f, struct ac_ib_parser *ib) } if (dcc) { - ac_ib_get(ib); - fprintf(f, " metadata VA low\n"); - ac_ib_get(ib); - fprintf(f, " metadata VA high\n"); - ac_ib_get(ib); - fprintf(f, " (metadata config)\n"); + if (ib->gfx_level >= GFX12) { + ac_ib_get(ib); + fprintf(f, " (metadata config)\n"); + } else { + ac_ib_get(ib); + fprintf(f, " metadata VA low\n"); + ac_ib_get(ib); + fprintf(f, " metadata VA high\n"); + ac_ib_get(ib); + fprintf(f, " (metadata config)\n"); + } } break; }