From 42cc3363119af0f1818f92dd693d6affa605cc92 Mon Sep 17 00:00:00 2001 From: James Zhu Date: Fri, 23 Jan 2026 12:32:53 -0500 Subject: [PATCH] drm/amdkfd: enable trap ID work around on gfx12.1 trap handler Signed-off-by: James Zhu Reviewed-by: Jay Cornwall Reviewed-by: Lancelot Six Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h | 6 ++++-- drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h index 6750f73394ac..b28b57f14557 100644 --- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h +++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h @@ -4601,10 +4601,12 @@ static const uint32_t cwsr_trap_gfx9_5_0_hex[] = { }; static const uint32_t cwsr_trap_gfx12_1_0_hex[] = { - 0xbfa00001, 0xbfa003d6, + 0xbfa00001, 0xbfa003da, 0xb0804009, 0xb8f8f804, 0x9178ff78, 0x00008c00, - 0xb8fbf811, 0xbf0d857b, + 0xb8fbf811, 0xbf0c877b, + 0xbfa20002, 0x916dff6d, + 0xf0000000, 0xbf0d857b, 0xbfa10006, 0x917bff7b, 0x00000480, 0xb98001d1, 0x00000000, 0xb9800291, diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm index 2d7cfeb49198..07de21918444 100644 --- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm +++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm @@ -41,7 +41,7 @@ #define SINGLE_STEP_MISSED_WORKAROUND 1 //workaround for lost TRAP_AFTER_INST exception when SAVECTX raised #define HAVE_VALU_SGPR_HAZARD (ASIC_FAMILY == CHIP_GFX12) -#define HAVE_HT_TRAP_ID_WA (ASIC_FAMILY == CHIP_GFX12) +#define HAVE_HT_TRAP_ID_WA (ASIC_FAMILY >= CHIP_GFX12) #define WAVE32_ONLY (ASIC_FAMILY == CHIP_GC_12_0_3) #define SAVE_TTMPS_IN_SGPR_BLOCK (ASIC_FAMILY >= CHIP_GC_12_0_3)