]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: add support for MMHUB IP version 3.4.0
authorTim Huang <tim.huang@amd.com>
Mon, 20 Jan 2025 06:11:34 +0000 (14:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Jan 2026 21:27:50 +0000 (16:27 -0500)
This initializes MMHUB IP version 3.4.0.

v2: squash in clients table update (Alex)

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Tim Huang <tim.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c

index ad5e512e3fb8a1408df5de52d0b15a94ccfa7a96..7bd361057c3c5338449680dc00fd4b38eac98bd0 100644 (file)
@@ -584,6 +584,7 @@ static void gmc_v11_0_set_mmhub_funcs(struct amdgpu_device *adev)
        case IP_VERSION(3, 3, 0):
        case IP_VERSION(3, 3, 1):
        case IP_VERSION(3, 3, 2):
+       case IP_VERSION(3, 4, 0):
                adev->mmhub.funcs = &mmhub_v3_3_funcs;
                break;
        default:
index f6fc9778bc3059ec655610c79f80683a6fc257b9..daf1f8ad4ccaa2bd215fd086459866a6fb7023ef 100644 (file)
@@ -163,6 +163,35 @@ static const char *mmhub_client_ids_v3_3_1[][2] = {
        [32+30][1] = "VCN1",
 };
 
+static const char *mmhub_client_ids_v3_4[][2] = {
+       [0][0] = "VMC",
+       [4][0] = "DCEDMC",
+       [5][0] = "MPXSP",
+       [6][0] = "MPASP",
+       [7][0] = "MP1",
+       [8][0] = "MPM",
+       [23][0] = "HDP",
+       [24][0] = "LSDMA",
+       [25][0] = "JPEG",
+       [26][0] = "VPE",
+       [27][0] = "VSCH",
+       [28][0] = "VCNU",
+       [30][0] = "VCNRD",
+       [3][1] = "DCEDWB",
+       [4][1] = "DCEDMC",
+       [5][1] = "MPXSP",
+       [6][1] = "MPASAP",
+       [7][1] = "MP1",
+       [8][1] = "MPM",
+       [21][1] = "OSSSYS",
+       [23][1] = "HDP",
+       [24][1] = "LSDMA",
+       [25][1] = "JPEG",
+       [26][1] = "VPE",
+       [27][1] = "VSCH",
+       [29][1] = "VCNWR",
+};
+
 static uint32_t mmhub_v3_3_get_invalidate_req(unsigned int vmid,
                                                uint32_t flush_type)
 {
@@ -211,6 +240,11 @@ mmhub_v3_3_print_l2_protection_fault_status(struct amdgpu_device *adev,
                            mmhub_client_ids_v3_3_1[cid][rw] :
                            cid == 0x140 ? "UMSCH" : NULL;
                break;
+       case IP_VERSION(3, 4, 0):
+               mmhub_cid = cid < ARRAY_SIZE(mmhub_client_ids_v3_4) ?
+                       mmhub_client_ids_v3_4[cid][rw] :
+               cid == 0x140 ? "UMSCH" : NULL;
+               break;
        default:
                mmhub_cid = NULL;
                break;