drm/amdgpu: Initialize mmhub v1_8 ras function
authorHawking Zhang <Hawking.Zhang@amd.com>
Sun, 22 Jan 2023 15:26:40 +0000 (23:26 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:53:42 +0000 (09:53 -0400)
Initialize mmhub v1_8 ras function.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
drivers/gpu/drm/amd/amdgpu/mmhub_v1_8.c
drivers/gpu/drm/amd/amdgpu/mmhub_v1_8.h

index b6c500b..16634a7 100644 (file)
@@ -1419,6 +1419,9 @@ static void gmc_v9_0_set_mmhub_ras_funcs(struct amdgpu_device *adev)
        case IP_VERSION(9, 4, 2):
                adev->mmhub.ras = &mmhub_v1_7_ras;
                break;
+       case IP_VERSION(1, 8, 0):
+               adev->mmhub.ras = &mmhub_v1_8_ras;
+               break;
        default:
                /* mmhub ras is not available */
                break;
index 4f274c7..3648994 100644 (file)
@@ -847,3 +847,16 @@ static void mmhub_v1_8_reset_ras_error_status(struct amdgpu_device *adev)
        for_each_inst(i, inst_mask)
                mmhub_v1_8_inst_reset_ras_err_status(adev, i);
 }
+
+static const struct amdgpu_ras_block_hw_ops mmhub_v1_8_ras_hw_ops = {
+       .query_ras_error_count = mmhub_v1_8_query_ras_error_count,
+       .reset_ras_error_count = mmhub_v1_8_reset_ras_error_count,
+       .query_ras_error_status = mmhub_v1_8_query_ras_error_status,
+       .reset_ras_error_status = mmhub_v1_8_reset_ras_error_status,
+};
+
+struct amdgpu_mmhub_ras mmhub_v1_8_ras = {
+       .ras_block = {
+               .hw_ops = &mmhub_v1_8_ras_hw_ops,
+       },
+};
index 0bb3620..126f007 100644 (file)
@@ -24,5 +24,6 @@
 #define __MMHUB_V1_8_H__
 
 extern const struct amdgpu_mmhub_funcs mmhub_v1_8_funcs;
+extern struct amdgpu_mmhub_ras mmhub_v1_8_ras;
 
 #endif