diff options
| author | Hawking Zhang <Hawking.Zhang@amd.com> | 2023-03-04 19:54:14 +0800 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2023-03-15 18:45:27 -0400 | 
| commit | da9d669eab152dbd6e9410606a7c8c8a212a7959 (patch) | |
| tree | f8d5886649c359ab22831d2b976b0c1afa0a9cda /drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | |
| parent | 7f544c5488cf5bc94b379de750e08fa3e146b6ba (diff) | |
drm/amdgpu: Rework xgmi_wafl_pcs ras sw_init
To align with other IP blocks.
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Stanley Yang <Stanley.Yang@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 28 | 
1 files changed, 23 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c index fef1575cd0cf..3fe24348d199 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c @@ -1048,12 +1048,30 @@ struct amdgpu_ras_block_hw_ops  xgmi_ras_hw_ops = {  struct amdgpu_xgmi_ras xgmi_ras = {  	.ras_block = { -		.ras_comm = { -			.name = "xgmi_wafl", -			.block = AMDGPU_RAS_BLOCK__XGMI_WAFL, -			.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE, -		},  		.hw_ops = &xgmi_ras_hw_ops,  		.ras_late_init = amdgpu_xgmi_ras_late_init,  	},  }; + +int amdgpu_xgmi_ras_sw_init(struct amdgpu_device *adev) +{ +	int err; +	struct amdgpu_xgmi_ras *ras; + +	if (!adev->gmc.xgmi.ras) +		return 0; + +	ras = adev->gmc.xgmi.ras; +	err = amdgpu_ras_register_ras_block(adev, &ras->ras_block); +	if (err) { +		dev_err(adev->dev, "Failed to register xgmi_wafl_pcs ras block!\n"); +		return err; +	} + +	strcpy(ras->ras_block.ras_comm.name, "xgmi_wafl_pcs"); +	ras->ras_block.ras_comm.block = AMDGPU_RAS_BLOCK__XGMI_WAFL; +	ras->ras_block.ras_comm.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE; +	adev->gmc.xgmi.ras_if = &ras->ras_block.ras_comm; + +	return 0; +}  | 
