drm/amdgpu: Modify .ras_late_init function pointer parameter
authoryipechai <YiPeng.Chai@amd.com>
Mon, 14 Feb 2022 06:12:55 +0000 (14:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 17 Feb 2022 20:59:04 +0000 (15:59 -0500)
Modify .ras_late_init function pointer parameter so that
it can remove redundant intermediate calls in some ras blocks.

Signed-off-by: yipechai <YiPeng.Chai@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
15 files changed:
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.c
drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.h
drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.c
drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.h
drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.c
drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h
drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c
drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
drivers/gpu/drm/amd/amdgpu/mca_v3_0.c

index fe392108b5c2d990ac9d7ef7764bc47a2f10ea06..b7470ed7bc25f64f1967151f3373a55cf7e73fea 100644 (file)
@@ -622,7 +622,7 @@ int amdgpu_get_gfx_off_status(struct amdgpu_device *adev, uint32_t *value)
        return r;
 }
 
-int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        int r;
        r = amdgpu_ras_block_late_init(adev, adev->gfx.ras_if);
index f99eac544f6d36c0306187228cddd8b3eaead775..ccca0a85b982ba3929bcb675db7b2c6c36ce8cbb 100644 (file)
@@ -386,7 +386,7 @@ bool amdgpu_gfx_is_me_queue_enabled(struct amdgpu_device *adev, int me,
                                    int pipe, int queue);
 void amdgpu_gfx_off_ctrl(struct amdgpu_device *adev, bool enable);
 int amdgpu_get_gfx_off_status(struct amdgpu_device *adev, uint32_t *value);
-int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev, void *ras_info);
+int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block);
 void amdgpu_gfx_ras_fini(struct amdgpu_device *adev);
 int amdgpu_gfx_process_ras_data_cb(struct amdgpu_device *adev,
                void *err_data,
index 21a5f884dd2adb5e1dc35b69232cf60a0d9464df..70a09616099841856365e117f8312ba2ec2c1bcc 100644 (file)
@@ -24,7 +24,7 @@
 #include "amdgpu.h"
 #include "amdgpu_ras.h"
 
-int amdgpu_hdp_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+int amdgpu_hdp_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        return amdgpu_ras_block_late_init(adev, adev->hdp.ras_if);
 }
index 4af2c2a322e7d5c7597e0ce289ccafc618db7fd8..aabd59aa5213b11c0ad6cd245defaf0d27166454 100644 (file)
@@ -43,6 +43,6 @@ struct amdgpu_hdp {
        struct amdgpu_hdp_ras   *ras;
 };
 
-int amdgpu_hdp_ras_late_init(struct amdgpu_device *adev, void *ras_info);
+int amdgpu_hdp_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block);
 void amdgpu_hdp_ras_fini(struct amdgpu_device *adev);
 #endif /* __AMDGPU_HDP_H__ */
index 2bdb4d8b7955f477c947ab60e39c3bad7c83dada..ede98db8c126a94f2725932d13af65ed89b0ed1c 100644 (file)
@@ -24,7 +24,7 @@
 #include "amdgpu.h"
 #include "amdgpu_ras.h"
 
-int amdgpu_mmhub_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+int amdgpu_mmhub_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        return amdgpu_ras_block_late_init(adev, adev->mmhub.ras_if);
 }
index 7deda9a3b81eba2dcd9f63dc38d617367d114908..75815106f2d5eabe03704e02ddc9723a029a3d6d 100644 (file)
@@ -47,7 +47,7 @@ struct amdgpu_mmhub {
        struct amdgpu_mmhub_ras  *ras;
 };
 
-int amdgpu_mmhub_ras_late_init(struct amdgpu_device *adev, void *ras_info);
+int amdgpu_mmhub_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block);
 void amdgpu_mmhub_ras_fini(struct amdgpu_device *adev);
 #endif
 
index 89e61fdd3580c8322b3a95738b8df6668edfed4c..92fd4ffa77793af2a923441d99cedf0aee548842 100644 (file)
@@ -22,7 +22,7 @@
 #include "amdgpu.h"
 #include "amdgpu_ras.h"
 
-int amdgpu_nbio_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+int amdgpu_nbio_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        int r;
        r = amdgpu_ras_block_late_init(adev, adev->nbio.ras_if);
index 4afb76d3cd9710664220b3d9833e72dacbfe06ba..f9546c7341b80b428d675d8511aadaa5c349aecb 100644 (file)
@@ -104,6 +104,6 @@ struct amdgpu_nbio {
        struct amdgpu_nbio_ras  *ras;
 };
 
-int amdgpu_nbio_ras_late_init(struct amdgpu_device *adev, void *ras_info);
+int amdgpu_nbio_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block);
 void amdgpu_nbio_ras_fini(struct amdgpu_device *adev);
 #endif
index 5de567c6a8f7685893016fcb842345c9a0a34b03..837d1b79a9cb8db144d894dc858b5629753c2064 100644 (file)
@@ -490,7 +490,7 @@ struct amdgpu_ras_block_object {
 
        int (*ras_block_match)(struct amdgpu_ras_block_object *block_obj,
                                enum amdgpu_ras_block block, uint32_t sub_block_index);
-       int (*ras_late_init)(struct amdgpu_device *adev, void *ras_info);
+       int (*ras_late_init)(struct amdgpu_device *adev, struct ras_common_if *ras_block);
        void (*ras_fini)(struct amdgpu_device *adev);
        ras_ih_cb ras_cb;
        const struct amdgpu_ras_block_hw_ops *hw_ops;
index 242a7b4dcad96ee72d1e3ad4b923dccab8bf98ba..594454dba4c12b490322bbdb39d7d443c02c7ad2 100644 (file)
@@ -87,7 +87,7 @@ uint64_t amdgpu_sdma_get_csa_mc_addr(struct amdgpu_ring *ring,
 }
 
 int amdgpu_sdma_ras_late_init(struct amdgpu_device *adev,
-                             void *ras_ih_info)
+                             struct ras_common_if *ras_block)
 {
        int r, i;
 
index eaee12ab651811dd04bba35723c313e526e2f560..8b226ffee32c018a9743f868005791af1ee18eed 100644 (file)
@@ -117,7 +117,7 @@ amdgpu_sdma_get_instance_from_ring(struct amdgpu_ring *ring);
 int amdgpu_sdma_get_index_from_ring(struct amdgpu_ring *ring, uint32_t *index);
 uint64_t amdgpu_sdma_get_csa_mc_addr(struct amdgpu_ring *ring, unsigned vmid);
 int amdgpu_sdma_ras_late_init(struct amdgpu_device *adev,
-                             void *ras_ih_info);
+                             struct ras_common_if *ras_block);
 void amdgpu_sdma_ras_fini(struct amdgpu_device *adev);
 int amdgpu_sdma_process_ras_data_cb(struct amdgpu_device *adev,
                void *err_data,
index 9f1406e1a48a540adc9eb951e7e1c3bb7b8b739d..7abf9299e0d7f79fe4362facacd5dc4e289be2a6 100644 (file)
@@ -136,7 +136,7 @@ int amdgpu_umc_process_ras_data_cb(struct amdgpu_device *adev,
        return amdgpu_umc_do_page_retirement(adev, ras_error_status, entry, true);
 }
 
-int amdgpu_umc_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+int amdgpu_umc_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        int r;
 
index ec15b364039923a758d7811668d5aa901fc45993..e4b3678a6685c95e66025e984842f164ab6f0f15 100644 (file)
@@ -72,7 +72,7 @@ struct amdgpu_umc {
        struct amdgpu_umc_ras *ras;
 };
 
-int amdgpu_umc_ras_late_init(struct amdgpu_device *adev, void *ras_info);
+int amdgpu_umc_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block);
 void amdgpu_umc_ras_fini(struct amdgpu_device *adev);
 int amdgpu_umc_poison_handler(struct amdgpu_device *adev,
                void *ras_error_status,
index a785b1e088cd7aeca2b4902aa36ca1319eb039d1..91f788f6f6b56f461811d554882d7b8bfdd922dc 100644 (file)
@@ -732,7 +732,7 @@ int amdgpu_xgmi_remove_device(struct amdgpu_device *adev)
        return psp_xgmi_terminate(&adev->psp);
 }
 
-static int amdgpu_xgmi_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+static int amdgpu_xgmi_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        if (!adev->gmc.xgmi.supported ||
            adev->gmc.xgmi.num_physical_nodes == 0)
index c442b34b94723b034c65bc4d52f52f3ee91e32ba..72ce19acb8bb6817f5f36a83511fe880c86a892a 100644 (file)
@@ -37,7 +37,7 @@ static void mca_v3_0_mp0_query_ras_error_count(struct amdgpu_device *adev,
                                         ras_error_status);
 }
 
-static int mca_v3_0_mp0_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+static int mca_v3_0_mp0_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        return amdgpu_mca_ras_late_init(adev, &adev->mca.mp0);
 }
@@ -89,7 +89,7 @@ static void mca_v3_0_mp1_query_ras_error_count(struct amdgpu_device *adev,
                                         ras_error_status);
 }
 
-static int mca_v3_0_mp1_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+static int mca_v3_0_mp1_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        return amdgpu_mca_ras_late_init(adev, &adev->mca.mp1);
 }
@@ -127,7 +127,7 @@ static void mca_v3_0_mpio_query_ras_error_count(struct amdgpu_device *adev,
                                         ras_error_status);
 }
 
-static int mca_v3_0_mpio_ras_late_init(struct amdgpu_device *adev, void *ras_info)
+static int mca_v3_0_mpio_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block)
 {
        return amdgpu_mca_ras_late_init(adev, &adev->mca.mpio);
 }