[PATCH 08/14] drm/amdkfd: always enable ttmp setup for gfx12

Alex Deucher alexander.deucher at amd.com
Mon Apr 29 14:57:20 UTC 2024


From: Jonathan Kim <jonathan.kim at amd.com>

Similar to GFX11, always enable the setup of trap temporaries on GFX12.

Signed-off-by: Jonathan Kim <jonathan.kim at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12.c | 2 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c             | 1 +
 drivers/gpu/drm/amd/amdkfd/kfd_debug.h             | 3 ++-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12.c
index 5aa2fd147d99d..efb4bed2d900a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12.c
@@ -205,7 +205,7 @@ static uint32_t kgd_gfx_v12_disable_debug_trap(struct amdgpu_device *adev,
 {
 	uint32_t data = 0;
 
-	data = REG_SET_FIELD(data, SPI_GDBG_PER_VMID_CNTL, TRAP_EN, keep_trap_enabled);
+	data = REG_SET_FIELD(data, SPI_GDBG_PER_VMID_CNTL, TRAP_EN, 1);
 	data = REG_SET_FIELD(data, SPI_GDBG_PER_VMID_CNTL, EXCP_EN, 0);
 	data = REG_SET_FIELD(data, SPI_GDBG_PER_VMID_CNTL, EXCP_REPLACE, 0);
 
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
index c94ed3b929cb4..51955a4e47d59 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
@@ -1446,6 +1446,7 @@ static void gfx_v12_0_init_compute_vmid(struct amdgpu_device *adev)
 		/* Enable trap for each kfd vmid. */
 		data = RREG32_SOC15(GC, 0, regSPI_GDBG_PER_VMID_CNTL);
 		data = REG_SET_FIELD(data, SPI_GDBG_PER_VMID_CNTL, TRAP_EN, 1);
+		WREG32_SOC15(GC, 0, regSPI_GDBG_PER_VMID_CNTL, data);
 	}
 	soc24_grbm_select(adev, 0, 0, 0, 0);
 	mutex_unlock(&adev->srbm_mutex);
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debug.h b/drivers/gpu/drm/amd/amdkfd/kfd_debug.h
index fd0ff64d4184a..da9a3cb329f13 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_debug.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_debug.h
@@ -134,6 +134,7 @@ static inline bool kfd_dbg_has_ttmps_always_setup(struct kfd_node *dev)
 			KFD_GC_VERSION(dev) != IP_VERSION(9, 4, 2)) ||
 	       (KFD_GC_VERSION(dev) >= IP_VERSION(11, 0, 0) &&
 			KFD_GC_VERSION(dev) < IP_VERSION(12, 0, 0) &&
-			(dev->adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 70);
+			(dev->adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 70) ||
+	       (KFD_GC_VERSION(dev) >= IP_VERSION(12, 0, 0));
 }
 #endif
-- 
2.44.0



More information about the amd-gfx mailing list