From: Hawking Zhang <[email protected]>

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 <[email protected]>
Reviewed-by: Likun Gao <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 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 032414d7429d..ab9f8b7e0aa8 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"
 
 
@@ -599,7 +600,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.35.1

Reply via email to