Commit 01d468d9 authored by yipechai's avatar yipechai Committed by Alex Deucher
Browse files

drm/amdgpu: Modify .ras_fini function pointer parameter



Modify .ras_fini function pointer parameter so that
we can remove redundant intermediate calls in some
ras blocks.

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 b5175966
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -644,7 +644,7 @@ int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *r
	return r;
}

void amdgpu_gfx_ras_fini(struct amdgpu_device *adev)
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)
+1 −1
Original line number Diff line number Diff line
@@ -387,7 +387,7 @@ bool amdgpu_gfx_is_me_queue_enabled(struct amdgpu_device *adev, int me,
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, struct ras_common_if *ras_block);
void amdgpu_gfx_ras_fini(struct amdgpu_device *adev);
void amdgpu_gfx_ras_fini(struct amdgpu_device *adev, struct ras_common_if *ras_block);
int amdgpu_gfx_process_ras_data_cb(struct amdgpu_device *adev,
		void *err_data,
		struct amdgpu_iv_entry *entry);
+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);
		adev->umc.ras->ras_block.ras_fini(adev, NULL);

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

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

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

	/*
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include "amdgpu.h"
#include "amdgpu_ras.h"

void amdgpu_hdp_ras_fini(struct amdgpu_device *adev)
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)
+1 −1
Original line number Diff line number Diff line
@@ -44,5 +44,5 @@ struct amdgpu_hdp {
};

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);
void amdgpu_hdp_ras_fini(struct amdgpu_device *adev, struct ras_common_if *ras_block);
#endif /* __AMDGPU_HDP_H__ */
Loading