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>
This commit is contained in:
		
							parent
							
								
									30e58102d5
								
							
						
					
					
						commit
						80e0c2cb37
					
				| @ -2477,6 +2477,12 @@ void amdgpu_ras_block_late_fini(struct amdgpu_device *adev, | ||||
| 		amdgpu_ras_interrupt_remove_handler(adev, ras_block); | ||||
| } | ||||
| 
 | ||||
| static void amdgpu_ras_block_late_fini_default(struct amdgpu_device *adev, | ||||
| 			  struct ras_common_if *ras_block) | ||||
| { | ||||
| 	return amdgpu_ras_block_late_fini(adev, ras_block); | ||||
| } | ||||
| 
 | ||||
| /* do some init work after IP late init as dependence.
 | ||||
|  * and it runs in resume/gpu reset/booting up cases. | ||||
|  */ | ||||
| @ -2584,6 +2590,8 @@ int amdgpu_ras_fini(struct amdgpu_device *adev) | ||||
| 			if (amdgpu_ras_is_supported(adev, obj->ras_comm.block) && | ||||
| 			    obj->ras_fini) | ||||
| 				obj->ras_fini(adev, &obj->ras_comm); | ||||
| 			else | ||||
| 				amdgpu_ras_block_late_fini_default(adev, &obj->ras_comm); | ||||
| 		} | ||||
| 
 | ||||
| 		/* Clear ras blocks from ras_list and free ras block list node */ | ||||
|  | ||||
| @ -975,6 +975,5 @@ struct amdgpu_xgmi_ras xgmi_ras = { | ||||
| 		}, | ||||
| 		.hw_ops = &xgmi_ras_hw_ops, | ||||
| 		.ras_late_init = amdgpu_xgmi_ras_late_init, | ||||
| 		.ras_fini = amdgpu_ras_block_late_fini, | ||||
| 	}, | ||||
| }; | ||||
|  | ||||
| @ -2204,10 +2204,6 @@ static int gfx_v9_0_gpu_early_init(struct amdgpu_device *adev) | ||||
| 		if (!adev->gfx.ras->ras_block.ras_late_init) | ||||
| 			adev->gfx.ras->ras_block.ras_late_init = amdgpu_gfx_ras_late_init; | ||||
| 
 | ||||
| 		/* If not define special ras_fini function, use gfx default ras_fini */ | ||||
| 		if (!adev->gfx.ras->ras_block.ras_fini) | ||||
| 			adev->gfx.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; | ||||
| 
 | ||||
| 		/* If not defined special ras_cb function, use default ras_cb */ | ||||
| 		if (!adev->gfx.ras->ras_block.ras_cb) | ||||
| 			adev->gfx.ras->ras_block.ras_cb = amdgpu_gfx_process_ras_data_cb; | ||||
|  | ||||
| @ -683,10 +683,6 @@ static void gmc_v10_0_set_umc_funcs(struct amdgpu_device *adev) | ||||
| 		if (!adev->umc.ras->ras_block.ras_late_init) | ||||
| 				adev->umc.ras->ras_block.ras_late_init = amdgpu_umc_ras_late_init; | ||||
| 
 | ||||
| 		/* If don't define special ras_fini function, use default ras_fini */ | ||||
| 		if (!adev->umc.ras->ras_block.ras_fini) | ||||
| 			adev->umc.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; | ||||
| 
 | ||||
| 		/* If not defined special ras_cb function, use default ras_cb */ | ||||
| 		if (!adev->umc.ras->ras_block.ras_cb) | ||||
| 			adev->umc.ras->ras_block.ras_cb = amdgpu_umc_process_ras_data_cb; | ||||
|  | ||||
| @ -1243,10 +1243,6 @@ static void gmc_v9_0_set_umc_funcs(struct amdgpu_device *adev) | ||||
| 		if (!adev->umc.ras->ras_block.ras_late_init) | ||||
| 				adev->umc.ras->ras_block.ras_late_init = amdgpu_umc_ras_late_init; | ||||
| 
 | ||||
| 		/* If don't define special ras_fini function, use default ras_fini */ | ||||
| 		if (!adev->umc.ras->ras_block.ras_fini) | ||||
| 			adev->umc.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; | ||||
| 
 | ||||
| 		/* If not defined special ras_cb function, use default ras_cb */ | ||||
| 		if (!adev->umc.ras->ras_block.ras_cb) | ||||
| 			adev->umc.ras->ras_block.ras_cb = amdgpu_umc_process_ras_data_cb; | ||||
| @ -1292,10 +1288,6 @@ static void gmc_v9_0_set_mmhub_ras_funcs(struct amdgpu_device *adev) | ||||
| 		adev->mmhub.ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__MMHUB; | ||||
| 		adev->mmhub.ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE; | ||||
| 		adev->mmhub.ras_if = &adev->mmhub.ras->ras_block.ras_comm; | ||||
| 
 | ||||
| 		/* If don't define special ras_fini function, use default ras_fini */ | ||||
| 		if (!adev->mmhub.ras->ras_block.ras_fini) | ||||
| 			adev->mmhub.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -166,7 +166,6 @@ struct amdgpu_hdp_ras hdp_v4_0_ras = { | ||||
| 			.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE, | ||||
| 		}, | ||||
| 		.hw_ops = &hdp_v4_0_ras_hw_ops, | ||||
| 		.ras_fini = amdgpu_ras_block_late_fini, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -66,7 +66,6 @@ struct amdgpu_mca_ras_block mca_v3_0_mp0_ras = { | ||||
| 		}, | ||||
| 		.hw_ops = &mca_v3_0_mp0_hw_ops, | ||||
| 		.ras_block_match = mca_v3_0_ras_block_match, | ||||
| 		.ras_fini = amdgpu_ras_block_late_fini, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| @ -93,7 +92,6 @@ struct amdgpu_mca_ras_block mca_v3_0_mp1_ras = { | ||||
| 		}, | ||||
| 		.hw_ops = &mca_v3_0_mp1_hw_ops, | ||||
| 		.ras_block_match = mca_v3_0_ras_block_match, | ||||
| 		.ras_fini = amdgpu_ras_block_late_fini, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| @ -120,7 +118,6 @@ struct amdgpu_mca_ras_block mca_v3_0_mpio_ras = { | ||||
| 		}, | ||||
| 		.hw_ops = &mca_v3_0_mpio_hw_ops, | ||||
| 		.ras_block_match = mca_v3_0_ras_block_match, | ||||
| 		.ras_fini = amdgpu_ras_block_late_fini, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -671,7 +671,6 @@ struct amdgpu_nbio_ras nbio_v7_4_ras = { | ||||
| 		}, | ||||
| 		.hw_ops = &nbio_v7_4_ras_hw_ops, | ||||
| 		.ras_late_init = amdgpu_nbio_ras_late_init, | ||||
| 		.ras_fini = amdgpu_ras_block_late_fini, | ||||
| 	}, | ||||
| 	.handle_ras_controller_intr_no_bifring = nbio_v7_4_handle_ras_controller_intr_no_bifring, | ||||
| 	.handle_ras_err_event_athub_intr_no_bifring = nbio_v7_4_handle_ras_err_event_athub_intr_no_bifring, | ||||
|  | ||||
| @ -2822,10 +2822,6 @@ static void sdma_v4_0_set_ras_funcs(struct amdgpu_device *adev) | ||||
| 		if (!adev->sdma.ras->ras_block.ras_late_init) | ||||
| 			adev->sdma.ras->ras_block.ras_late_init = amdgpu_sdma_ras_late_init; | ||||
| 
 | ||||
| 		/* If don't define special ras_fini function, use default ras_fini */ | ||||
| 		if (!adev->sdma.ras->ras_block.ras_fini) | ||||
| 			adev->sdma.ras->ras_block.ras_fini = amdgpu_ras_block_late_fini; | ||||
| 
 | ||||
| 		/* If not defined special ras_cb function, use default ras_cb */ | ||||
| 		if (!adev->sdma.ras->ras_block.ras_cb) | ||||
| 			adev->sdma.ras->ras_block.ras_cb = amdgpu_sdma_process_ras_data_cb; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user