All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amdkfd: gfx12.1 trap handler LDS store ack workaround
@ 2026-11-06 21:29 Jay Cornwall
  2026-11-06 21:44 ` Six, Lancelot
  0 siblings, 1 reply; 2+ messages in thread
From: Jay Cornwall @ 2026-11-06 21:29 UTC (permalink / raw)
  To: amd-gfx; +Cc: Jay Cornwall, Lancelot Six, Vladimir Indic

DS_STORE_B32 does not serialize correctly with S_WAIT_IDLE.
Use a LDS no-op atomic to enforce serialization.

Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
Cc: Lancelot Six <lancelot.six@amd.com>
Cc: Vladimir Indic <vladimir.indic@amd.com>
---
 .../gpu/drm/amd/amdkfd/cwsr_trap_handler.h    | 656 +++++++++---------
 .../amd/amdkfd/cwsr_trap_handler_gfx12.asm    |  11 +
 2 files changed, 343 insertions(+), 324 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
index 5d468460f532..0e7bcfa487ee 100644
--- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
@@ -5098,17 +5098,17 @@ static const uint32_t cwsr_trap_gfx12_1_0_rev_0_hex[] = {
 	0x018c0000, 0x00030000,
 	0x807d847d, 0x8070ff70,
 	0x00000400, 0xbf0a7b7d,
-	0xbfa2ffe9, 0xbfa00184,
+	0xbfa2ffe9, 0xbfa0018b,
 	0xbef4007e, 0x8b75ff7f,
 	0x01ffffff, 0xbef1007f,
 	0xb8f20742, 0x84729972,
 	0x8b6eff7f, 0x04000000,
-	0xbfa10044, 0xbefe00c1,
+	0xbfa1004b, 0xbefe00c1,
 	0x857d9972, 0x8b7d817d,
 	0xbf06817d, 0xbfa20002,
 	0xbeff0080, 0xbfa00001,
 	0xbeff00c1, 0xb8ef4306,
-	0x8b6fc16f, 0xbfa10039,
+	0x8b6fc16f, 0xbfa10040,
 	0x846f8a6f, 0xb8f83b05,
 	0x80788178, 0xbf0d9972,
 	0xbfa20002, 0x84788978,
@@ -5119,7 +5119,7 @@ static const uint32_t cwsr_trap_gfx12_1_0_rev_0_hex[] = {
 	0xbf06817d, 0xbefd0080,
 	0xd71f0001, 0x000100c1,
 	0xd7200001, 0x000202c1,
-	0x30020282, 0xbfa20012,
+	0x30020282, 0xbfa20019,
 	0x80767874, 0x82778075,
 	0xee0a0076, 0x000c0000,
 	0x00000000, 0xbf8a0000,
@@ -5128,178 +5128,182 @@ static const uint32_t cwsr_trap_gfx12_1_0_rev_0_hex[] = {
 	0x00000080, 0x807dff7d,
 	0x00000080, 0x8078ff78,
 	0x00000080, 0xbf0a6f7d,
-	0xbfa2ffef, 0xbfa00011,
-	0x80767874, 0x82778075,
-	0xee0a0076, 0x000c0000,
-	0x00000000, 0xbf8a0000,
-	0xd8340000, 0x00000001,
-	0xd5250001, 0x0001ff01,
-	0x00000100, 0x807dff7d,
-	0x00000100, 0x8078ff78,
-	0x00000100, 0xbf0a6f7d,
-	0xbfa2ffef, 0xbef80080,
-	0xbefe00c1, 0x857d9972,
-	0x8b7d817d, 0xbf06817d,
-	0xbfa20002, 0xbeff0080,
-	0xbfa00001, 0xbeff00c1,
-	0xb8ef3b05, 0x806f816f,
-	0x846f826f, 0x857d9972,
-	0x8b7d817d, 0xbf06817d,
-	0xbfa2002c, 0xbeee0078,
-	0x8078ff78, 0x00000200,
-	0xbefd0084, 0x80767874,
-	0x82778075, 0xee0a0076,
-	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
-	0x00008000, 0xee0a0076,
-	0x000c0002, 0x00010000,
-	0xee0a0076, 0x000c0003,
-	0x00018000, 0xbf8a0000,
-	0x7e008500, 0x7e028501,
-	0x7e048502, 0x7e068503,
-	0x807d847d, 0x8078ff78,
-	0x00000200, 0xbf0a6f7d,
-	0xbfa2ffe8, 0x80766e74,
-	0x82778075, 0xee0a0076,
-	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
-	0x00008000, 0xee0a0076,
-	0x000c0002, 0x00010000,
-	0xee0a0076, 0x000c0003,
-	0x00018000, 0xbf8a0000,
-	0xbfa0002d, 0xbeee0078,
-	0x8078ff78, 0x00000400,
-	0xbefd0084, 0xbf0a6f7d,
-	0xbfa10018, 0x80767874,
+	0xbfa2ffef, 0x7e000280,
+	0x7e020280, 0xbefe00bf,
+	0xd8280000, 0x00000001,
+	0xbefe00c1, 0xbfc60000,
+	0xbfa00011, 0x80767874,
 	0x82778075, 0xee0a0076,
 	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
+	0xbf8a0000, 0xd8340000,
+	0x00000001, 0xd5250001,
+	0x0001ff01, 0x00000100,
+	0x807dff7d, 0x00000100,
+	0x8078ff78, 0x00000100,
+	0xbf0a6f7d, 0xbfa2ffef,
+	0xbef80080, 0xbefe00c1,
+	0x857d9972, 0x8b7d817d,
+	0xbf06817d, 0xbfa20002,
+	0xbeff0080, 0xbfa00001,
+	0xbeff00c1, 0xb8ef3b05,
+	0x806f816f, 0x846f826f,
+	0x857d9972, 0x8b7d817d,
+	0xbf06817d, 0xbfa2002c,
+	0xbeee0078, 0x8078ff78,
+	0x00000200, 0xbefd0084,
+	0x80767874, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00008000,
+	0xee0a0076, 0x000c0002,
 	0x00010000, 0xee0a0076,
-	0x000c0002, 0x00020000,
-	0xee0a0076, 0x000c0003,
-	0x00030000, 0xbf8a0000,
-	0x7e008500, 0x7e028501,
-	0x7e048502, 0x7e068503,
-	0x807d847d, 0x8078ff78,
-	0x00000400, 0xbf0a6f7d,
-	0xbfa2ffe8, 0x80766e74,
-	0x82778075, 0xee0a0076,
-	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
+	0x000c0003, 0x00018000,
+	0xbf8a0000, 0x7e008500,
+	0x7e028501, 0x7e048502,
+	0x7e068503, 0x807d847d,
+	0x8078ff78, 0x00000200,
+	0xbf0a6f7d, 0xbfa2ffe8,
+	0x80766e74, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00008000,
+	0xee0a0076, 0x000c0002,
 	0x00010000, 0xee0a0076,
-	0x000c0002, 0x00020000,
-	0xee0a0076, 0x000c0003,
-	0x00030000, 0xbf8a0000,
-	0xb8f83b05, 0x80788178,
-	0xbf0d9972, 0xbfa20002,
-	0x84788978, 0xbfa00001,
-	0x84788a78, 0x8078ff78,
-	0x00000200, 0x80f8ff78,
-	0x00000060, 0x80767874,
-	0x82778075, 0xbefd00ff,
-	0x0000006c, 0xf460403b,
-	0xf8000000, 0xbf8a0000,
-	0x80fd847d, 0xbf800000,
-	0xbe804300, 0xbe824302,
-	0x80f6a076, 0x82f78077,
-	0xf460603b, 0xf8000000,
-	0xbf8a0000, 0x80fd887d,
+	0x000c0003, 0x00018000,
+	0xbf8a0000, 0xbfa0002d,
+	0xbeee0078, 0x8078ff78,
+	0x00000400, 0xbefd0084,
+	0xbf0a6f7d, 0xbfa10018,
+	0x80767874, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00010000,
+	0xee0a0076, 0x000c0002,
+	0x00020000, 0xee0a0076,
+	0x000c0003, 0x00030000,
+	0xbf8a0000, 0x7e008500,
+	0x7e028501, 0x7e048502,
+	0x7e068503, 0x807d847d,
+	0x8078ff78, 0x00000400,
+	0xbf0a6f7d, 0xbfa2ffe8,
+	0x80766e74, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00010000,
+	0xee0a0076, 0x000c0002,
+	0x00020000, 0xee0a0076,
+	0x000c0003, 0x00030000,
+	0xbf8a0000, 0xb8f83b05,
+	0x80788178, 0xbf0d9972,
+	0xbfa20002, 0x84788978,
+	0xbfa00001, 0x84788a78,
+	0x8078ff78, 0x00000200,
+	0x80f8ff78, 0x00000060,
+	0x80767874, 0x82778075,
+	0xbefd00ff, 0x0000006c,
+	0xf460403b, 0xf8000000,
+	0xbf8a0000, 0x80fd847d,
 	0xbf800000, 0xbe804300,
-	0xbe824302, 0xbe844304,
-	0xbe864306, 0x80f6c076,
-	0x82f78077, 0xf460803b,
+	0xbe824302, 0x80f6a076,
+	0x82f78077, 0xf460603b,
 	0xf8000000, 0xbf8a0000,
-	0x80fd907d, 0xbf800000,
+	0x80fd887d, 0xbf800000,
 	0xbe804300, 0xbe824302,
 	0xbe844304, 0xbe864306,
-	0xbe884308, 0xbe8a430a,
-	0xbe8c430c, 0xbe8e430e,
-	0xbf06807d, 0xbfa1ffef,
-	0xb980f801, 0x00000000,
-	0xb8f83b05, 0x80788178,
-	0xbf0d9972, 0xbfa20002,
-	0x84788978, 0xbfa00001,
-	0x84788a78, 0x8078ff78,
-	0x00000200, 0x80767874,
-	0x82778075, 0xbeff0071,
-	0xf4601bfb, 0xf8000000,
-	0xf4601b3b, 0xf8000004,
-	0xf4601b7b, 0xf8000008,
-	0xf4601c3b, 0xf800000c,
-	0xf4601c7b, 0xf8000010,
-	0xf4601ebb, 0xf8000014,
-	0xf4601efb, 0xf8000018,
-	0xf4601e7b, 0xf800001c,
-	0xf4601cfb, 0xf8000020,
-	0xf4601bbb, 0xf8000024,
-	0xbf8a0000, 0xb96ef814,
-	0xf4601bbb, 0xf8000028,
-	0xbf8a0000, 0xb96ef815,
-	0xf4601bbb, 0xf800002c,
-	0xbf8a0000, 0xb96ef812,
-	0xf4601bbb, 0xf8000030,
-	0xbf8a0000, 0xb96ef813,
-	0x8b6eff7f, 0x04000000,
-	0xbfa10022, 0xf4601bbb,
-	0xf8000038, 0xbf8a0000,
-	0xbf0d806e, 0xbfa1001d,
-	0x856e906e, 0x8b6e6e6e,
-	0xbfa10003, 0xbe804ec1,
-	0x816ec16e, 0xbfa0fffb,
-	0xbef800ff, 0x00000080,
-	0xbefd0081, 0xf4601bbb,
-	0xf0000000, 0xbfc70000,
-	0x80788478, 0x937eff6e,
-	0x00070004, 0x847e907e,
-	0x8c7d7e7d, 0xbe80517d,
-	0x917dff7d, 0x007f0000,
-	0x856e906e, 0x8b6e6e6e,
-	0xbfa10003, 0xbe804e7d,
-	0x816ec16e, 0xbfa0fffb,
-	0x807d817d, 0xbf08907d,
-	0xbfa1ffec, 0xf4601bbb,
-	0xf800003c, 0xbfc70000,
-	0xbf0d806e, 0xbfa1000c,
-	0xbf0d9a7f, 0xbfa10002,
-	0xbf068180, 0xbe804fc4,
-	0xbf94fffc, 0xbfa10006,
-	0x856e906e, 0x8b6e6e6e,
-	0xbfa10003, 0xbe804ec3,
-	0x816ec16e, 0xbfa0fffb,
-	0xf4601bbb, 0xf8000040,
-	0xbfc70000, 0xb96ef81a,
-	0xbefd006f, 0xbefe0070,
-	0xbeff0071, 0xb979f822,
-	0xb97b2011, 0x857b867b,
-	0xb97b0191, 0x857b827b,
-	0xb97bba11, 0xb973f801,
-	0xb8ee3b05, 0x806e816e,
-	0xbf0d9972, 0xbfa20002,
-	0x846e896e, 0xbfa00001,
-	0x846e8a6e, 0x806eff6e,
-	0x000001c0, 0x806e746e,
-	0x826f8075, 0xf4605c37,
-	0xf8000010, 0xf4605d37,
-	0xf8000020, 0xf4601e77,
-	0xf8000034, 0xbf8a0000,
-	0x856e9677, 0xb96e04a1,
-	0x856e9577, 0xb96e0421,
-	0x856e8e77, 0xb96e3021,
-	0x8b6dff6d, 0x01ffffff,
-	0x8bfe7e7e, 0x8bea6a6a,
-	0xb97af804, 0xb8eef802,
-	0xbf0c8b6e, 0xbfa20003,
-	0xbe804fc2, 0xbf94fffe,
-	0xbfa10001, 0xbe804ec4,
-	0xbf94fffc, 0x857a897a,
-	0xb97a0244, 0xbe804a6c,
+	0x80f6c076, 0x82f78077,
+	0xf460803b, 0xf8000000,
+	0xbf8a0000, 0x80fd907d,
+	0xbf800000, 0xbe804300,
+	0xbe824302, 0xbe844304,
+	0xbe864306, 0xbe884308,
+	0xbe8a430a, 0xbe8c430c,
+	0xbe8e430e, 0xbf06807d,
+	0xbfa1ffef, 0xb980f801,
+	0x00000000, 0xb8f83b05,
+	0x80788178, 0xbf0d9972,
+	0xbfa20002, 0x84788978,
+	0xbfa00001, 0x84788a78,
+	0x8078ff78, 0x00000200,
+	0x80767874, 0x82778075,
+	0xbeff0071, 0xf4601bfb,
+	0xf8000000, 0xf4601b3b,
+	0xf8000004, 0xf4601b7b,
+	0xf8000008, 0xf4601c3b,
+	0xf800000c, 0xf4601c7b,
+	0xf8000010, 0xf4601ebb,
+	0xf8000014, 0xf4601efb,
+	0xf8000018, 0xf4601e7b,
+	0xf800001c, 0xf4601cfb,
+	0xf8000020, 0xf4601bbb,
+	0xf8000024, 0xbf8a0000,
+	0xb96ef814, 0xf4601bbb,
+	0xf8000028, 0xbf8a0000,
+	0xb96ef815, 0xf4601bbb,
+	0xf800002c, 0xbf8a0000,
+	0xb96ef812, 0xf4601bbb,
+	0xf8000030, 0xbf8a0000,
+	0xb96ef813, 0x8b6eff7f,
+	0x04000000, 0xbfa10022,
+	0xf4601bbb, 0xf8000038,
+	0xbf8a0000, 0xbf0d806e,
+	0xbfa1001d, 0x856e906e,
+	0x8b6e6e6e, 0xbfa10003,
+	0xbe804ec1, 0x816ec16e,
+	0xbfa0fffb, 0xbef800ff,
+	0x00000080, 0xbefd0081,
+	0xf4601bbb, 0xf0000000,
+	0xbfc70000, 0x80788478,
+	0x937eff6e, 0x00070004,
+	0x847e907e, 0x8c7d7e7d,
+	0xbe80517d, 0x917dff7d,
+	0x007f0000, 0x856e906e,
+	0x8b6e6e6e, 0xbfa10003,
+	0xbe804e7d, 0x816ec16e,
+	0xbfa0fffb, 0x807d817d,
+	0xbf08907d, 0xbfa1ffec,
+	0xf4601bbb, 0xf800003c,
+	0xbfc70000, 0xbf0d806e,
+	0xbfa1000c, 0xbf0d9a7f,
+	0xbfa10002, 0xbf068180,
+	0xbe804fc4, 0xbf94fffc,
+	0xbfa10006, 0x856e906e,
+	0x8b6e6e6e, 0xbfa10003,
+	0xbe804ec3, 0x816ec16e,
+	0xbfa0fffb, 0xf4601bbb,
+	0xf8000040, 0xbfc70000,
+	0xb96ef81a, 0xbefd006f,
+	0xbefe0070, 0xbeff0071,
+	0xb979f822, 0xb97b2011,
+	0x857b867b, 0xb97b0191,
+	0x857b827b, 0xb97bba11,
+	0xb973f801, 0xb8ee3b05,
+	0x806e816e, 0xbf0d9972,
+	0xbfa20002, 0x846e896e,
+	0xbfa00001, 0x846e8a6e,
+	0x806eff6e, 0x000001c0,
+	0x806e746e, 0x826f8075,
+	0xf4605c37, 0xf8000010,
+	0xf4605d37, 0xf8000020,
+	0xf4601e77, 0xf8000034,
+	0xbf8a0000, 0x856e9677,
+	0xb96e04a1, 0x856e9577,
+	0xb96e0421, 0x856e8e77,
+	0xb96e3021, 0x8b6dff6d,
+	0x01ffffff, 0x8bfe7e7e,
+	0x8bea6a6a, 0xb97af804,
 	0xb8eef802, 0xbf0c8b6e,
 	0xbfa20003, 0xbe804fc2,
 	0xbf94fffe, 0xbfa10001,
 	0xbe804ec4, 0xbf94fffc,
-	0xbfb10000, 0xbf9f0000,
+	0x857a897a, 0xb97a0244,
+	0xbe804a6c, 0xb8eef802,
+	0xbf0c8b6e, 0xbfa20003,
+	0xbe804fc2, 0xbf94fffe,
+	0xbfa10001, 0xbe804ec4,
+	0xbf94fffc, 0xbfb10000,
 	0xbf9f0000, 0xbf9f0000,
 	0xbf9f0000, 0xbf9f0000,
+	0xbf9f0000, 0x00000000,
 };
 
 static const uint32_t cwsr_trap_gfx12_1_0_rev_1_hex[] = {
@@ -5791,17 +5795,17 @@ static const uint32_t cwsr_trap_gfx12_1_0_rev_1_hex[] = {
 	0x018c0000, 0x00030000,
 	0x807d847d, 0x8070ff70,
 	0x00000400, 0xbf0a7b7d,
-	0xbfa2ffe9, 0xbfa00184,
+	0xbfa2ffe9, 0xbfa0018b,
 	0xbef4007e, 0x8b75ff7f,
 	0x01ffffff, 0xbef1007f,
 	0xb8f20742, 0x84729972,
 	0x8b6eff7f, 0x04000000,
-	0xbfa10044, 0xbefe00c1,
+	0xbfa1004b, 0xbefe00c1,
 	0x857d9972, 0x8b7d817d,
 	0xbf06817d, 0xbfa20002,
 	0xbeff0080, 0xbfa00001,
 	0xbeff00c1, 0xb8ef4306,
-	0x8b6fc16f, 0xbfa10039,
+	0x8b6fc16f, 0xbfa10040,
 	0x846f8a6f, 0xb8f83b05,
 	0x80788178, 0xbf0d9972,
 	0xbfa20002, 0x84788978,
@@ -5812,7 +5816,7 @@ static const uint32_t cwsr_trap_gfx12_1_0_rev_1_hex[] = {
 	0xbf06817d, 0xbefd0080,
 	0xd71f0001, 0x000100c1,
 	0xd7200001, 0x000202c1,
-	0x30020282, 0xbfa20012,
+	0x30020282, 0xbfa20019,
 	0x80767874, 0x82778075,
 	0xee0a0076, 0x000c0000,
 	0x00000000, 0xbf8a0000,
@@ -5821,176 +5825,180 @@ static const uint32_t cwsr_trap_gfx12_1_0_rev_1_hex[] = {
 	0x00000080, 0x807dff7d,
 	0x00000080, 0x8078ff78,
 	0x00000080, 0xbf0a6f7d,
-	0xbfa2ffef, 0xbfa00011,
-	0x80767874, 0x82778075,
-	0xee0a0076, 0x000c0000,
-	0x00000000, 0xbf8a0000,
-	0xd8340000, 0x00000001,
-	0xd5250001, 0x0001ff01,
-	0x00000100, 0x807dff7d,
-	0x00000100, 0x8078ff78,
-	0x00000100, 0xbf0a6f7d,
-	0xbfa2ffef, 0xbef80080,
-	0xbefe00c1, 0x857d9972,
-	0x8b7d817d, 0xbf06817d,
-	0xbfa20002, 0xbeff0080,
-	0xbfa00001, 0xbeff00c1,
-	0xb8ef3b05, 0x806f816f,
-	0x846f826f, 0x857d9972,
-	0x8b7d817d, 0xbf06817d,
-	0xbfa2002c, 0xbeee0078,
-	0x8078ff78, 0x00000200,
-	0xbefd0084, 0x80767874,
-	0x82778075, 0xee0a0076,
-	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
-	0x00008000, 0xee0a0076,
-	0x000c0002, 0x00010000,
-	0xee0a0076, 0x000c0003,
-	0x00018000, 0xbf8a0000,
-	0x7e008500, 0x7e028501,
-	0x7e048502, 0x7e068503,
-	0x807d847d, 0x8078ff78,
-	0x00000200, 0xbf0a6f7d,
-	0xbfa2ffe8, 0x80766e74,
-	0x82778075, 0xee0a0076,
-	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
-	0x00008000, 0xee0a0076,
-	0x000c0002, 0x00010000,
-	0xee0a0076, 0x000c0003,
-	0x00018000, 0xbf8a0000,
-	0xbfa0002d, 0xbeee0078,
-	0x8078ff78, 0x00000400,
-	0xbefd0084, 0xbf0a6f7d,
-	0xbfa10018, 0x80767874,
+	0xbfa2ffef, 0x7e000280,
+	0x7e020280, 0xbefe00bf,
+	0xd8280000, 0x00000001,
+	0xbefe00c1, 0xbfc60000,
+	0xbfa00011, 0x80767874,
 	0x82778075, 0xee0a0076,
 	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
+	0xbf8a0000, 0xd8340000,
+	0x00000001, 0xd5250001,
+	0x0001ff01, 0x00000100,
+	0x807dff7d, 0x00000100,
+	0x8078ff78, 0x00000100,
+	0xbf0a6f7d, 0xbfa2ffef,
+	0xbef80080, 0xbefe00c1,
+	0x857d9972, 0x8b7d817d,
+	0xbf06817d, 0xbfa20002,
+	0xbeff0080, 0xbfa00001,
+	0xbeff00c1, 0xb8ef3b05,
+	0x806f816f, 0x846f826f,
+	0x857d9972, 0x8b7d817d,
+	0xbf06817d, 0xbfa2002c,
+	0xbeee0078, 0x8078ff78,
+	0x00000200, 0xbefd0084,
+	0x80767874, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00008000,
+	0xee0a0076, 0x000c0002,
 	0x00010000, 0xee0a0076,
-	0x000c0002, 0x00020000,
-	0xee0a0076, 0x000c0003,
-	0x00030000, 0xbf8a0000,
-	0x7e008500, 0x7e028501,
-	0x7e048502, 0x7e068503,
-	0x807d847d, 0x8078ff78,
-	0x00000400, 0xbf0a6f7d,
-	0xbfa2ffe8, 0x80766e74,
-	0x82778075, 0xee0a0076,
-	0x000c0000, 0x00000000,
-	0xee0a0076, 0x000c0001,
+	0x000c0003, 0x00018000,
+	0xbf8a0000, 0x7e008500,
+	0x7e028501, 0x7e048502,
+	0x7e068503, 0x807d847d,
+	0x8078ff78, 0x00000200,
+	0xbf0a6f7d, 0xbfa2ffe8,
+	0x80766e74, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00008000,
+	0xee0a0076, 0x000c0002,
 	0x00010000, 0xee0a0076,
-	0x000c0002, 0x00020000,
-	0xee0a0076, 0x000c0003,
-	0x00030000, 0xbf8a0000,
-	0xb8f83b05, 0x80788178,
-	0xbf0d9972, 0xbfa20002,
-	0x84788978, 0xbfa00001,
-	0x84788a78, 0x8078ff78,
-	0x00000200, 0x80f8ff78,
-	0x00000060, 0x80767874,
-	0x82778075, 0xbefd00ff,
-	0x0000006c, 0xf460403b,
-	0xf8000000, 0xbf8a0000,
-	0x80fd847d, 0xbf800000,
-	0xbe804300, 0xbe824302,
-	0x80f6a076, 0x82f78077,
-	0xf460603b, 0xf8000000,
-	0xbf8a0000, 0x80fd887d,
+	0x000c0003, 0x00018000,
+	0xbf8a0000, 0xbfa0002d,
+	0xbeee0078, 0x8078ff78,
+	0x00000400, 0xbefd0084,
+	0xbf0a6f7d, 0xbfa10018,
+	0x80767874, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00010000,
+	0xee0a0076, 0x000c0002,
+	0x00020000, 0xee0a0076,
+	0x000c0003, 0x00030000,
+	0xbf8a0000, 0x7e008500,
+	0x7e028501, 0x7e048502,
+	0x7e068503, 0x807d847d,
+	0x8078ff78, 0x00000400,
+	0xbf0a6f7d, 0xbfa2ffe8,
+	0x80766e74, 0x82778075,
+	0xee0a0076, 0x000c0000,
+	0x00000000, 0xee0a0076,
+	0x000c0001, 0x00010000,
+	0xee0a0076, 0x000c0002,
+	0x00020000, 0xee0a0076,
+	0x000c0003, 0x00030000,
+	0xbf8a0000, 0xb8f83b05,
+	0x80788178, 0xbf0d9972,
+	0xbfa20002, 0x84788978,
+	0xbfa00001, 0x84788a78,
+	0x8078ff78, 0x00000200,
+	0x80f8ff78, 0x00000060,
+	0x80767874, 0x82778075,
+	0xbefd00ff, 0x0000006c,
+	0xf460403b, 0xf8000000,
+	0xbf8a0000, 0x80fd847d,
 	0xbf800000, 0xbe804300,
-	0xbe824302, 0xbe844304,
-	0xbe864306, 0x80f6c076,
-	0x82f78077, 0xf460803b,
+	0xbe824302, 0x80f6a076,
+	0x82f78077, 0xf460603b,
 	0xf8000000, 0xbf8a0000,
-	0x80fd907d, 0xbf800000,
+	0x80fd887d, 0xbf800000,
 	0xbe804300, 0xbe824302,
 	0xbe844304, 0xbe864306,
-	0xbe884308, 0xbe8a430a,
-	0xbe8c430c, 0xbe8e430e,
-	0xbf06807d, 0xbfa1ffef,
-	0xb980f801, 0x00000000,
-	0xb8f83b05, 0x80788178,
-	0xbf0d9972, 0xbfa20002,
-	0x84788978, 0xbfa00001,
-	0x84788a78, 0x8078ff78,
-	0x00000200, 0x80767874,
-	0x82778075, 0xbeff0071,
-	0xf4601bfb, 0xf8000000,
-	0xf4601b3b, 0xf8000004,
-	0xf4601b7b, 0xf8000008,
-	0xf4601c3b, 0xf800000c,
-	0xf4601c7b, 0xf8000010,
-	0xf4601ebb, 0xf8000014,
-	0xf4601efb, 0xf8000018,
-	0xf4601e7b, 0xf800001c,
-	0xf4601cfb, 0xf8000020,
-	0xf4601bbb, 0xf8000024,
-	0xbf8a0000, 0xb96ef814,
-	0xf4601bbb, 0xf8000028,
-	0xbf8a0000, 0xb96ef815,
-	0xf4601bbb, 0xf800002c,
-	0xbf8a0000, 0xb96ef812,
-	0xf4601bbb, 0xf8000030,
-	0xbf8a0000, 0xb96ef813,
-	0x8b6eff7f, 0x04000000,
-	0xbfa10022, 0xf4601bbb,
-	0xf8000038, 0xbf8a0000,
-	0xbf0d806e, 0xbfa1001d,
-	0x856e906e, 0x8b6e6e6e,
-	0xbfa10003, 0xbe804ec1,
-	0x816ec16e, 0xbfa0fffb,
-	0xbef800ff, 0x00000080,
-	0xbefd0081, 0xf4601bbb,
-	0xf0000000, 0xbfc70000,
-	0x80788478, 0x937eff6e,
-	0x00070004, 0x847e907e,
-	0x8c7d7e7d, 0xbe80517d,
-	0x917dff7d, 0x007f0000,
-	0x856e906e, 0x8b6e6e6e,
-	0xbfa10003, 0xbe804e7d,
-	0x816ec16e, 0xbfa0fffb,
-	0x807d817d, 0xbf08907d,
-	0xbfa1ffec, 0xf4601bbb,
-	0xf800003c, 0xbfc70000,
-	0xbf0d806e, 0xbfa1000c,
-	0xbf0d9a7f, 0xbfa10002,
-	0xbf068180, 0xbe804fc4,
-	0xbf94fffc, 0xbfa10006,
-	0x856e906e, 0x8b6e6e6e,
-	0xbfa10003, 0xbe804ec3,
-	0x816ec16e, 0xbfa0fffb,
-	0xf4601bbb, 0xf8000040,
-	0xbfc70000, 0xb96ef81a,
-	0xbefd006f, 0xbefe0070,
-	0xbeff0071, 0xb979f822,
-	0xb97b2011, 0x857b867b,
-	0xb97b0191, 0x857b827b,
-	0xb97bba11, 0xb973f801,
-	0xb8ee3b05, 0x806e816e,
-	0xbf0d9972, 0xbfa20002,
-	0x846e896e, 0xbfa00001,
-	0x846e8a6e, 0x806eff6e,
-	0x000001c0, 0x806e746e,
-	0x826f8075, 0xf4605c37,
-	0xf8000010, 0xf4605d37,
-	0xf8000020, 0xf4601e77,
-	0xf8000034, 0xbf8a0000,
-	0x856e9677, 0xb96e04a1,
-	0x856e9577, 0xb96e0421,
-	0x856e8e77, 0xb96e3021,
-	0x8b6dff6d, 0x01ffffff,
-	0x8bfe7e7e, 0x8bea6a6a,
-	0xb97af804, 0xb8eef802,
-	0xbf0c8b6e, 0xbfa20003,
-	0xbe804fc2, 0xbf94fffe,
-	0xbfa10001, 0xbe804ec4,
-	0xbf94fffc, 0x857a897a,
-	0xb97a0244, 0xbe804a6c,
+	0x80f6c076, 0x82f78077,
+	0xf460803b, 0xf8000000,
+	0xbf8a0000, 0x80fd907d,
+	0xbf800000, 0xbe804300,
+	0xbe824302, 0xbe844304,
+	0xbe864306, 0xbe884308,
+	0xbe8a430a, 0xbe8c430c,
+	0xbe8e430e, 0xbf06807d,
+	0xbfa1ffef, 0xb980f801,
+	0x00000000, 0xb8f83b05,
+	0x80788178, 0xbf0d9972,
+	0xbfa20002, 0x84788978,
+	0xbfa00001, 0x84788a78,
+	0x8078ff78, 0x00000200,
+	0x80767874, 0x82778075,
+	0xbeff0071, 0xf4601bfb,
+	0xf8000000, 0xf4601b3b,
+	0xf8000004, 0xf4601b7b,
+	0xf8000008, 0xf4601c3b,
+	0xf800000c, 0xf4601c7b,
+	0xf8000010, 0xf4601ebb,
+	0xf8000014, 0xf4601efb,
+	0xf8000018, 0xf4601e7b,
+	0xf800001c, 0xf4601cfb,
+	0xf8000020, 0xf4601bbb,
+	0xf8000024, 0xbf8a0000,
+	0xb96ef814, 0xf4601bbb,
+	0xf8000028, 0xbf8a0000,
+	0xb96ef815, 0xf4601bbb,
+	0xf800002c, 0xbf8a0000,
+	0xb96ef812, 0xf4601bbb,
+	0xf8000030, 0xbf8a0000,
+	0xb96ef813, 0x8b6eff7f,
+	0x04000000, 0xbfa10022,
+	0xf4601bbb, 0xf8000038,
+	0xbf8a0000, 0xbf0d806e,
+	0xbfa1001d, 0x856e906e,
+	0x8b6e6e6e, 0xbfa10003,
+	0xbe804ec1, 0x816ec16e,
+	0xbfa0fffb, 0xbef800ff,
+	0x00000080, 0xbefd0081,
+	0xf4601bbb, 0xf0000000,
+	0xbfc70000, 0x80788478,
+	0x937eff6e, 0x00070004,
+	0x847e907e, 0x8c7d7e7d,
+	0xbe80517d, 0x917dff7d,
+	0x007f0000, 0x856e906e,
+	0x8b6e6e6e, 0xbfa10003,
+	0xbe804e7d, 0x816ec16e,
+	0xbfa0fffb, 0x807d817d,
+	0xbf08907d, 0xbfa1ffec,
+	0xf4601bbb, 0xf800003c,
+	0xbfc70000, 0xbf0d806e,
+	0xbfa1000c, 0xbf0d9a7f,
+	0xbfa10002, 0xbf068180,
+	0xbe804fc4, 0xbf94fffc,
+	0xbfa10006, 0x856e906e,
+	0x8b6e6e6e, 0xbfa10003,
+	0xbe804ec3, 0x816ec16e,
+	0xbfa0fffb, 0xf4601bbb,
+	0xf8000040, 0xbfc70000,
+	0xb96ef81a, 0xbefd006f,
+	0xbefe0070, 0xbeff0071,
+	0xb979f822, 0xb97b2011,
+	0x857b867b, 0xb97b0191,
+	0x857b827b, 0xb97bba11,
+	0xb973f801, 0xb8ee3b05,
+	0x806e816e, 0xbf0d9972,
+	0xbfa20002, 0x846e896e,
+	0xbfa00001, 0x846e8a6e,
+	0x806eff6e, 0x000001c0,
+	0x806e746e, 0x826f8075,
+	0xf4605c37, 0xf8000010,
+	0xf4605d37, 0xf8000020,
+	0xf4601e77, 0xf8000034,
+	0xbf8a0000, 0x856e9677,
+	0xb96e04a1, 0x856e9577,
+	0xb96e0421, 0x856e8e77,
+	0xb96e3021, 0x8b6dff6d,
+	0x01ffffff, 0x8bfe7e7e,
+	0x8bea6a6a, 0xb97af804,
 	0xb8eef802, 0xbf0c8b6e,
 	0xbfa20003, 0xbe804fc2,
 	0xbf94fffe, 0xbfa10001,
 	0xbe804ec4, 0xbf94fffc,
-	0xbfb10000, 0xbf9f0000,
+	0x857a897a, 0xb97a0244,
+	0xbe804a6c, 0xb8eef802,
+	0xbf0c8b6e, 0xbfa20003,
+	0xbe804fc2, 0xbf94fffe,
+	0xbfa10001, 0xbe804ec4,
+	0xbf94fffc, 0xbfb10000,
 	0xbf9f0000, 0xbf9f0000,
 	0xbf9f0000, 0xbf9f0000,
+	0xbf9f0000, 0x00000000,
 };
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 1e248af0e9e9..89844d08f3ce 100644
--- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm
+++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm
@@ -48,6 +48,7 @@
 #define WAVE32_ONLY (ASIC_FAMILY >= CHIP_GC_12_0_3_REV_0)
 #define SAVE_TTMPS_IN_SGPR_BLOCK (ASIC_FAMILY >= CHIP_GC_12_0_3_REV_0)
 #define VMEM_ON_TRAP_ENTRY_WA (ASIC_FAMILY >= CHIP_GC_12_0_3_REV_0)
+#define HAVE_LDS_STORE_ACK_WA (ASIC_FAMILY >= CHIP_GC_12_0_3_REV_0)
 
 #if HAVE_XNACK && !WAVE32_ONLY
 # error
@@ -1015,6 +1016,16 @@ L_RESTORE_LDS_LOOP_W32:
 	s_add_u32	s_restore_mem_offset, s_restore_mem_offset, 128		//mem offset increased by 128DW
 	s_cmp_lt_u32	m0, s_restore_alloc_size				//scc=(m0 < s_restore_alloc_size) ? 1 : 0
 	s_cbranch_scc1	L_RESTORE_LDS_LOOP_W32					//LDS restore is complete?
+
+#if HAVE_LDS_STORE_ACK_WA
+	v_mov_b32	v0, 0
+	v_mov_b32	v1, 0
+	s_mov_b32	exec_lo, 0x3F
+	ds_or_b32	v1, v0
+	s_mov_b32	exec_lo, -1
+	s_wait_dscnt	0x0
+#endif
+
 	s_branch	L_RESTORE_VGPR
 
 L_RESTORE_LDS_LOOP_W64:
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* RE: [PATCH] drm/amdkfd: gfx12.1 trap handler LDS store ack workaround
  2026-11-06 21:29 [PATCH] drm/amdkfd: gfx12.1 trap handler LDS store ack workaround Jay Cornwall
@ 2026-11-06 21:44 ` Six, Lancelot
  0 siblings, 0 replies; 2+ messages in thread
From: Six, Lancelot @ 2026-11-06 21:44 UTC (permalink / raw)
  To: Cornwall, Jay, amd-gfx@lists.freedesktop.org; +Cc: Indic, Vladimir

AMD General

> -----Original Message-----
> From: Cornwall, Jay <Jay.Cornwall@amd.com>
> Sent: 06 November 2026 21:30
> To: amd-gfx@lists.freedesktop.org
> Cc: Cornwall, Jay <Jay.Cornwall@amd.com>; Six, Lancelot
> <Lancelot.Six@amd.com>; Indic, Vladimir <Vladimir.Indic@amd.com>
> Subject: [PATCH] drm/amdkfd: gfx12.1 trap handler LDS store ack
> workaround
>
> DS_STORE_B32 does not serialize correctly with S_WAIT_IDLE.
> Use a LDS no-op atomic to enforce serialization.
>
> Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
> Cc: Lancelot Six <lancelot.six@amd.com>
> Cc: Vladimir Indic <vladimir.indic@amd.com>

Hi,

This looks reasonable to me.  Thanks.

Best,
Lancelot.

Reviewed-by: Lancelot Six <lancelot.six@amd.com]>

> ---
>  .../gpu/drm/amd/amdkfd/cwsr_trap_handler.h    | 656 +++++++++---------
>  .../amd/amdkfd/cwsr_trap_handler_gfx12.asm    |  11 +
>  2 files changed, 343 insertions(+), 324 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
> b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
> index 5d468460f532..0e7bcfa487ee 100644
> --- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
> +++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
> @@ -5098,17 +5098,17 @@ static const uint32_t
> cwsr_trap_gfx12_1_0_rev_0_hex[] = {
>       0x018c0000, 0x00030000,
>       0x807d847d, 0x8070ff70,
>       0x00000400, 0xbf0a7b7d,
> -     0xbfa2ffe9, 0xbfa00184,
> +     0xbfa2ffe9, 0xbfa0018b,
>       0xbef4007e, 0x8b75ff7f,
>       0x01ffffff, 0xbef1007f,
>       0xb8f20742, 0x84729972,
>       0x8b6eff7f, 0x04000000,
> -     0xbfa10044, 0xbefe00c1,
> +     0xbfa1004b, 0xbefe00c1,
>       0x857d9972, 0x8b7d817d,
>       0xbf06817d, 0xbfa20002,
>       0xbeff0080, 0xbfa00001,
>       0xbeff00c1, 0xb8ef4306,
> -     0x8b6fc16f, 0xbfa10039,
> +     0x8b6fc16f, 0xbfa10040,
>       0x846f8a6f, 0xb8f83b05,
>       0x80788178, 0xbf0d9972,
>       0xbfa20002, 0x84788978,
> @@ -5119,7 +5119,7 @@ static const uint32_t
> cwsr_trap_gfx12_1_0_rev_0_hex[] = {
>       0xbf06817d, 0xbefd0080,
>       0xd71f0001, 0x000100c1,
>       0xd7200001, 0x000202c1,
> -     0x30020282, 0xbfa20012,
> +     0x30020282, 0xbfa20019,
>       0x80767874, 0x82778075,
>       0xee0a0076, 0x000c0000,
>       0x00000000, 0xbf8a0000,
> @@ -5128,178 +5128,182 @@ static const uint32_t
> cwsr_trap_gfx12_1_0_rev_0_hex[] = {
>       0x00000080, 0x807dff7d,
>       0x00000080, 0x8078ff78,
>       0x00000080, 0xbf0a6f7d,
> -     0xbfa2ffef, 0xbfa00011,
> -     0x80767874, 0x82778075,
> -     0xee0a0076, 0x000c0000,
> -     0x00000000, 0xbf8a0000,
> -     0xd8340000, 0x00000001,
> -     0xd5250001, 0x0001ff01,
> -     0x00000100, 0x807dff7d,
> -     0x00000100, 0x8078ff78,
> -     0x00000100, 0xbf0a6f7d,
> -     0xbfa2ffef, 0xbef80080,
> -     0xbefe00c1, 0x857d9972,
> -     0x8b7d817d, 0xbf06817d,
> -     0xbfa20002, 0xbeff0080,
> -     0xbfa00001, 0xbeff00c1,
> -     0xb8ef3b05, 0x806f816f,
> -     0x846f826f, 0x857d9972,
> -     0x8b7d817d, 0xbf06817d,
> -     0xbfa2002c, 0xbeee0078,
> -     0x8078ff78, 0x00000200,
> -     0xbefd0084, 0x80767874,
> -     0x82778075, 0xee0a0076,
> -     0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> -     0x00008000, 0xee0a0076,
> -     0x000c0002, 0x00010000,
> -     0xee0a0076, 0x000c0003,
> -     0x00018000, 0xbf8a0000,
> -     0x7e008500, 0x7e028501,
> -     0x7e048502, 0x7e068503,
> -     0x807d847d, 0x8078ff78,
> -     0x00000200, 0xbf0a6f7d,
> -     0xbfa2ffe8, 0x80766e74,
> -     0x82778075, 0xee0a0076,
> -     0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> -     0x00008000, 0xee0a0076,
> -     0x000c0002, 0x00010000,
> -     0xee0a0076, 0x000c0003,
> -     0x00018000, 0xbf8a0000,
> -     0xbfa0002d, 0xbeee0078,
> -     0x8078ff78, 0x00000400,
> -     0xbefd0084, 0xbf0a6f7d,
> -     0xbfa10018, 0x80767874,
> +     0xbfa2ffef, 0x7e000280,
> +     0x7e020280, 0xbefe00bf,
> +     0xd8280000, 0x00000001,
> +     0xbefe00c1, 0xbfc60000,
> +     0xbfa00011, 0x80767874,
>       0x82778075, 0xee0a0076,
>       0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> +     0xbf8a0000, 0xd8340000,
> +     0x00000001, 0xd5250001,
> +     0x0001ff01, 0x00000100,
> +     0x807dff7d, 0x00000100,
> +     0x8078ff78, 0x00000100,
> +     0xbf0a6f7d, 0xbfa2ffef,
> +     0xbef80080, 0xbefe00c1,
> +     0x857d9972, 0x8b7d817d,
> +     0xbf06817d, 0xbfa20002,
> +     0xbeff0080, 0xbfa00001,
> +     0xbeff00c1, 0xb8ef3b05,
> +     0x806f816f, 0x846f826f,
> +     0x857d9972, 0x8b7d817d,
> +     0xbf06817d, 0xbfa2002c,
> +     0xbeee0078, 0x8078ff78,
> +     0x00000200, 0xbefd0084,
> +     0x80767874, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00008000,
> +     0xee0a0076, 0x000c0002,
>       0x00010000, 0xee0a0076,
> -     0x000c0002, 0x00020000,
> -     0xee0a0076, 0x000c0003,
> -     0x00030000, 0xbf8a0000,
> -     0x7e008500, 0x7e028501,
> -     0x7e048502, 0x7e068503,
> -     0x807d847d, 0x8078ff78,
> -     0x00000400, 0xbf0a6f7d,
> -     0xbfa2ffe8, 0x80766e74,
> -     0x82778075, 0xee0a0076,
> -     0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> +     0x000c0003, 0x00018000,
> +     0xbf8a0000, 0x7e008500,
> +     0x7e028501, 0x7e048502,
> +     0x7e068503, 0x807d847d,
> +     0x8078ff78, 0x00000200,
> +     0xbf0a6f7d, 0xbfa2ffe8,
> +     0x80766e74, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00008000,
> +     0xee0a0076, 0x000c0002,
>       0x00010000, 0xee0a0076,
> -     0x000c0002, 0x00020000,
> -     0xee0a0076, 0x000c0003,
> -     0x00030000, 0xbf8a0000,
> -     0xb8f83b05, 0x80788178,
> -     0xbf0d9972, 0xbfa20002,
> -     0x84788978, 0xbfa00001,
> -     0x84788a78, 0x8078ff78,
> -     0x00000200, 0x80f8ff78,
> -     0x00000060, 0x80767874,
> -     0x82778075, 0xbefd00ff,
> -     0x0000006c, 0xf460403b,
> -     0xf8000000, 0xbf8a0000,
> -     0x80fd847d, 0xbf800000,
> -     0xbe804300, 0xbe824302,
> -     0x80f6a076, 0x82f78077,
> -     0xf460603b, 0xf8000000,
> -     0xbf8a0000, 0x80fd887d,
> +     0x000c0003, 0x00018000,
> +     0xbf8a0000, 0xbfa0002d,
> +     0xbeee0078, 0x8078ff78,
> +     0x00000400, 0xbefd0084,
> +     0xbf0a6f7d, 0xbfa10018,
> +     0x80767874, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00010000,
> +     0xee0a0076, 0x000c0002,
> +     0x00020000, 0xee0a0076,
> +     0x000c0003, 0x00030000,
> +     0xbf8a0000, 0x7e008500,
> +     0x7e028501, 0x7e048502,
> +     0x7e068503, 0x807d847d,
> +     0x8078ff78, 0x00000400,
> +     0xbf0a6f7d, 0xbfa2ffe8,
> +     0x80766e74, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00010000,
> +     0xee0a0076, 0x000c0002,
> +     0x00020000, 0xee0a0076,
> +     0x000c0003, 0x00030000,
> +     0xbf8a0000, 0xb8f83b05,
> +     0x80788178, 0xbf0d9972,
> +     0xbfa20002, 0x84788978,
> +     0xbfa00001, 0x84788a78,
> +     0x8078ff78, 0x00000200,
> +     0x80f8ff78, 0x00000060,
> +     0x80767874, 0x82778075,
> +     0xbefd00ff, 0x0000006c,
> +     0xf460403b, 0xf8000000,
> +     0xbf8a0000, 0x80fd847d,
>       0xbf800000, 0xbe804300,
> -     0xbe824302, 0xbe844304,
> -     0xbe864306, 0x80f6c076,
> -     0x82f78077, 0xf460803b,
> +     0xbe824302, 0x80f6a076,
> +     0x82f78077, 0xf460603b,
>       0xf8000000, 0xbf8a0000,
> -     0x80fd907d, 0xbf800000,
> +     0x80fd887d, 0xbf800000,
>       0xbe804300, 0xbe824302,
>       0xbe844304, 0xbe864306,
> -     0xbe884308, 0xbe8a430a,
> -     0xbe8c430c, 0xbe8e430e,
> -     0xbf06807d, 0xbfa1ffef,
> -     0xb980f801, 0x00000000,
> -     0xb8f83b05, 0x80788178,
> -     0xbf0d9972, 0xbfa20002,
> -     0x84788978, 0xbfa00001,
> -     0x84788a78, 0x8078ff78,
> -     0x00000200, 0x80767874,
> -     0x82778075, 0xbeff0071,
> -     0xf4601bfb, 0xf8000000,
> -     0xf4601b3b, 0xf8000004,
> -     0xf4601b7b, 0xf8000008,
> -     0xf4601c3b, 0xf800000c,
> -     0xf4601c7b, 0xf8000010,
> -     0xf4601ebb, 0xf8000014,
> -     0xf4601efb, 0xf8000018,
> -     0xf4601e7b, 0xf800001c,
> -     0xf4601cfb, 0xf8000020,
> -     0xf4601bbb, 0xf8000024,
> -     0xbf8a0000, 0xb96ef814,
> -     0xf4601bbb, 0xf8000028,
> -     0xbf8a0000, 0xb96ef815,
> -     0xf4601bbb, 0xf800002c,
> -     0xbf8a0000, 0xb96ef812,
> -     0xf4601bbb, 0xf8000030,
> -     0xbf8a0000, 0xb96ef813,
> -     0x8b6eff7f, 0x04000000,
> -     0xbfa10022, 0xf4601bbb,
> -     0xf8000038, 0xbf8a0000,
> -     0xbf0d806e, 0xbfa1001d,
> -     0x856e906e, 0x8b6e6e6e,
> -     0xbfa10003, 0xbe804ec1,
> -     0x816ec16e, 0xbfa0fffb,
> -     0xbef800ff, 0x00000080,
> -     0xbefd0081, 0xf4601bbb,
> -     0xf0000000, 0xbfc70000,
> -     0x80788478, 0x937eff6e,
> -     0x00070004, 0x847e907e,
> -     0x8c7d7e7d, 0xbe80517d,
> -     0x917dff7d, 0x007f0000,
> -     0x856e906e, 0x8b6e6e6e,
> -     0xbfa10003, 0xbe804e7d,
> -     0x816ec16e, 0xbfa0fffb,
> -     0x807d817d, 0xbf08907d,
> -     0xbfa1ffec, 0xf4601bbb,
> -     0xf800003c, 0xbfc70000,
> -     0xbf0d806e, 0xbfa1000c,
> -     0xbf0d9a7f, 0xbfa10002,
> -     0xbf068180, 0xbe804fc4,
> -     0xbf94fffc, 0xbfa10006,
> -     0x856e906e, 0x8b6e6e6e,
> -     0xbfa10003, 0xbe804ec3,
> -     0x816ec16e, 0xbfa0fffb,
> -     0xf4601bbb, 0xf8000040,
> -     0xbfc70000, 0xb96ef81a,
> -     0xbefd006f, 0xbefe0070,
> -     0xbeff0071, 0xb979f822,
> -     0xb97b2011, 0x857b867b,
> -     0xb97b0191, 0x857b827b,
> -     0xb97bba11, 0xb973f801,
> -     0xb8ee3b05, 0x806e816e,
> -     0xbf0d9972, 0xbfa20002,
> -     0x846e896e, 0xbfa00001,
> -     0x846e8a6e, 0x806eff6e,
> -     0x000001c0, 0x806e746e,
> -     0x826f8075, 0xf4605c37,
> -     0xf8000010, 0xf4605d37,
> -     0xf8000020, 0xf4601e77,
> -     0xf8000034, 0xbf8a0000,
> -     0x856e9677, 0xb96e04a1,
> -     0x856e9577, 0xb96e0421,
> -     0x856e8e77, 0xb96e3021,
> -     0x8b6dff6d, 0x01ffffff,
> -     0x8bfe7e7e, 0x8bea6a6a,
> -     0xb97af804, 0xb8eef802,
> -     0xbf0c8b6e, 0xbfa20003,
> -     0xbe804fc2, 0xbf94fffe,
> -     0xbfa10001, 0xbe804ec4,
> -     0xbf94fffc, 0x857a897a,
> -     0xb97a0244, 0xbe804a6c,
> +     0x80f6c076, 0x82f78077,
> +     0xf460803b, 0xf8000000,
> +     0xbf8a0000, 0x80fd907d,
> +     0xbf800000, 0xbe804300,
> +     0xbe824302, 0xbe844304,
> +     0xbe864306, 0xbe884308,
> +     0xbe8a430a, 0xbe8c430c,
> +     0xbe8e430e, 0xbf06807d,
> +     0xbfa1ffef, 0xb980f801,
> +     0x00000000, 0xb8f83b05,
> +     0x80788178, 0xbf0d9972,
> +     0xbfa20002, 0x84788978,
> +     0xbfa00001, 0x84788a78,
> +     0x8078ff78, 0x00000200,
> +     0x80767874, 0x82778075,
> +     0xbeff0071, 0xf4601bfb,
> +     0xf8000000, 0xf4601b3b,
> +     0xf8000004, 0xf4601b7b,
> +     0xf8000008, 0xf4601c3b,
> +     0xf800000c, 0xf4601c7b,
> +     0xf8000010, 0xf4601ebb,
> +     0xf8000014, 0xf4601efb,
> +     0xf8000018, 0xf4601e7b,
> +     0xf800001c, 0xf4601cfb,
> +     0xf8000020, 0xf4601bbb,
> +     0xf8000024, 0xbf8a0000,
> +     0xb96ef814, 0xf4601bbb,
> +     0xf8000028, 0xbf8a0000,
> +     0xb96ef815, 0xf4601bbb,
> +     0xf800002c, 0xbf8a0000,
> +     0xb96ef812, 0xf4601bbb,
> +     0xf8000030, 0xbf8a0000,
> +     0xb96ef813, 0x8b6eff7f,
> +     0x04000000, 0xbfa10022,
> +     0xf4601bbb, 0xf8000038,
> +     0xbf8a0000, 0xbf0d806e,
> +     0xbfa1001d, 0x856e906e,
> +     0x8b6e6e6e, 0xbfa10003,
> +     0xbe804ec1, 0x816ec16e,
> +     0xbfa0fffb, 0xbef800ff,
> +     0x00000080, 0xbefd0081,
> +     0xf4601bbb, 0xf0000000,
> +     0xbfc70000, 0x80788478,
> +     0x937eff6e, 0x00070004,
> +     0x847e907e, 0x8c7d7e7d,
> +     0xbe80517d, 0x917dff7d,
> +     0x007f0000, 0x856e906e,
> +     0x8b6e6e6e, 0xbfa10003,
> +     0xbe804e7d, 0x816ec16e,
> +     0xbfa0fffb, 0x807d817d,
> +     0xbf08907d, 0xbfa1ffec,
> +     0xf4601bbb, 0xf800003c,
> +     0xbfc70000, 0xbf0d806e,
> +     0xbfa1000c, 0xbf0d9a7f,
> +     0xbfa10002, 0xbf068180,
> +     0xbe804fc4, 0xbf94fffc,
> +     0xbfa10006, 0x856e906e,
> +     0x8b6e6e6e, 0xbfa10003,
> +     0xbe804ec3, 0x816ec16e,
> +     0xbfa0fffb, 0xf4601bbb,
> +     0xf8000040, 0xbfc70000,
> +     0xb96ef81a, 0xbefd006f,
> +     0xbefe0070, 0xbeff0071,
> +     0xb979f822, 0xb97b2011,
> +     0x857b867b, 0xb97b0191,
> +     0x857b827b, 0xb97bba11,
> +     0xb973f801, 0xb8ee3b05,
> +     0x806e816e, 0xbf0d9972,
> +     0xbfa20002, 0x846e896e,
> +     0xbfa00001, 0x846e8a6e,
> +     0x806eff6e, 0x000001c0,
> +     0x806e746e, 0x826f8075,
> +     0xf4605c37, 0xf8000010,
> +     0xf4605d37, 0xf8000020,
> +     0xf4601e77, 0xf8000034,
> +     0xbf8a0000, 0x856e9677,
> +     0xb96e04a1, 0x856e9577,
> +     0xb96e0421, 0x856e8e77,
> +     0xb96e3021, 0x8b6dff6d,
> +     0x01ffffff, 0x8bfe7e7e,
> +     0x8bea6a6a, 0xb97af804,
>       0xb8eef802, 0xbf0c8b6e,
>       0xbfa20003, 0xbe804fc2,
>       0xbf94fffe, 0xbfa10001,
>       0xbe804ec4, 0xbf94fffc,
> -     0xbfb10000, 0xbf9f0000,
> +     0x857a897a, 0xb97a0244,
> +     0xbe804a6c, 0xb8eef802,
> +     0xbf0c8b6e, 0xbfa20003,
> +     0xbe804fc2, 0xbf94fffe,
> +     0xbfa10001, 0xbe804ec4,
> +     0xbf94fffc, 0xbfb10000,
>       0xbf9f0000, 0xbf9f0000,
>       0xbf9f0000, 0xbf9f0000,
> +     0xbf9f0000, 0x00000000,
>  };
>
>  static const uint32_t cwsr_trap_gfx12_1_0_rev_1_hex[] = {
> @@ -5791,17 +5795,17 @@ static const uint32_t
> cwsr_trap_gfx12_1_0_rev_1_hex[] = {
>       0x018c0000, 0x00030000,
>       0x807d847d, 0x8070ff70,
>       0x00000400, 0xbf0a7b7d,
> -     0xbfa2ffe9, 0xbfa00184,
> +     0xbfa2ffe9, 0xbfa0018b,
>       0xbef4007e, 0x8b75ff7f,
>       0x01ffffff, 0xbef1007f,
>       0xb8f20742, 0x84729972,
>       0x8b6eff7f, 0x04000000,
> -     0xbfa10044, 0xbefe00c1,
> +     0xbfa1004b, 0xbefe00c1,
>       0x857d9972, 0x8b7d817d,
>       0xbf06817d, 0xbfa20002,
>       0xbeff0080, 0xbfa00001,
>       0xbeff00c1, 0xb8ef4306,
> -     0x8b6fc16f, 0xbfa10039,
> +     0x8b6fc16f, 0xbfa10040,
>       0x846f8a6f, 0xb8f83b05,
>       0x80788178, 0xbf0d9972,
>       0xbfa20002, 0x84788978,
> @@ -5812,7 +5816,7 @@ static const uint32_t
> cwsr_trap_gfx12_1_0_rev_1_hex[] = {
>       0xbf06817d, 0xbefd0080,
>       0xd71f0001, 0x000100c1,
>       0xd7200001, 0x000202c1,
> -     0x30020282, 0xbfa20012,
> +     0x30020282, 0xbfa20019,
>       0x80767874, 0x82778075,
>       0xee0a0076, 0x000c0000,
>       0x00000000, 0xbf8a0000,
> @@ -5821,176 +5825,180 @@ static const uint32_t
> cwsr_trap_gfx12_1_0_rev_1_hex[] = {
>       0x00000080, 0x807dff7d,
>       0x00000080, 0x8078ff78,
>       0x00000080, 0xbf0a6f7d,
> -     0xbfa2ffef, 0xbfa00011,
> -     0x80767874, 0x82778075,
> -     0xee0a0076, 0x000c0000,
> -     0x00000000, 0xbf8a0000,
> -     0xd8340000, 0x00000001,
> -     0xd5250001, 0x0001ff01,
> -     0x00000100, 0x807dff7d,
> -     0x00000100, 0x8078ff78,
> -     0x00000100, 0xbf0a6f7d,
> -     0xbfa2ffef, 0xbef80080,
> -     0xbefe00c1, 0x857d9972,
> -     0x8b7d817d, 0xbf06817d,
> -     0xbfa20002, 0xbeff0080,
> -     0xbfa00001, 0xbeff00c1,
> -     0xb8ef3b05, 0x806f816f,
> -     0x846f826f, 0x857d9972,
> -     0x8b7d817d, 0xbf06817d,
> -     0xbfa2002c, 0xbeee0078,
> -     0x8078ff78, 0x00000200,
> -     0xbefd0084, 0x80767874,
> -     0x82778075, 0xee0a0076,
> -     0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> -     0x00008000, 0xee0a0076,
> -     0x000c0002, 0x00010000,
> -     0xee0a0076, 0x000c0003,
> -     0x00018000, 0xbf8a0000,
> -     0x7e008500, 0x7e028501,
> -     0x7e048502, 0x7e068503,
> -     0x807d847d, 0x8078ff78,
> -     0x00000200, 0xbf0a6f7d,
> -     0xbfa2ffe8, 0x80766e74,
> -     0x82778075, 0xee0a0076,
> -     0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> -     0x00008000, 0xee0a0076,
> -     0x000c0002, 0x00010000,
> -     0xee0a0076, 0x000c0003,
> -     0x00018000, 0xbf8a0000,
> -     0xbfa0002d, 0xbeee0078,
> -     0x8078ff78, 0x00000400,
> -     0xbefd0084, 0xbf0a6f7d,
> -     0xbfa10018, 0x80767874,
> +     0xbfa2ffef, 0x7e000280,
> +     0x7e020280, 0xbefe00bf,
> +     0xd8280000, 0x00000001,
> +     0xbefe00c1, 0xbfc60000,
> +     0xbfa00011, 0x80767874,
>       0x82778075, 0xee0a0076,
>       0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> +     0xbf8a0000, 0xd8340000,
> +     0x00000001, 0xd5250001,
> +     0x0001ff01, 0x00000100,
> +     0x807dff7d, 0x00000100,
> +     0x8078ff78, 0x00000100,
> +     0xbf0a6f7d, 0xbfa2ffef,
> +     0xbef80080, 0xbefe00c1,
> +     0x857d9972, 0x8b7d817d,
> +     0xbf06817d, 0xbfa20002,
> +     0xbeff0080, 0xbfa00001,
> +     0xbeff00c1, 0xb8ef3b05,
> +     0x806f816f, 0x846f826f,
> +     0x857d9972, 0x8b7d817d,
> +     0xbf06817d, 0xbfa2002c,
> +     0xbeee0078, 0x8078ff78,
> +     0x00000200, 0xbefd0084,
> +     0x80767874, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00008000,
> +     0xee0a0076, 0x000c0002,
>       0x00010000, 0xee0a0076,
> -     0x000c0002, 0x00020000,
> -     0xee0a0076, 0x000c0003,
> -     0x00030000, 0xbf8a0000,
> -     0x7e008500, 0x7e028501,
> -     0x7e048502, 0x7e068503,
> -     0x807d847d, 0x8078ff78,
> -     0x00000400, 0xbf0a6f7d,
> -     0xbfa2ffe8, 0x80766e74,
> -     0x82778075, 0xee0a0076,
> -     0x000c0000, 0x00000000,
> -     0xee0a0076, 0x000c0001,
> +     0x000c0003, 0x00018000,
> +     0xbf8a0000, 0x7e008500,
> +     0x7e028501, 0x7e048502,
> +     0x7e068503, 0x807d847d,
> +     0x8078ff78, 0x00000200,
> +     0xbf0a6f7d, 0xbfa2ffe8,
> +     0x80766e74, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00008000,
> +     0xee0a0076, 0x000c0002,
>       0x00010000, 0xee0a0076,
> -     0x000c0002, 0x00020000,
> -     0xee0a0076, 0x000c0003,
> -     0x00030000, 0xbf8a0000,
> -     0xb8f83b05, 0x80788178,
> -     0xbf0d9972, 0xbfa20002,
> -     0x84788978, 0xbfa00001,
> -     0x84788a78, 0x8078ff78,
> -     0x00000200, 0x80f8ff78,
> -     0x00000060, 0x80767874,
> -     0x82778075, 0xbefd00ff,
> -     0x0000006c, 0xf460403b,
> -     0xf8000000, 0xbf8a0000,
> -     0x80fd847d, 0xbf800000,
> -     0xbe804300, 0xbe824302,
> -     0x80f6a076, 0x82f78077,
> -     0xf460603b, 0xf8000000,
> -     0xbf8a0000, 0x80fd887d,
> +     0x000c0003, 0x00018000,
> +     0xbf8a0000, 0xbfa0002d,
> +     0xbeee0078, 0x8078ff78,
> +     0x00000400, 0xbefd0084,
> +     0xbf0a6f7d, 0xbfa10018,
> +     0x80767874, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00010000,
> +     0xee0a0076, 0x000c0002,
> +     0x00020000, 0xee0a0076,
> +     0x000c0003, 0x00030000,
> +     0xbf8a0000, 0x7e008500,
> +     0x7e028501, 0x7e048502,
> +     0x7e068503, 0x807d847d,
> +     0x8078ff78, 0x00000400,
> +     0xbf0a6f7d, 0xbfa2ffe8,
> +     0x80766e74, 0x82778075,
> +     0xee0a0076, 0x000c0000,
> +     0x00000000, 0xee0a0076,
> +     0x000c0001, 0x00010000,
> +     0xee0a0076, 0x000c0002,
> +     0x00020000, 0xee0a0076,
> +     0x000c0003, 0x00030000,
> +     0xbf8a0000, 0xb8f83b05,
> +     0x80788178, 0xbf0d9972,
> +     0xbfa20002, 0x84788978,
> +     0xbfa00001, 0x84788a78,
> +     0x8078ff78, 0x00000200,
> +     0x80f8ff78, 0x00000060,
> +     0x80767874, 0x82778075,
> +     0xbefd00ff, 0x0000006c,
> +     0xf460403b, 0xf8000000,
> +     0xbf8a0000, 0x80fd847d,
>       0xbf800000, 0xbe804300,
> -     0xbe824302, 0xbe844304,
> -     0xbe864306, 0x80f6c076,
> -     0x82f78077, 0xf460803b,
> +     0xbe824302, 0x80f6a076,
> +     0x82f78077, 0xf460603b,
>       0xf8000000, 0xbf8a0000,
> -     0x80fd907d, 0xbf800000,
> +     0x80fd887d, 0xbf800000,
>       0xbe804300, 0xbe824302,
>       0xbe844304, 0xbe864306,
> -     0xbe884308, 0xbe8a430a,
> -     0xbe8c430c, 0xbe8e430e,
> -     0xbf06807d, 0xbfa1ffef,
> -     0xb980f801, 0x00000000,
> -     0xb8f83b05, 0x80788178,
> -     0xbf0d9972, 0xbfa20002,
> -     0x84788978, 0xbfa00001,
> -     0x84788a78, 0x8078ff78,
> -     0x00000200, 0x80767874,
> -     0x82778075, 0xbeff0071,
> -     0xf4601bfb, 0xf8000000,
> -     0xf4601b3b, 0xf8000004,
> -     0xf4601b7b, 0xf8000008,
> -     0xf4601c3b, 0xf800000c,
> -     0xf4601c7b, 0xf8000010,
> -     0xf4601ebb, 0xf8000014,
> -     0xf4601efb, 0xf8000018,
> -     0xf4601e7b, 0xf800001c,
> -     0xf4601cfb, 0xf8000020,
> -     0xf4601bbb, 0xf8000024,
> -     0xbf8a0000, 0xb96ef814,
> -     0xf4601bbb, 0xf8000028,
> -     0xbf8a0000, 0xb96ef815,
> -     0xf4601bbb, 0xf800002c,
> -     0xbf8a0000, 0xb96ef812,
> -     0xf4601bbb, 0xf8000030,
> -     0xbf8a0000, 0xb96ef813,
> -     0x8b6eff7f, 0x04000000,
> -     0xbfa10022, 0xf4601bbb,
> -     0xf8000038, 0xbf8a0000,
> -     0xbf0d806e, 0xbfa1001d,
> -     0x856e906e, 0x8b6e6e6e,
> -     0xbfa10003, 0xbe804ec1,
> -     0x816ec16e, 0xbfa0fffb,
> -     0xbef800ff, 0x00000080,
> -     0xbefd0081, 0xf4601bbb,
> -     0xf0000000, 0xbfc70000,
> -     0x80788478, 0x937eff6e,
> -     0x00070004, 0x847e907e,
> -     0x8c7d7e7d, 0xbe80517d,
> -     0x917dff7d, 0x007f0000,
> -     0x856e906e, 0x8b6e6e6e,
> -     0xbfa10003, 0xbe804e7d,
> -     0x816ec16e, 0xbfa0fffb,
> -     0x807d817d, 0xbf08907d,
> -     0xbfa1ffec, 0xf4601bbb,
> -     0xf800003c, 0xbfc70000,
> -     0xbf0d806e, 0xbfa1000c,
> -     0xbf0d9a7f, 0xbfa10002,
> -     0xbf068180, 0xbe804fc4,
> -     0xbf94fffc, 0xbfa10006,
> -     0x856e906e, 0x8b6e6e6e,
> -     0xbfa10003, 0xbe804ec3,
> -     0x816ec16e, 0xbfa0fffb,
> -     0xf4601bbb, 0xf8000040,
> -     0xbfc70000, 0xb96ef81a,
> -     0xbefd006f, 0xbefe0070,
> -     0xbeff0071, 0xb979f822,
> -     0xb97b2011, 0x857b867b,
> -     0xb97b0191, 0x857b827b,
> -     0xb97bba11, 0xb973f801,
> -     0xb8ee3b05, 0x806e816e,
> -     0xbf0d9972, 0xbfa20002,
> -     0x846e896e, 0xbfa00001,
> -     0x846e8a6e, 0x806eff6e,
> -     0x000001c0, 0x806e746e,
> -     0x826f8075, 0xf4605c37,
> -     0xf8000010, 0xf4605d37,
> -     0xf8000020, 0xf4601e77,
> -     0xf8000034, 0xbf8a0000,
> -     0x856e9677, 0xb96e04a1,
> -     0x856e9577, 0xb96e0421,
> -     0x856e8e77, 0xb96e3021,
> -     0x8b6dff6d, 0x01ffffff,
> -     0x8bfe7e7e, 0x8bea6a6a,
> -     0xb97af804, 0xb8eef802,
> -     0xbf0c8b6e, 0xbfa20003,
> -     0xbe804fc2, 0xbf94fffe,
> -     0xbfa10001, 0xbe804ec4,
> -     0xbf94fffc, 0x857a897a,
> -     0xb97a0244, 0xbe804a6c,
> +     0x80f6c076, 0x82f78077,
> +     0xf460803b, 0xf8000000,
> +     0xbf8a0000, 0x80fd907d,
> +     0xbf800000, 0xbe804300,
> +     0xbe824302, 0xbe844304,
> +     0xbe864306, 0xbe884308,
> +     0xbe8a430a, 0xbe8c430c,
> +     0xbe8e430e, 0xbf06807d,
> +     0xbfa1ffef, 0xb980f801,
> +     0x00000000, 0xb8f83b05,
> +     0x80788178, 0xbf0d9972,
> +     0xbfa20002, 0x84788978,
> +     0xbfa00001, 0x84788a78,
> +     0x8078ff78, 0x00000200,
> +     0x80767874, 0x82778075,
> +     0xbeff0071, 0xf4601bfb,
> +     0xf8000000, 0xf4601b3b,
> +     0xf8000004, 0xf4601b7b,
> +     0xf8000008, 0xf4601c3b,
> +     0xf800000c, 0xf4601c7b,
> +     0xf8000010, 0xf4601ebb,
> +     0xf8000014, 0xf4601efb,
> +     0xf8000018, 0xf4601e7b,
> +     0xf800001c, 0xf4601cfb,
> +     0xf8000020, 0xf4601bbb,
> +     0xf8000024, 0xbf8a0000,
> +     0xb96ef814, 0xf4601bbb,
> +     0xf8000028, 0xbf8a0000,
> +     0xb96ef815, 0xf4601bbb,
> +     0xf800002c, 0xbf8a0000,
> +     0xb96ef812, 0xf4601bbb,
> +     0xf8000030, 0xbf8a0000,
> +     0xb96ef813, 0x8b6eff7f,
> +     0x04000000, 0xbfa10022,
> +     0xf4601bbb, 0xf8000038,
> +     0xbf8a0000, 0xbf0d806e,
> +     0xbfa1001d, 0x856e906e,
> +     0x8b6e6e6e, 0xbfa10003,
> +     0xbe804ec1, 0x816ec16e,
> +     0xbfa0fffb, 0xbef800ff,
> +     0x00000080, 0xbefd0081,
> +     0xf4601bbb, 0xf0000000,
> +     0xbfc70000, 0x80788478,
> +     0x937eff6e, 0x00070004,
> +     0x847e907e, 0x8c7d7e7d,
> +     0xbe80517d, 0x917dff7d,
> +     0x007f0000, 0x856e906e,
> +     0x8b6e6e6e, 0xbfa10003,
> +     0xbe804e7d, 0x816ec16e,
> +     0xbfa0fffb, 0x807d817d,
> +     0xbf08907d, 0xbfa1ffec,
> +     0xf4601bbb, 0xf800003c,
> +     0xbfc70000, 0xbf0d806e,
> +     0xbfa1000c, 0xbf0d9a7f,
> +     0xbfa10002, 0xbf068180,
> +     0xbe804fc4, 0xbf94fffc,
> +     0xbfa10006, 0x856e906e,
> +     0x8b6e6e6e, 0xbfa10003,
> +     0xbe804ec3, 0x816ec16e,
> +     0xbfa0fffb, 0xf4601bbb,
> +     0xf8000040, 0xbfc70000,
> +     0xb96ef81a, 0xbefd006f,
> +     0xbefe0070, 0xbeff0071,
> +     0xb979f822, 0xb97b2011,
> +     0x857b867b, 0xb97b0191,
> +     0x857b827b, 0xb97bba11,
> +     0xb973f801, 0xb8ee3b05,
> +     0x806e816e, 0xbf0d9972,
> +     0xbfa20002, 0x846e896e,
> +     0xbfa00001, 0x846e8a6e,
> +     0x806eff6e, 0x000001c0,
> +     0x806e746e, 0x826f8075,
> +     0xf4605c37, 0xf8000010,
> +     0xf4605d37, 0xf8000020,
> +     0xf4601e77, 0xf8000034,
> +     0xbf8a0000, 0x856e9677,
> +     0xb96e04a1, 0x856e9577,
> +     0xb96e0421, 0x856e8e77,
> +     0xb96e3021, 0x8b6dff6d,
> +     0x01ffffff, 0x8bfe7e7e,
> +     0x8bea6a6a, 0xb97af804,
>       0xb8eef802, 0xbf0c8b6e,
>       0xbfa20003, 0xbe804fc2,
>       0xbf94fffe, 0xbfa10001,
>       0xbe804ec4, 0xbf94fffc,
> -     0xbfb10000, 0xbf9f0000,
> +     0x857a897a, 0xb97a0244,
> +     0xbe804a6c, 0xb8eef802,
> +     0xbf0c8b6e, 0xbfa20003,
> +     0xbe804fc2, 0xbf94fffe,
> +     0xbfa10001, 0xbe804ec4,
> +     0xbf94fffc, 0xbfb10000,
>       0xbf9f0000, 0xbf9f0000,
>       0xbf9f0000, 0xbf9f0000,
> +     0xbf9f0000, 0x00000000,
>  };
> 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 1e248af0e9e9..89844d08f3ce 100644
> --- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm
> +++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm
> @@ -48,6 +48,7 @@
>  #define WAVE32_ONLY (ASIC_FAMILY >= CHIP_GC_12_0_3_REV_0)
>  #define SAVE_TTMPS_IN_SGPR_BLOCK (ASIC_FAMILY >=
> CHIP_GC_12_0_3_REV_0)
>  #define VMEM_ON_TRAP_ENTRY_WA (ASIC_FAMILY >=
> CHIP_GC_12_0_3_REV_0)
> +#define HAVE_LDS_STORE_ACK_WA (ASIC_FAMILY >=
> CHIP_GC_12_0_3_REV_0)
>
>  #if HAVE_XNACK && !WAVE32_ONLY
>  # error
> @@ -1015,6 +1016,16 @@ L_RESTORE_LDS_LOOP_W32:
>       s_add_u32       s_restore_mem_offset, s_restore_mem_offset, 128
>               //mem offset increased by 128DW
>       s_cmp_lt_u32    m0, s_restore_alloc_size
>       //scc=(m0 < s_restore_alloc_size) ? 1 : 0
>       s_cbranch_scc1  L_RESTORE_LDS_LOOP_W32
>               //LDS restore is complete?
> +
> +#if HAVE_LDS_STORE_ACK_WA
> +     v_mov_b32       v0, 0
> +     v_mov_b32       v1, 0
> +     s_mov_b32       exec_lo, 0x3F
> +     ds_or_b32       v1, v0
> +     s_mov_b32       exec_lo, -1
> +     s_wait_dscnt    0x0
> +#endif
> +
>       s_branch        L_RESTORE_VGPR
>
>  L_RESTORE_LDS_LOOP_W64:
> --
> 2.43.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-11-06 21:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-06 21:29 [PATCH] drm/amdkfd: gfx12.1 trap handler LDS store ack workaround Jay Cornwall
2026-11-06 21:44 ` Six, Lancelot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.