common gmc_ecc_late_init can be shared among all generations of gmc

Signed-off-by: Tao Zhou <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 19 +++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h |  1 +
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c   | 22 +---------------------
 3 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
index 8dc5251d346f..e486c0009a41 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
@@ -306,6 +306,25 @@ bool amdgpu_gmc_filter_faults(struct amdgpu_device *adev, 
uint64_t addr,
        return false;
 }
 
+int amdgpu_gmc_ecc_late_init(struct amdgpu_device *adev)
+{
+       int r;
+
+       if (adev->umc.funcs && adev->umc.funcs->ras_late_init) {
+               r = adev->umc.funcs->ras_late_init(adev);
+               if (r)
+                       return r;
+       }
+
+       if (adev->mmhub.funcs && adev->mmhub.funcs->ras_late_init) {
+               r = adev->mmhub.funcs->ras_late_init(adev);
+               if (r)
+                       return r;
+       }
+
+       return amdgpu_xgmi_ras_late_init(adev);
+}
+
 void amdgpu_gmc_ras_fini(struct amdgpu_device *adev)
 {
        amdgpu_umc_ras_fini(adev);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
index 41edd86efe73..34f17ed75411 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
@@ -233,6 +233,7 @@ void amdgpu_gmc_agp_location(struct amdgpu_device *adev,
                             struct amdgpu_gmc *mc);
 bool amdgpu_gmc_filter_faults(struct amdgpu_device *adev, uint64_t addr,
                              uint16_t pasid, uint64_t timestamp);
+int amdgpu_gmc_ecc_late_init(struct amdgpu_device *adev);
 void amdgpu_gmc_ras_fini(struct amdgpu_device *adev);
 
 #endif
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c 
b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
index 451bbb575468..48dd6e1443c1 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
@@ -728,26 +728,6 @@ static int gmc_v9_0_allocate_vm_inv_eng(struct 
amdgpu_device *adev)
        return 0;
 }
 
-static int gmc_v9_0_ecc_late_init(void *handle)
-{
-       int r;
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
-
-       if (adev->umc.funcs && adev->umc.funcs->ras_late_init) {
-               r = adev->umc.funcs->ras_late_init(adev);
-               if (r)
-                       return r;
-       }
-
-       if (adev->mmhub.funcs && adev->mmhub.funcs->ras_late_init) {
-               r = adev->mmhub.funcs->ras_late_init(adev);
-               if (r)
-                       return r;
-       }
-
-       return amdgpu_xgmi_ras_late_init(adev);
-}
-
 static int gmc_v9_0_late_init(void *handle)
 {
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
@@ -785,7 +765,7 @@ static int gmc_v9_0_late_init(void *handle)
                }
        }
 
-       r = gmc_v9_0_ecc_late_init(handle);
+       r = amdgpu_gmc_ecc_late_init(adev);
        if (r)
                return r;
 
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to