XGMI v4.8.0 is not used in any SOCs. Remove the associated functions.
Also, ensure get_xgmi_info callback pointer is not NULL before calling
the function.

Signed-off-by: Lijo Lazar <lijo.la...@amd.com>
Reviewed-by: Hawking Zhang <hawking.zh...@amd.com>
---
v2:
        Remove XGMI v4.8.0 as it is unused (Hawking)

 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c |  3 --
 drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c      | 37 -------------------
 3 files changed, 1 insertion(+), 41 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 5e1d8f0039d0..b2e9e116be44 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4410,7 +4410,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
 
        amdgpu_gmc_noretry_set(adev);
        /* Need to get xgmi info early to decide the reset behavior*/
-       if (adev->gmc.xgmi.supported) {
+       if (adev->gfxhub.funcs->get_xgmi_info && adev->gmc.xgmi.supported) {
                r = adev->gfxhub.funcs->get_xgmi_info(adev);
                if (r)
                        return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
index a4258127083d..967a992829bd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
@@ -2772,9 +2772,6 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device 
*adev)
                break;
        }
 
-       if (amdgpu_ip_version(adev, XGMI_HWIP, 0) == IP_VERSION(4, 8, 0))
-               adev->gmc.xgmi.supported = true;
-
        if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 3) ||
            amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 4))
                adev->ip_versions[XGMI_HWIP][0] = IP_VERSION(6, 4, 0);
diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c 
b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c
index 17509f32f61a..deb95fab02df 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c
@@ -505,42 +505,6 @@ static void gfxhub_v2_1_init(struct amdgpu_device *adev)
        hub->vmhub_funcs = &gfxhub_v2_1_vmhub_funcs;
 }
 
-static int gfxhub_v2_1_get_xgmi_info(struct amdgpu_device *adev)
-{
-       u32 xgmi_lfb_cntl = RREG32_SOC15(GC, 0, mmGCMC_VM_XGMI_LFB_CNTL);
-       u32 max_region =
-               REG_GET_FIELD(xgmi_lfb_cntl, GCMC_VM_XGMI_LFB_CNTL, 
PF_MAX_REGION);
-       u32 max_num_physical_nodes   = 0;
-       u32 max_physical_node_id     = 0;
-
-       switch (amdgpu_ip_version(adev, XGMI_HWIP, 0)) {
-       case IP_VERSION(4, 8, 0):
-               max_num_physical_nodes   = 4;
-               max_physical_node_id     = 3;
-               break;
-       default:
-               return -EINVAL;
-       }
-
-       /* PF_MAX_REGION=0 means xgmi is disabled */
-       if (max_region) {
-               adev->gmc.xgmi.num_physical_nodes = max_region + 1;
-               if (adev->gmc.xgmi.num_physical_nodes > max_num_physical_nodes)
-                       return -EINVAL;
-
-               adev->gmc.xgmi.physical_node_id =
-                       REG_GET_FIELD(xgmi_lfb_cntl, GCMC_VM_XGMI_LFB_CNTL, 
PF_LFB_REGION);
-               if (adev->gmc.xgmi.physical_node_id > max_physical_node_id)
-                       return -EINVAL;
-
-               adev->gmc.xgmi.node_segment_size = REG_GET_FIELD(
-                       RREG32_SOC15(GC, 0, mmGCMC_VM_XGMI_LFB_SIZE),
-                       GCMC_VM_XGMI_LFB_SIZE, PF_LFB_SIZE) << 24;
-       }
-
-       return 0;
-}
-
 static void gfxhub_v2_1_utcl2_harvest(struct amdgpu_device *adev)
 {
        int i;
@@ -696,7 +660,6 @@ const struct amdgpu_gfxhub_funcs gfxhub_v2_1_funcs = {
        .gart_disable = gfxhub_v2_1_gart_disable,
        .set_fault_enable_default = gfxhub_v2_1_set_fault_enable_default,
        .init = gfxhub_v2_1_init,
-       .get_xgmi_info = gfxhub_v2_1_get_xgmi_info,
        .utcl2_harvest = gfxhub_v2_1_utcl2_harvest,
        .mode2_save_regs = gfxhub_v2_1_save_regs,
        .mode2_restore_regs = gfxhub_v2_1_restore_regs,
-- 
2.25.1

Reply via email to