drm/amdgpu: split mmhub v3_0_2 callbacks from mmhub v3_0
authorHawking Zhang <Hawking.Zhang@amd.com>
Sun, 6 Feb 2022 16:55:03 +0000 (00:55 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 May 2022 20:51:51 +0000 (16:51 -0400)
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 <Hawking.Zhang@amd.com>
Reviewed-by: Likun Gao <Likun.Gao@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c

index 61db2a3..f1c73c5 100644 (file)
@@ -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)