aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3807-drm-amdkfd-Swap-trap-temporary-registers-in-gfx10-tr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3807-drm-amdkfd-Swap-trap-temporary-registers-in-gfx10-tr.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3807-drm-amdkfd-Swap-trap-temporary-registers-in-gfx10-tr.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3807-drm-amdkfd-Swap-trap-temporary-registers-in-gfx10-tr.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3807-drm-amdkfd-Swap-trap-temporary-registers-in-gfx10-tr.patch
new file mode 100644
index 00000000..3469dcb5
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3807-drm-amdkfd-Swap-trap-temporary-registers-in-gfx10-tr.patch
@@ -0,0 +1,59 @@
+From 07dcdb04449c5d22090041f20ce4df66f9b9c1c1 Mon Sep 17 00:00:00 2001
+From: Jay Cornwall <jay.cornwall@amd.com>
+Date: Thu, 12 Sep 2019 14:03:41 -0500
+Subject: [PATCH 3807/4256] drm/amdkfd: Swap trap temporary registers in gfx10
+ trap handler
+
+ttmp[4:5] hold information useful to the debugger. Use ttmp[14:15]
+instead, aligning implementation with gfx9 trap handler.
+
+Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
+Reviewed-by: shaoyun liu <Shaoyun.liu@amd.com>
+---
+ drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h | 6 +++---
+ drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm | 10 +++++-----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+index a8cf82d46109..901fe3590165 100644
+--- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
++++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h
+@@ -694,10 +694,10 @@ static const uint32_t cwsr_trap_gfx10_hex[] = {
+ 0x003f8000, 0x8f6f896f,
+ 0x88776f77, 0x8a6eff6e,
+ 0x023f8000, 0xb9eef807,
+- 0xb970f812, 0xb971f813,
+- 0x8ff08870, 0xf4051bb8,
++ 0xb97af812, 0xb97bf813,
++ 0x8ffa887a, 0xf4051bbd,
+ 0xfa000000, 0xbf8cc07f,
+- 0xf4051c38, 0xfa000008,
++ 0xf4051ebd, 0xfa000008,
+ 0xbf8cc07f, 0x87ee6e6e,
+ 0xbf840001, 0xbe80206e,
+ 0xb971f803, 0x8771ff71,
+diff --git a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm
+index 35986219ce5f..cdaa523ce6be 100644
+--- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm
++++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm
+@@ -187,12 +187,12 @@ L_FETCH_2ND_TRAP:
+ // Read second-level TBA/TMA from first-level TMA and jump if available.
+ // ttmp[2:5] and ttmp12 can be used (others hold SPI-initialized debug data)
+ // ttmp12 holds SQ_WAVE_STATUS
+- s_getreg_b32 ttmp4, hwreg(HW_REG_SHADER_TMA_LO)
+- s_getreg_b32 ttmp5, hwreg(HW_REG_SHADER_TMA_HI)
+- s_lshl_b64 [ttmp4, ttmp5], [ttmp4, ttmp5], 0x8
+- s_load_dwordx2 [ttmp2, ttmp3], [ttmp4, ttmp5], 0x0 glc:1 // second-level TBA
++ s_getreg_b32 ttmp14, hwreg(HW_REG_SHADER_TMA_LO)
++ s_getreg_b32 ttmp15, hwreg(HW_REG_SHADER_TMA_HI)
++ s_lshl_b64 [ttmp14, ttmp15], [ttmp14, ttmp15], 0x8
++ s_load_dwordx2 [ttmp2, ttmp3], [ttmp14, ttmp15], 0x0 glc:1 // second-level TBA
+ s_waitcnt lgkmcnt(0)
+- s_load_dwordx2 [ttmp4, ttmp5], [ttmp4, ttmp5], 0x8 glc:1 // second-level TMA
++ s_load_dwordx2 [ttmp14, ttmp15], [ttmp14, ttmp15], 0x8 glc:1 // second-level TMA
+ s_waitcnt lgkmcnt(0)
+ s_and_b64 [ttmp2, ttmp3], [ttmp2, ttmp3], [ttmp2, ttmp3]
+ s_cbranch_scc0 L_NO_NEXT_TRAP // second-level trap handler not been set
+--
+2.17.1
+