OSDN Git Service

drm/amdgpu: remove ih_info parameter of gfx_ras_late_init
authorTao Zhou <tao.zhou1@amd.com>
Thu, 19 Sep 2019 03:46:11 +0000 (11:46 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 3 Oct 2019 14:11:02 +0000 (09:11 -0500)
gfx_ras_late_init can get the info by itself

Signed-off-by: Tao Zhou <tao.zhou1@amd.com>
Reviewed-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

index aaa86a8..1b7a022 100644 (file)
@@ -571,18 +571,16 @@ void amdgpu_gfx_off_ctrl(struct amdgpu_device *adev, bool enable)
        mutex_unlock(&adev->gfx.gfx_off_mutex);
 }
 
-int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev,
-                            void *ras_ih_info)
+int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev)
 {
        int r;
-       struct ras_ih_if *ih_info = (struct ras_ih_if *)ras_ih_info;
        struct ras_fs_if fs_info = {
                .sysfs_name = "gfx_err_count",
                .debugfs_name = "gfx_err_inject",
        };
-
-       if (!ih_info)
-               return -EINVAL;
+       struct ras_ih_if ih_info = {
+               .cb = amdgpu_gfx_process_ras_data_cb,
+       };
 
        if (!adev->gfx.ras_if) {
                adev->gfx.ras_if = kmalloc(sizeof(struct ras_common_if), GFP_KERNEL);
@@ -593,10 +591,10 @@ int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev,
                adev->gfx.ras_if->sub_block_index = 0;
                strcpy(adev->gfx.ras_if->name, "gfx");
        }
-       fs_info.head = ih_info->head = *adev->gfx.ras_if;
+       fs_info.head = ih_info.head = *adev->gfx.ras_if;
 
        r = amdgpu_ras_late_init(adev, adev->gfx.ras_if,
-                                &fs_info, ih_info);
+                                &fs_info, &ih_info);
        if (r)
                goto free;
 
@@ -612,7 +610,7 @@ int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev,
 
        return 0;
 late_fini:
-       amdgpu_ras_late_fini(adev, adev->gfx.ras_if, ih_info);
+       amdgpu_ras_late_fini(adev, adev->gfx.ras_if, &ih_info);
 free:
        kfree(adev->gfx.ras_if);
        adev->gfx.ras_if = NULL;
index 70a9409..c5179a8 100644 (file)
@@ -358,8 +358,7 @@ void amdgpu_gfx_bit_to_me_queue(struct amdgpu_device *adev, int bit,
 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_gfx_ras_late_init(struct amdgpu_device *adev,
-                            void *ras_ih_info);
+int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev);
 void amdgpu_gfx_ras_fini(struct amdgpu_device *adev);
 int amdgpu_gfx_process_ras_data_cb(struct amdgpu_device *adev,
                void *err_data,
index d9a593b..9c63961 100644 (file)
@@ -4194,12 +4194,9 @@ static int gfx_v9_0_early_init(void *handle)
 static int gfx_v9_0_ecc_late_init(void *handle)
 {
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
-       struct ras_ih_if ih_info = {
-               .cb = amdgpu_gfx_process_ras_data_cb,
-       };
        int r;
 
-       r = amdgpu_gfx_ras_late_init(adev, &ih_info);
+       r = amdgpu_gfx_ras_late_init(adev);
        if (r)
                return r;