]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu: Add client ids for mmhub v4.x
authorLijo Lazar <lijo.lazar@amd.com>
Tue, 17 Mar 2026 07:41:18 +0000 (13:11 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 17 Mar 2026 21:50:45 +0000 (17:50 -0400)
Initialize client ids for mmhub v4.x

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mmhub_v4_1_0.c
drivers/gpu/drm/amd/amdgpu/mmhub_v4_2_0.c

index 88bfe321f83aaa2af039ebb5fea084940d3600f7..bef75c4c48d3e2eecd1b9c84c80b0a601438ae6b 100644 (file)
@@ -90,7 +90,7 @@ mmhub_v4_1_0_print_l2_protection_fault_status(struct amdgpu_device *adev,
                                              uint32_t status)
 {
        uint32_t cid, rw;
-       const char *mmhub_cid = NULL;
+       const char *mmhub_cid;
 
        cid = REG_GET_FIELD(status,
                            MMVM_L2_PROTECTION_FAULT_STATUS_LO32, CID);
@@ -100,15 +100,7 @@ mmhub_v4_1_0_print_l2_protection_fault_status(struct amdgpu_device *adev,
        dev_err(adev->dev,
                "MMVM_L2_PROTECTION_FAULT_STATUS_LO32:0x%08X\n",
                status);
-       switch (amdgpu_ip_version(adev, MMHUB_HWIP, 0)) {
-       case IP_VERSION(4, 1, 0):
-               mmhub_cid = cid < ARRAY_SIZE(mmhub_client_ids_v4_1_0) ?
-                       mmhub_client_ids_v4_1_0[cid][rw] : NULL;
-               break;
-       default:
-               mmhub_cid = NULL;
-               break;
-       }
+       mmhub_cid = amdgpu_mmhub_client_name(&adev->mmhub, cid, rw);
        dev_err(adev->dev, "\t Faulty UTCL2 client ID: %s (0x%x)\n",
                mmhub_cid ? mmhub_cid : "unknown", cid);
        dev_err(adev->dev, "\t MORE_FAULTS: 0x%lx\n",
@@ -515,6 +507,10 @@ static void mmhub_v4_1_0_init(struct amdgpu_device *adev)
                SOC15_REG_OFFSET(MMHUB, 0, regMMVM_CONTEXTS_DISABLE);
 
        hub->vmhub_funcs = &mmhub_v4_1_0_vmhub_funcs;
+
+       amdgpu_mmhub_init_client_info(&adev->mmhub,
+                                    mmhub_client_ids_v4_1_0,
+                                    ARRAY_SIZE(mmhub_client_ids_v4_1_0));
 }
 
 static u64 mmhub_v4_1_0_get_fb_location(struct amdgpu_device *adev)
index 2fb82e022c79bcf45f7a3206c63818a27b82e54d..29f7ed466858785261ee47e3dd68c363f765d100 100644 (file)
@@ -716,7 +716,7 @@ mmhub_v4_2_0_print_l2_protection_fault_status(struct amdgpu_device *adev,
                                              uint32_t status)
 {
        uint32_t cid, rw;
-       const char *mmhub_cid = NULL;
+       const char *mmhub_cid;
 
        cid = REG_GET_FIELD(status,
                            MMVM_L2_PROTECTION_FAULT_STATUS_LO32, CID);
@@ -726,15 +726,7 @@ mmhub_v4_2_0_print_l2_protection_fault_status(struct amdgpu_device *adev,
        dev_err(adev->dev,
                "MMVM_L2_PROTECTION_FAULT_STATUS_LO32:0x%08X\n",
                status);
-       switch (amdgpu_ip_version(adev, MMHUB_HWIP, 0)) {
-       case IP_VERSION(4, 2, 0):
-               mmhub_cid = cid < ARRAY_SIZE(mmhub_client_ids_v4_2_0) ?
-                       mmhub_client_ids_v4_2_0[cid][rw] : NULL;
-               break;
-       default:
-               mmhub_cid = NULL;
-               break;
-       }
+       mmhub_cid = amdgpu_mmhub_client_name(&adev->mmhub, cid, rw);
        dev_err(adev->dev, "\t Faulty UTCL2 client ID: %s (0x%x)\n",
                mmhub_cid ? mmhub_cid : "unknown", cid);
        dev_err(adev->dev, "\t MORE_FAULTS: 0x%lx\n",
@@ -825,6 +817,10 @@ static void mmhub_v4_2_0_init(struct amdgpu_device *adev)
 
        mid_mask = adev->aid_mask;
        mmhub_v4_2_0_mid_init(adev, mid_mask);
+
+       amdgpu_mmhub_init_client_info(&adev->mmhub,
+                                    mmhub_client_ids_v4_2_0,
+                                    ARRAY_SIZE(mmhub_client_ids_v4_2_0));
 }
 
 static void