]> www.infradead.org Git - users/jedix/linux-maple.git/commit
EDAC/{skx_common,i10nm}: Fix some missing error reports on Emerald Rapids
authorQiuxu Zhuo <qiuxu.zhuo@intel.com>
Fri, 14 Feb 2025 00:27:28 +0000 (08:27 +0800)
committerTony Luck <tony.luck@intel.com>
Fri, 21 Feb 2025 01:02:33 +0000 (17:02 -0800)
commitd9207cf7760f5f5599e9ff7eb0fedf56821a1d59
tree5000a31dde72b4f106a53a25aad5e35373bb68f7
parent267e5b1d267539d9a927dc04aab6f15aca57da92
EDAC/{skx_common,i10nm}: Fix some missing error reports on Emerald Rapids

When doing error injection to some memory DIMMs on certain Intel Emerald
Rapids servers, the i10nm_edac missed error reports for some memory DIMMs.

Certain BIOS configurations may hide some memory controllers, and the
i10nm_edac doesn't enumerate these hidden memory controllers. However, the
ADXL decodes memory errors using memory controller physical indices even
if there are hidden memory controllers. Therefore, the memory controller
physical indices reported by the ADXL may mismatch the logical indices
enumerated by the i10nm_edac, resulting in missed error reports for some
memory DIMMs.

Fix this issue by creating a mapping table from memory controller physical
indices (used by the ADXL) to logical indices (used by the i10nm_edac) and
using it to convert the physical indices to the logical indices during the
error handling process.

Fixes: c545f5e41225 ("EDAC/i10nm: Skip the absent memory controllers")
Reported-by: Kevin Chang <kevin1.chang@intel.com>
Tested-by: Kevin Chang <kevin1.chang@intel.com>
Reported-by: Thomas Chen <Thomas.Chen@intel.com>
Tested-by: Thomas Chen <Thomas.Chen@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/r/20250214002728.6287-1-qiuxu.zhuo@intel.com
drivers/edac/i10nm_base.c
drivers/edac/skx_common.c
drivers/edac/skx_common.h