Commit 667c7091 authored by yipechai's avatar yipechai Committed by Alex Deucher
Browse files

drm/amdgpu: Optimize xxx_ras_fini function of each ras block



1. Move the variables of ras block instance members from
   specific xxx_ras_fini to general ras_fini call.
2. Function calls inside the modules only use parameters
   passed from xxx_ras_fini instead of ras block instance
   members.

Signed-off-by: default avataryipechai <YiPeng.Chai@amd.com>
Reviewed-by: default avatarTao Zhou <tao.zhou1@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 01d468d9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -647,8 +647,8 @@ int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *r
void amdgpu_gfx_ras_fini(struct amdgpu_device *adev, struct ras_common_if *ras_block)
{
	if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__GFX) &&
			adev->gfx.ras_if)
		amdgpu_ras_block_late_fini(adev, adev->gfx.ras_if);
			ras_block)
		amdgpu_ras_block_late_fini(adev, ras_block);
}

int amdgpu_gfx_process_ras_data_cb(struct amdgpu_device *adev,
+4 −4
Original line number Diff line number Diff line
@@ -455,16 +455,16 @@ int amdgpu_gmc_ras_late_init(struct amdgpu_device *adev)
void amdgpu_gmc_ras_fini(struct amdgpu_device *adev)
{
	if (adev->umc.ras && adev->umc.ras->ras_block.ras_fini)
		adev->umc.ras->ras_block.ras_fini(adev, NULL);
		adev->umc.ras->ras_block.ras_fini(adev, adev->umc.ras_if);

	if (adev->mmhub.ras && adev->mmhub.ras->ras_block.ras_fini)
		adev->mmhub.ras->ras_block.ras_fini(adev, NULL);
		adev->mmhub.ras->ras_block.ras_fini(adev, adev->mmhub.ras_if);

	if (adev->gmc.xgmi.ras && adev->gmc.xgmi.ras->ras_block.ras_fini)
		adev->gmc.xgmi.ras->ras_block.ras_fini(adev, NULL);
		adev->gmc.xgmi.ras->ras_block.ras_fini(adev, adev->gmc.xgmi.ras_if);

	if (adev->hdp.ras && adev->hdp.ras->ras_block.ras_fini)
		adev->hdp.ras->ras_block.ras_fini(adev, NULL);
		adev->hdp.ras->ras_block.ras_fini(adev, adev->hdp.ras_if);
}

	/*
+2 −2
Original line number Diff line number Diff line
@@ -27,6 +27,6 @@
void amdgpu_hdp_ras_fini(struct amdgpu_device *adev, struct ras_common_if *ras_block)
{
	if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__HDP) &&
	    adev->hdp.ras_if)
		amdgpu_ras_block_late_fini(adev, adev->hdp.ras_if);
	    ras_block)
		amdgpu_ras_block_late_fini(adev, ras_block);
}
+2 −2
Original line number Diff line number Diff line
@@ -27,6 +27,6 @@
void amdgpu_mmhub_ras_fini(struct amdgpu_device *adev, struct ras_common_if *ras_block)
{
	if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__MMHUB) &&
			adev->mmhub.ras_if)
		amdgpu_ras_block_late_fini(adev, adev->mmhub.ras_if);
			ras_block)
		amdgpu_ras_block_late_fini(adev, ras_block);
}
+2 −2
Original line number Diff line number Diff line
@@ -47,6 +47,6 @@ int amdgpu_nbio_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *
void amdgpu_nbio_ras_fini(struct amdgpu_device *adev, struct ras_common_if *ras_block)
{
	if (amdgpu_ras_is_supported(adev, AMDGPU_RAS_BLOCK__PCIE_BIF) &&
			adev->nbio.ras_if)
		amdgpu_ras_block_late_fini(adev, adev->nbio.ras_if);
			ras_block)
		amdgpu_ras_block_late_fini(adev, ras_block);
}
Loading