From: Jay Cornwall <jay.cornwall@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: Jay Cornwall <jay.cornwall@amd.com>,
Lancelot Six <lancelot.six@amd.com>,
Vladimir Indic <vladimir.indic@amd.com>
Subject: [PATCH] drm/amdkfd: gfx12.1 trap handler LDS store ack workaround
Date: Fri, 6 Nov 2026 16:29:32 -0500 [thread overview]
Message-ID: <20261106212932.9400-1-jay.cornwall@amd.com> (raw)
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
next reply other threads:[~2026-11-06 21:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 21:29 Jay Cornwall [this message]
2026-11-06 21:44 ` [PATCH] drm/amdkfd: gfx12.1 trap handler LDS store ack workaround Six, Lancelot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261106212932.9400-1-jay.cornwall@amd.com \
--to=jay.cornwall@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=lancelot.six@amd.com \
--cc=vladimir.indic@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.