Skip to content

Commit cd74132

Browse files
Tao Zhoualexdeucher
authored andcommitted
drm/amdgpu: make MCA IPID parse global
So we can call it in other blocks. v2: add a new IPID parse interface for umc and we can implement it for each ASIC. Signed-off-by: Tao Zhou <tao.zhou1@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 4104c0a commit cd74132

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ struct amdgpu_umc_ras {
113113
uint32_t (*get_die_id_from_pa)(struct amdgpu_device *adev,
114114
uint64_t mca_addr, uint64_t retired_page);
115115
void (*get_retire_flip_bits)(struct amdgpu_device *adev);
116+
void (*mca_ipid_parse)(struct amdgpu_device *adev, uint64_t ipid,
117+
uint32_t *did, uint32_t *ch, uint32_t *umc_inst, uint32_t *sid);
116118
};
117119

118120
struct amdgpu_umc_funcs {

drivers/gpu/drm/amd/amdgpu/umc_v12_0.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,19 @@ static uint32_t umc_v12_0_get_die_id(struct amdgpu_device *adev,
711711
return die;
712712
}
713713

714+
static void umc_v12_0_mca_ipid_parse(struct amdgpu_device *adev, uint64_t ipid,
715+
uint32_t *did, uint32_t *ch, uint32_t *umc_inst, uint32_t *sid)
716+
{
717+
if (did)
718+
*did = MCA_IPID_2_DIE_ID(ipid);
719+
if (ch)
720+
*ch = MCA_IPID_2_UMC_CH(ipid);
721+
if (umc_inst)
722+
*umc_inst = MCA_IPID_2_UMC_INST(ipid);
723+
if (sid)
724+
*sid = MCA_IPID_2_SOCKET_ID(ipid);
725+
}
726+
714727
struct amdgpu_umc_ras umc_v12_0_ras = {
715728
.ras_block = {
716729
.hw_ops = &umc_v12_0_ras_hw_ops,
@@ -724,5 +737,6 @@ struct amdgpu_umc_ras umc_v12_0_ras = {
724737
.convert_ras_err_addr = umc_v12_0_convert_error_address,
725738
.get_die_id_from_pa = umc_v12_0_get_die_id,
726739
.get_retire_flip_bits = umc_v12_0_get_retire_flip_bits,
740+
.mca_ipid_parse = umc_v12_0_mca_ipid_parse,
727741
};
728742

0 commit comments

Comments
 (0)