From f40fc1916ce8243c48cdfcdb97ba51a012c78af9 Mon Sep 17 00:00:00 2001 From: Hawking Zhang Date: Mon, 7 Feb 2022 00:55:03 +0800 Subject: [PATCH] drm/amdgpu: split mmhub v3_0_2 callbacks from mmhub v3_0 So we don't need to add ip version check in every callback when there is atc related programming that is only available in mmhub v3_0 Signed-off-by: Hawking Zhang Reviewed-by: Likun Gao Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c index 61db2a378008..f1c73c5a0507 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c @@ -37,6 +37,7 @@ #include "nbio_v4_3.h" #include "gfxhub_v3_0.h" #include "mmhub_v3_0.h" +#include "mmhub_v3_0_2.h" #include "athub_v3_0.h" @@ -550,7 +551,14 @@ static void gmc_v11_0_set_umc_funcs(struct amdgpu_device *adev) static void gmc_v11_0_set_mmhub_funcs(struct amdgpu_device *adev) { - adev->mmhub.funcs = &mmhub_v3_0_funcs; + switch (adev->ip_versions[MMHUB_HWIP][0]) { + case IP_VERSION(3, 0, 2): + adev->mmhub.funcs = &mmhub_v3_0_2_funcs; + break; + default: + adev->mmhub.funcs = &mmhub_v3_0_funcs; + break; + } } static void gmc_v11_0_set_gfxhub_funcs(struct amdgpu_device *adev) -- 2.20.1