Modify gmc block ras functions to fit for the unified ras function pointers.

Signed-off-by: yipechai <yipeng.c...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c  |  8 ++++----
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h  |  7 ++-----
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c  |  4 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 20 ++++++++++----------
 drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h |  2 +-
 5 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
index 83f26bca7dac..b7c462749d37 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c
@@ -452,8 +452,8 @@ int amdgpu_gmc_ras_late_init(struct amdgpu_device *adev)
                adev->gmc.xgmi.ras_funcs = &xgmi_ras_funcs;
 
        if (adev->gmc.xgmi.ras_funcs &&
-           adev->gmc.xgmi.ras_funcs->ras_late_init) {
-               r = adev->gmc.xgmi.ras_funcs->ras_late_init(adev);
+           adev->gmc.xgmi.ras_funcs->ops.ras_late_init) {
+               r = adev->gmc.xgmi.ras_funcs->ops.ras_late_init(adev);
                if (r)
                        return r;
        }
@@ -500,8 +500,8 @@ void amdgpu_gmc_ras_fini(struct amdgpu_device *adev)
                adev->mmhub.ras_funcs->ras_fini(adev);
 
        if (adev->gmc.xgmi.ras_funcs &&
-           adev->gmc.xgmi.ras_funcs->ras_fini)
-               adev->gmc.xgmi.ras_funcs->ras_fini(adev);
+           adev->gmc.xgmi.ras_funcs->ops.ras_fini)
+               adev->gmc.xgmi.ras_funcs->ops.ras_fini(adev);
 
        if (adev->hdp.ras_funcs &&
            adev->hdp.ras_funcs->ras_fini)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
index e55201134a01..f6f7d996ff98 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
@@ -29,6 +29,7 @@
 #include <linux/types.h>
 
 #include "amdgpu_irq.h"
+#include "amdgpu_ras.h"
 
 /* VA hole for 48bit addresses on Vega10 */
 #define AMDGPU_GMC_HOLE_START  0x0000800000000000ULL
@@ -136,11 +137,7 @@ struct amdgpu_gmc_funcs {
 };
 
 struct amdgpu_xgmi_ras_funcs {
-       int (*ras_late_init)(struct amdgpu_device *adev);
-       void (*ras_fini)(struct amdgpu_device *adev);
-       int (*query_ras_error_count)(struct amdgpu_device *adev,
-                                    void *ras_error_status);
-       void (*reset_ras_error_count)(struct amdgpu_device *adev);
+       struct amdgpu_ras_block_ops ops;
 };
 
 struct amdgpu_xgmi {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 790aaba065ab..7f830bf8f8df 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -943,8 +943,8 @@ int amdgpu_ras_query_error_status(struct amdgpu_device 
*adev,
                break;
        case AMDGPU_RAS_BLOCK__XGMI_WAFL:
                if (adev->gmc.xgmi.ras_funcs &&
-                   adev->gmc.xgmi.ras_funcs->query_ras_error_count)
-                       adev->gmc.xgmi.ras_funcs->query_ras_error_count(adev, 
&err_data);
+                   adev->gmc.xgmi.ras_funcs->ops.query_ras_error_count)
+                       
adev->gmc.xgmi.ras_funcs->ops.query_ras_error_count(adev, &err_data);
                break;
        case AMDGPU_RAS_BLOCK__HDP:
                if (adev->hdp.ras_funcs &&
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index 0d149f5f000e..306962c95d52 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -739,7 +739,7 @@ static int amdgpu_xgmi_ras_late_init(struct amdgpu_device 
*adev)
            adev->gmc.xgmi.num_physical_nodes == 0)
                return 0;
 
-       adev->gmc.xgmi.ras_funcs->reset_ras_error_count(adev);
+       adev->gmc.xgmi.ras_funcs->ops.reset_ras_error_count(adev);
 
        if (!adev->gmc.xgmi.ras_if) {
                adev->gmc.xgmi.ras_if = kmalloc(sizeof(struct ras_common_if), 
GFP_KERNEL);
@@ -859,7 +859,7 @@ static int amdgpu_xgmi_query_pcs_error_status(struct 
amdgpu_device *adev,
        return 0;
 }
 
-static int amdgpu_xgmi_query_ras_error_count(struct amdgpu_device *adev,
+static void amdgpu_xgmi_query_ras_error_count(struct amdgpu_device *adev,
                                             void *ras_error_status)
 {
        struct ras_err_data *err_data = (struct ras_err_data *)ras_error_status;
@@ -868,7 +868,7 @@ static int amdgpu_xgmi_query_ras_error_count(struct 
amdgpu_device *adev,
        uint32_t ue_cnt = 0, ce_cnt = 0;
 
        if (!amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__XGMI_WAFL))
-               return -EINVAL;
+               return ;
 
        err_data->ue_count = 0;
        err_data->ce_count = 0;
@@ -934,17 +934,17 @@ static int amdgpu_xgmi_query_ras_error_count(struct 
amdgpu_device *adev,
                break;
        }
 
-       adev->gmc.xgmi.ras_funcs->reset_ras_error_count(adev);
+       adev->gmc.xgmi.ras_funcs->ops.reset_ras_error_count(adev);
 
        err_data->ue_count += ue_cnt;
        err_data->ce_count += ce_cnt;
-
-       return 0;
 }
 
 const struct amdgpu_xgmi_ras_funcs xgmi_ras_funcs = {
-       .ras_late_init = amdgpu_xgmi_ras_late_init,
-       .ras_fini = amdgpu_xgmi_ras_fini,
-       .query_ras_error_count = amdgpu_xgmi_query_ras_error_count,
-       .reset_ras_error_count = amdgpu_xgmi_reset_ras_error_count,
+       .ops = {
+               .ras_late_init = amdgpu_xgmi_ras_late_init,
+               .ras_fini = amdgpu_xgmi_ras_fini,
+               .query_ras_error_count = amdgpu_xgmi_query_ras_error_count,
+               .reset_ras_error_count = amdgpu_xgmi_reset_ras_error_count,
+       },
 };
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
index d2189bf7d428..0f3f09d58793 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
@@ -24,7 +24,7 @@
 
 #include <drm/task_barrier.h>
 #include "amdgpu_psp.h"
-
+#include "amdgpu_ras.h"
 
 struct amdgpu_hive_info {
        struct kobject kobj;
-- 
2.25.1

Reply via email to