Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: Remove redundant .ras_fini initialization in some ras blocks

1. Define amdgpu_ras_block_late_fini_default in amdgpu_ras.c as
.ras_fini common function, which is called when
.ras_fini of ras block isn't initialized.
2. Remove the code of using amdgpu_ras_block_late_fini to
initialize .ras_fini in 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>

authored by

yipechai and committed by
Alex Deucher
80e0c2cb 30e58102

+8 -26
+8
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
··· 2477 2477 amdgpu_ras_interrupt_remove_handler(adev, ras_block); 2478 2478 } 2479 2479 2480 + static void amdgpu_ras_block_late_fini_default(struct amdgpu_device *adev, 2481 + struct ras_common_if *ras_block) 2482 + { 2483 + return amdgpu_ras_block_late_fini(adev, ras_block); 2484 + } 2485 + 2480 2486 /* do some init work after IP late init as dependence. 2481 2487 * and it runs in resume/gpu reset/booting up cases. 2482 2488 */ ··· 2590 2584 if (amdgpu_ras_is_supported(adev, obj->ras_comm.block) && 2591 2585 obj->ras_fini) 2592 2586 obj->ras_fini(adev, &obj->ras_comm); 2587 + else 2588 + amdgpu_ras_block_late_fini_default(adev, &obj->ras_comm); 2593 2589 } 2594 2590 2595 2591 /* Clear ras blocks from ras_list and free ras block list node */
-1
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
··· 975 975 }, 976 976 .hw_ops = &xgmi_ras_hw_ops, 977 977 .ras_late_init = amdgpu_xgmi_ras_late_init, 978 - .ras_fini = amdgpu_ras_block_late_fini, 979 978 }, 980 979 };
-4
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
··· 2204 2204 if (!adev->gfx.ras->ras_block.ras_late_init) 2205 2205 adev->gfx.ras->ras_block.ras_late_init = amdgpu_gfx_ras_late_init; 2206 2206 2207 - /* If not define special ras_fini function, use gfx default ras_fini */ 2208 - if (!adev->gfx.ras->ras_block.ras_fini) 2209 - adev->gfx.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; 2210 - 2211 2207 /* If not defined special ras_cb function, use default ras_cb */ 2212 2208 if (!adev->gfx.ras->ras_block.ras_cb) 2213 2209 adev->gfx.ras->ras_block.ras_cb = amdgpu_gfx_process_ras_data_cb;
-4
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
··· 683 683 if (!adev->umc.ras->ras_block.ras_late_init) 684 684 adev->umc.ras->ras_block.ras_late_init = amdgpu_umc_ras_late_init; 685 685 686 - /* If don't define special ras_fini function, use default ras_fini */ 687 - if (!adev->umc.ras->ras_block.ras_fini) 688 - adev->umc.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; 689 - 690 686 /* If not defined special ras_cb function, use default ras_cb */ 691 687 if (!adev->umc.ras->ras_block.ras_cb) 692 688 adev->umc.ras->ras_block.ras_cb = amdgpu_umc_process_ras_data_cb;
-8
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
··· 1243 1243 if (!adev->umc.ras->ras_block.ras_late_init) 1244 1244 adev->umc.ras->ras_block.ras_late_init = amdgpu_umc_ras_late_init; 1245 1245 1246 - /* If don't define special ras_fini function, use default ras_fini */ 1247 - if (!adev->umc.ras->ras_block.ras_fini) 1248 - adev->umc.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; 1249 - 1250 1246 /* If not defined special ras_cb function, use default ras_cb */ 1251 1247 if (!adev->umc.ras->ras_block.ras_cb) 1252 1248 adev->umc.ras->ras_block.ras_cb = amdgpu_umc_process_ras_data_cb; ··· 1288 1292 adev->mmhub.ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__MMHUB; 1289 1293 adev->mmhub.ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE; 1290 1294 adev->mmhub.ras_if = &adev->mmhub.ras->ras_block.ras_comm; 1291 - 1292 - /* If don't define special ras_fini function, use default ras_fini */ 1293 - if (!adev->mmhub.ras->ras_block.ras_fini) 1294 - adev->mmhub.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; 1295 1295 } 1296 1296 } 1297 1297
-1
drivers/gpu/drm/amd/amdgpu/hdp_v4_0.c
··· 166 166 .type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE, 167 167 }, 168 168 .hw_ops = &hdp_v4_0_ras_hw_ops, 169 - .ras_fini = amdgpu_ras_block_late_fini, 170 169 }, 171 170 }; 172 171
-3
drivers/gpu/drm/amd/amdgpu/mca_v3_0.c
··· 66 66 }, 67 67 .hw_ops = &mca_v3_0_mp0_hw_ops, 68 68 .ras_block_match = mca_v3_0_ras_block_match, 69 - .ras_fini = amdgpu_ras_block_late_fini, 70 69 }, 71 70 }; 72 71 ··· 92 93 }, 93 94 .hw_ops = &mca_v3_0_mp1_hw_ops, 94 95 .ras_block_match = mca_v3_0_ras_block_match, 95 - .ras_fini = amdgpu_ras_block_late_fini, 96 96 }, 97 97 }; 98 98 ··· 118 120 }, 119 121 .hw_ops = &mca_v3_0_mpio_hw_ops, 120 122 .ras_block_match = mca_v3_0_ras_block_match, 121 - .ras_fini = amdgpu_ras_block_late_fini, 122 123 }, 123 124 }; 124 125
-1
drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c
··· 671 671 }, 672 672 .hw_ops = &nbio_v7_4_ras_hw_ops, 673 673 .ras_late_init = amdgpu_nbio_ras_late_init, 674 - .ras_fini = amdgpu_ras_block_late_fini, 675 674 }, 676 675 .handle_ras_controller_intr_no_bifring = nbio_v7_4_handle_ras_controller_intr_no_bifring, 677 676 .handle_ras_err_event_athub_intr_no_bifring = nbio_v7_4_handle_ras_err_event_athub_intr_no_bifring,
-4
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
··· 2822 2822 if (!adev->sdma.ras->ras_block.ras_late_init) 2823 2823 adev->sdma.ras->ras_block.ras_late_init = amdgpu_sdma_ras_late_init; 2824 2824 2825 - /* If don't define special ras_fini function, use default ras_fini */ 2826 - if (!adev->sdma.ras->ras_block.ras_fini) 2827 - adev->sdma.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; 2828 - 2829 2825 /* If not defined special ras_cb function, use default ras_cb */ 2830 2826 if (!adev->sdma.ras->ras_block.ras_cb) 2831 2827 adev->sdma.ras->ras_block.ras_cb = amdgpu_sdma_process_ras_data_cb;