]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdkfd: always enable ttmp setup for gfx12
authorJonathan Kim <jonathan.kim@amd.com>
Wed, 25 Oct 2023 13:04:48 +0000 (09:04 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2024 20:18:13 +0000 (16:18 -0400)
Similar to GFX11, always enable the setup of trap temporaries on GFX12.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v12.c
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
drivers/gpu/drm/amd/amdkfd/kfd_debug.h

index 5aa2fd147d99d4a1044c415a8b34440e261c3991..efb4bed2d900ab52f05418149456b505eeb28bff 100644 (file)
@@ -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);
 
index 8147990ebefc3131186c42799fb3700c3b192967..080f5879a55c57c441d01d3a528c3dabf947f12a 100644 (file)
@@ -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);
index 43e8cafdd8ff13f5e9899f879b15bb297abcbefd..924d0fd85dfb88bb03e96cbd6af03bb75c03d2da 100644 (file)
@@ -135,6 +135,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