summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm
diff options
context:
space:
mode:
authorFelix Kuehling <Felix.Kuehling@amd.com>2020-08-08 01:22:27 +0300
committerAlex Deucher <alexander.deucher@amd.com>2020-08-11 00:24:51 +0300
commit5218992251e62cedd16ff4466717ca09b7ad4b18 (patch)
treedd0769576a4d971e180fd4843bc347cbbff7e5bd /drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm
parent5068ed578e34450a285fca3f9d830361b44267ad (diff)
downloadlinux-5218992251e62cedd16ff4466717ca09b7ad4b18.tar.xz
Revert "drm/amdkfd: Fix spurious debug exception on gfx10"
This reverts commit ea368183ae900e376b66d3f23da22acde48e385a. Needed due to conflicts when reverting "drm/amdkfd: Unify gfx9/gfx10 context save area layouts". Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm')
-rw-r--r--drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm7
1 files changed, 2 insertions, 5 deletions
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 0f8e06a2ea8d..4569db452160 100644
--- a/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm
+++ b/drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm
@@ -895,11 +895,6 @@ L_RESTORE_SGPR:
s_cmp_eq_u32 m0, 0 //scc = (m0 < s_sgpr_save_num) ? 1 : 0
s_cbranch_scc0 L_RESTORE_SGPR_LOOP
- // s_barrier with MODE.DEBUG_EN=1, STATUS.PRIV=1 incorrectly asserts debug exception.
- // Clear DEBUG_EN before and restore MODE after the barrier.
- s_setreg_imm32_b32 hwreg(HW_REG_MODE), 0
- s_barrier //barrier to ensure the readiness of LDS before access attemps from any other wave in the same TG
-
/* restore HW registers */
L_RESTORE_HWREG:
// HWREG SR memory offset : size(VGPR)+size(SVGPR)+size(SGPR)
@@ -983,6 +978,8 @@ L_RESTORE_HWREG:
s_and_b64 vcc, vcc, vcc // Restore STATUS.VCCZ, not writable by s_setreg_b32
s_setreg_b32 hwreg(HW_REG_STATUS), s_restore_status // SCC is included, which is changed by previous salu
+ s_barrier //barrier to ensure the readiness of LDS before access attemps from any other wave in the same TG
+
s_rfe_b64 s_restore_pc_lo //Return to the main shader program and resume execution
L_END_PGM: