mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 13:30:45 -05:00
Merge tag 'edac_urgent_for_v6.13_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras
Pull EDAC fix from Borislav Petkov: - Make sure amd64_edac loads successfully on certain Zen4 memory configurations * tag 'edac_urgent_for_v6.13_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras: EDAC/amd64: Simplify ECC check on unified memory controllers
This commit is contained in:
@@ -3362,36 +3362,24 @@ static bool dct_ecc_enabled(struct amd64_pvt *pvt)
|
||||
|
||||
static bool umc_ecc_enabled(struct amd64_pvt *pvt)
|
||||
{
|
||||
u8 umc_en_mask = 0, ecc_en_mask = 0;
|
||||
u16 nid = pvt->mc_node_id;
|
||||
struct amd64_umc *umc;
|
||||
u8 ecc_en = 0, i;
|
||||
bool ecc_en = false;
|
||||
int i;
|
||||
|
||||
/* Check whether at least one UMC is enabled: */
|
||||
for_each_umc(i) {
|
||||
umc = &pvt->umc[i];
|
||||
|
||||
/* Only check enabled UMCs. */
|
||||
if (!(umc->sdp_ctrl & UMC_SDP_INIT))
|
||||
continue;
|
||||
|
||||
umc_en_mask |= BIT(i);
|
||||
|
||||
if (umc->umc_cap_hi & UMC_ECC_ENABLED)
|
||||
ecc_en_mask |= BIT(i);
|
||||
if (umc->sdp_ctrl & UMC_SDP_INIT &&
|
||||
umc->umc_cap_hi & UMC_ECC_ENABLED) {
|
||||
ecc_en = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check whether at least one UMC is enabled: */
|
||||
if (umc_en_mask)
|
||||
ecc_en = umc_en_mask == ecc_en_mask;
|
||||
else
|
||||
edac_dbg(0, "Node %d: No enabled UMCs.\n", nid);
|
||||
edac_dbg(3, "Node %d: DRAM ECC %s.\n", pvt->mc_node_id, (ecc_en ? "enabled" : "disabled"));
|
||||
|
||||
edac_dbg(3, "Node %d: DRAM ECC %s.\n", nid, (ecc_en ? "enabled" : "disabled"));
|
||||
|
||||
if (!ecc_en)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
return ecc_en;
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
||||
Reference in New Issue
Block a user