Skip to content

Commit 76d2da1

Browse files
Yang Wangalexdeucher
authored andcommitted
drm/amdgpu: add smu v13.0.6 pcs xgmi ras error query support
add pcs xgmi ras error query support for smu v13.0.6. Signed-off-by: Yang Wang <[email protected]> Reviewed-by: Hawking Zhang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 4638e0c commit 76d2da1

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_mca.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ enum amdgpu_mca_ip {
5454
AMDGPU_MCA_IP_SMU,
5555
AMDGPU_MCA_IP_MP5,
5656
AMDGPU_MCA_IP_UMC,
57+
AMDGPU_MCA_IP_PCS_XGMI,
5758
AMDGPU_MCA_IP_COUNT,
5859
};
5960

drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2379,6 +2379,7 @@ static const struct mca_bank_ipid smu_v13_0_6_mca_ipid_table[AMDGPU_MCA_IP_COUNT
23792379
MCA_BANK_IPID(UMC, 0x96, 0x0),
23802380
MCA_BANK_IPID(SMU, 0x01, 0x1),
23812381
MCA_BANK_IPID(MP5, 0x01, 0x2),
2382+
MCA_BANK_IPID(PCS_XGMI, 0x50, 0x0),
23822383
};
23832384

23842385
static void mca_bank_entry_info_decode(struct mca_bank_entry *entry, struct mca_bank_info *info)
@@ -2482,6 +2483,22 @@ static int mca_umc_mca_get_err_count(const struct mca_ras_info *mca_ras, struct
24822483
return 0;
24832484
}
24842485

2486+
static int mca_pcs_xgmi_mca_get_err_count(const struct mca_ras_info *mca_ras, struct amdgpu_device *adev,
2487+
enum amdgpu_mca_error_type type, struct mca_bank_entry *entry,
2488+
uint32_t *count)
2489+
{
2490+
u32 ext_error_code;
2491+
2492+
ext_error_code = MCA_REG__STATUS__ERRORCODEEXT(entry->regs[MCA_REG_IDX_STATUS]);
2493+
2494+
if (type == AMDGPU_MCA_ERROR_TYPE_UE && ext_error_code == 0)
2495+
*count = 1;
2496+
else if (type == AMDGPU_MCA_ERROR_TYPE_CE && ext_error_code == 6)
2497+
*count = 1;
2498+
2499+
return 0;
2500+
}
2501+
24852502
static bool mca_smu_check_error_code(struct amdgpu_device *adev, const struct mca_ras_info *mca_ras,
24862503
uint32_t errcode)
24872504
{
@@ -2609,6 +2626,10 @@ static const struct mca_ras_info mca_ras_table[] = {
26092626
.err_code_count = ARRAY_SIZE(mmhub_err_codes),
26102627
.get_err_count = mca_smu_mca_get_err_count,
26112628
.bank_is_valid = mca_smu_bank_is_valid,
2629+
}, {
2630+
.blkid = AMDGPU_RAS_BLOCK__XGMI_WAFL,
2631+
.ip = AMDGPU_MCA_IP_PCS_XGMI,
2632+
.get_err_count = mca_pcs_xgmi_mca_get_err_count,
26122633
},
26132634
};
26142635

0 commit comments

Comments
 (0)