summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorTim Huang <tim.huang@amd.com>2025-01-20 14:11:34 +0800
committerAlex Deucher <alexander.deucher@amd.com>2026-01-05 16:27:50 -0500
commit7aaaca3be44523c689648448dc127a711f0c3cb6 (patch)
treed68d0862de9d8fbcbd581749653dbf68bc65ef8c /drivers/gpu
parente2fd14f579b841f54a9b7162fef15234d8c0627a (diff)
drm/amdgpu: add support for MMHUB IP version 3.4.0
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>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c1
-rw-r--r--drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c34
2 files changed, 35 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
index ad5e512e3fb8..7bd361057c3c 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c
@@ -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:
diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c
index f6fc9778bc30..daf1f8ad4cca 100644
--- a/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c
+++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c
@@ -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;