Re: [PATCH v2 1/2] EDAC/amd64: Check register values from all UMCs
From: Borislav Petkov
Date: Thu Dec 30 2021 - 06:36:49 EST
On Thu, Dec 16, 2021 at 04:08:18PM +0000, Yazen Ghannam wrote:
> No, that's a good question. And actually the assumption is incorrect. It is
> allowed to have different DIMM types in a system though all DIMMs on a single
> UMC must match.
Oh fun, really?!
So a single system can have DDR4 *and* DDR5 on the same board?!
So then that
pvt->dram_type
is insufficient to store the DIMM type for a pvt. If you have multiple
UMCs on a pvt and all have different type DIMMs, then you need the
relevant DIMM type when you dump it in sysfs...
Which then means, you need ->dram_type to be per UMC...
And also, I'm assuming the hw already enforces that DIMMs on a single
UMC must match - it simply won't boot if they don't so you don't have to
enforce that, at least.
> Do you recommend a follow up patch or should this one be reworked?
This one is insufficient, I'm afraid.
One way to address this is, you could use pvt->umc at the places where
dram_type is used and assign directly to the dimm->mtype thing. But then
you'd need a way to map each struct dimm_info *dimm to the UMC so that
you can determine the correct DIMM type.
Which would make pvt->dram_type redundant and can be removed.
Or you might have a better idea...
HTH.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette