From: Tim Huang <[email protected]> This initializes MMHUB IP version 3.4.0.
v2: squash in clients table update (Alex) Signed-off-by: Tim Huang <[email protected]> Signed-off-by: Alex Deucher <[email protected]> --- drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 1 + drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.c | 34 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c index ad5e512e3fb8a..7bd361057c3c5 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 f6fc9778bc305..daf1f8ad4ccaa 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; -- 2.52.0
