drm/amdkfd: add ASIC version check for the reset selection of RAS poison
authorTao Zhou <tao.zhou1@amd.com>
Thu, 13 Jun 2024 09:15:17 +0000 (17:15 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jun 2024 20:18:27 +0000 (16:18 -0400)
GFX v9.4.3 uses mode1 reset, other ASICs choose mode2.

Signed-off-by: Tao Zhou <tao.zhou1@amd.com>
Acked-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c

index 78dde62fb04ad7fb39b278374f8546405da2d05a..816800555f7f2b5c6f5acbfced00d3ec482a46c1 100644 (file)
@@ -164,7 +164,10 @@ static void event_interrupt_poison_consumption_v9(struct kfd_node *dev,
        case SOC15_IH_CLIENTID_SE3SH:
        case SOC15_IH_CLIENTID_UTCL2:
                block = AMDGPU_RAS_BLOCK__GFX;
-               reset = AMDGPU_RAS_GPU_RESET_MODE1_RESET;
+               if (amdgpu_ip_version(dev->adev, GC_HWIP, 0) == IP_VERSION(9, 4, 3))
+                       reset = AMDGPU_RAS_GPU_RESET_MODE1_RESET;
+               else
+                       reset = AMDGPU_RAS_GPU_RESET_MODE2_RESET;
                break;
        case SOC15_IH_CLIENTID_VMC:
        case SOC15_IH_CLIENTID_VMC1:
@@ -177,7 +180,10 @@ static void event_interrupt_poison_consumption_v9(struct kfd_node *dev,
        case SOC15_IH_CLIENTID_SDMA3:
        case SOC15_IH_CLIENTID_SDMA4:
                block = AMDGPU_RAS_BLOCK__SDMA;
-               reset = AMDGPU_RAS_GPU_RESET_MODE1_RESET;
+               if (amdgpu_ip_version(dev->adev, GC_HWIP, 0) == IP_VERSION(9, 4, 3))
+                       reset = AMDGPU_RAS_GPU_RESET_MODE1_RESET;
+               else
+                       reset = AMDGPU_RAS_GPU_RESET_MODE2_RESET;
                break;
        default:
                dev_warn(dev->adev->dev,