aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2753-drm-amdkfd-Fix-gfx9-XNACK-state-save-restore.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2753-drm-amdkfd-Fix-gfx9-XNACK-state-save-restore.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2753-drm-amdkfd-Fix-gfx9-XNACK-state-save-restore.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2753-drm-amdkfd-Fix-gfx9-XNACK-state-save-restore.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2753-drm-amdkfd-Fix-gfx9-XNACK-state-save-restore.patch
new file mode 100644
index 00000000..5d27f5db
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2753-drm-amdkfd-Fix-gfx9-XNACK-state-save-restore.patch
@@ -0,0 +1,68 @@
+From cc688cb816a86f6f3b4172b858018d7036ca7fd1 Mon Sep 17 00:00:00 2001
+From: Jay Cornwall <Jay.Cornwall@amd.com>
+Date: Tue, 19 Feb 2019 14:51:56 -0600
+Subject: [PATCH 2753/2940] drm/amdkfd: Fix gfx9 XNACK state save/restore
+
+SQ_WAVE_IB_STS.RCNT grew from 4 bits to 5 in gfx9. Do not truncate
+when saving in the high bits of TTMP1.
+
+Change-Id: I5838434da75b38367158e0d3f76d2362e752f65d
+Signed-off-by: Jay Cornwall <Jay.Cornwall@amd.com>
+---
+ drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h | 12 ++++++------
+ .../gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm | 8 ++++----
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+index 097da0dd3b04..eed845b4e9a7 100644
+--- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
++++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+@@ -310,8 +310,8 @@ static const uint32_t cwsr_trap_gfx9_hex[] = {
+ 0xbe801f6c, 0x866dff6d,
+ 0x0000ffff, 0xbef00080,
+ 0xb9700283, 0xb8f02407,
+- 0x8e709c70, 0x876d706d,
+- 0xb8f003c7, 0x8e709b70,
++ 0x8e709b70, 0x876d706d,
++ 0xb8f003c7, 0x8e709a70,
+ 0x876d706d, 0xb8f0f807,
+ 0x8670ff70, 0x00007fff,
+ 0xb970f807, 0xbeee007e,
+@@ -549,11 +549,11 @@ static const uint32_t cwsr_trap_gfx9_hex[] = {
+ 0x00000048, 0xc0031e77,
+ 0x00000058, 0xc0071eb7,
+ 0x0000005c, 0xbf8cc07f,
+- 0x866fff6d, 0xf0000000,
+- 0x8f6f9c6f, 0x8e6f906f,
++ 0x866fff6d, 0xf8000000,
++ 0x8f6f9b6f, 0x8e6f906f,
+ 0xbeee0080, 0x876e6f6e,
+- 0x866fff6d, 0x08000000,
+- 0x8f6f9b6f, 0x8e6f8f6f,
++ 0x866fff6d, 0x04000000,
++ 0x8f6f9a6f, 0x8e6f8f6f,
+ 0x876e6f6e, 0x866fff70,
+ 0x00800000, 0x8f6f976f,
+ 0xb96ef807, 0x866dff6d,
+diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm
+index 6a010c9e55de..e1ac34517642 100644
+--- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm
++++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm
+@@ -150,10 +150,10 @@ var S_SAVE_SPI_INIT_MTYPE_SHIFT = 28
+ var S_SAVE_SPI_INIT_FIRST_WAVE_MASK = 0x04000000 //bit[26]: FirstWaveInTG
+ var S_SAVE_SPI_INIT_FIRST_WAVE_SHIFT = 26
+
+-var S_SAVE_PC_HI_RCNT_SHIFT = 28 //FIXME check with Brian to ensure all fields other than PC[47:0] can be used
+-var S_SAVE_PC_HI_RCNT_MASK = 0xF0000000 //FIXME
+-var S_SAVE_PC_HI_FIRST_REPLAY_SHIFT = 27 //FIXME
+-var S_SAVE_PC_HI_FIRST_REPLAY_MASK = 0x08000000 //FIXME
++var S_SAVE_PC_HI_RCNT_SHIFT = 27 //FIXME check with Brian to ensure all fields other than PC[47:0] can be used
++var S_SAVE_PC_HI_RCNT_MASK = 0xF8000000 //FIXME
++var S_SAVE_PC_HI_FIRST_REPLAY_SHIFT = 26 //FIXME
++var S_SAVE_PC_HI_FIRST_REPLAY_MASK = 0x04000000 //FIXME
+
+ var s_save_spi_init_lo = exec_lo
+ var s_save_spi_init_hi = exec_hi
+--
+2.17.1
+