On Sat, Nov 18, 2023 at 01:32:33PM -0600, Yazen Ghannam wrote:
@@ -714,14 +721,10 @@ static bool legacy_mce_is_memory_error(struct mce *m)
*/
static bool smca_mce_is_memory_error(struct mce *m)
{
- enum smca_bank_types bank_type;
-
if (XEC(m->status, 0x3f))
return false;
- bank_type = smca_get_bank_type(m->extcpu, m->bank);
-
- return bank_type == SMCA_UMC || bank_type == SMCA_UMC_V2;
+ return smca_umc_bank_type(m->ipid);
return FIELD_GET(MCI_IPID_HWID, ipid) == IPID_TYPE_UMC;
after having done:
#define IPID_TYPE_UMC 0x96;
and you don't need that silly helper.
And then you can do more cleanups ontop by doing
/* Unified Memory Controller MCA type */
{ SMCA_UMC, HWID_MCATYPE(IPID_TYPE_UMC, 0x0) },
{ SMCA_UMC_V2, HWID_MCATYPE(IPID_TYPE_UMC, 0x1) },
and have all the numbering properly defined and abstracted away.