linux/drivers/edac
Vishal Badole 7484bc43ba EDAC/amd64: Mask UMC chip select to the four implemented selects
For DRAM ECC errors, the chip select value can be found in the
MCA_SYND[ErrorInformation] field.

ErrorInformation[2:0] was first documented in Zen1. The 3 bit field
implied that up to 8 chip selects may be used.

However, all Zen-based systems have only ever had up to 4 chip selects.
So only bits [1:0] would contain a valid chip select value.

Future systems are redefining the field to ErrorInformation[1:0]. This
matches the existing 'up to 4 chip selects' implementations. And it
frees up the extra bit for other decoding.

Change the current chip select mask from 0x7 to 0x3 to prepare for the
decode change.

Fixes: 713ad54675 ("EDAC, amd64: Define and register UMC error decode function")
Suggested-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Vishal Badole <Vishal.Badole@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Yazen Ghannam <yazen.ghannam@amd.com>
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20261002113204.3358815-2-Vishal.Badole@amd.com
2026-10-05 11:02:42 -07:00
..
a72_edac.c EDAC: Add EDAC driver for ARM Cortex A72 cores 2025-08-15 23:37:00 +02:00
al_mc_edac.c EDAC: Remove redundant dev_err() 2026-07-22 08:11:29 -07:00
altera_edac.c EDAC/altera: Fix device node reference leaks in the SDMMC ECC setup 2026-09-26 11:17:40 -07:00
altera_edac.h EDAC/altera: Use ECC manager compatible to select A10/S10 IRQ layout 2026-07-10 15:50:55 -07:00
amd64_edac.c EDAC/amd64: Mask UMC chip select to the four implemented selects 2026-10-05 11:02:42 -07:00
amd64_edac.h EDAC/amd64: Remove NUM_CONTROLLERS macro 2025-11-06 12:51:33 +01:00
amd76x_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
armada_xp_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
aspeed_edac.c EDAC: Remove redundant dev_err() 2026-07-22 08:11:29 -07:00
bluefield_edac.c EDAC/bluefield: Don't use bluefield_edac_readl() result on error 2025-05-22 17:58:28 +02:00
cpc925_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
debugfs.c EDAC/debugfs: Remove the fake_inject debugfs interface 2026-06-29 18:18:51 -07:00
dmc520_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
e7xxx_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
e752x_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
ecs.c EDAC: Fix wrong executable file modes for C source files 2025-08-30 17:23:06 +02:00
edac_device_sysfs.c EDAC/device_sysfs: Cleanup around edac_device_ctl_poll_msec_store() 2026-08-07 16:30:52 -07:00
edac_device.c EDAC/device_sysfs: Cleanup around edac_device_ctl_poll_msec_store() 2026-08-07 16:30:52 -07:00
edac_device.h EDAC/device: Allow addition of const sysfs attributes 2026-03-11 22:33:38 +01:00
edac_mc_sysfs.c EDAC/sysfs: Use sysfs_emit_at() in dimmdev_location_show() 2026-06-30 12:39:17 -07:00
edac_mc.c - amd64_edac: Add support for AMD Zen 3 (family 19h, models 40h–4fh) 2026-04-14 15:29:55 -07:00
edac_mc.h EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
edac_module.c EDAC: constantify the struct bus_type usage 2024-01-04 14:34:27 +01:00
edac_module.h EDAC/device_sysfs: Cleanup around edac_device_ctl_poll_msec_store() 2026-08-07 16:30:52 -07:00
edac_pci_sysfs.c EDAC/pci_sysfs: Constify instance sysfs attributes 2026-03-11 22:26:38 +01:00
edac_pci.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
edac_pci.h EDAC: Remove unused struct members 2024-03-27 18:26:58 +01:00
fsl_ddr_edac.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
fsl_ddr_edac.h EDAC/fsl_ddr: Add support for i.MX9 DDR controller 2024-10-23 16:53:55 +02:00
ghes_edac.c EDAC/ghes: Replace deprecated strcpy() in ghes_edac_report_mem_error() 2025-11-18 16:50:32 +01:00
highbank_l2_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
highbank_mc_edac.c EDAC: Remove redundant dev_err() 2026-07-22 08:11:29 -07:00
i7core_edac.c EDAC/i7core: Use kzalloc_flex() 2026-03-13 15:03:36 -07:00
i10nm_base.c EDAC/{skx_common,i10nm}: Prepare RRL for sub-channel granularity 2026-05-29 08:34:12 -07:00
i3000_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
i3200_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
i5000_edac.c EDAC/i5000: disable error reporting at teardown and refactor helper 2026-05-29 08:34:11 -07:00
i5100_edac.c EDAC/i5100: disable error reporting at teardown and create helper 2026-05-29 08:34:11 -07:00
i5400_edac.c EDAC/i5400: disable error reporting at teardown and refactor helper 2026-05-29 08:34:11 -07:00
i7300_edac.c EDAC/i7300: disable error reporting if init fails and refactor helper 2026-05-29 08:34:11 -07:00
i82860_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
i82875p_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
i82975x_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
ie31200_edac.c - Mark the mpc85xx and ThunderX EDAC drivers as orphaned due to lack of 2026-08-31 20:10:39 -07:00
igen6_edac.c EDAC/igen6: Add Intel Starfire SoCs support 2026-07-30 11:34:12 -07:00
imh_base.c EDAC/imh: Add RRL support for Intel Diamond Rapids server 2026-05-29 08:34:12 -07:00
Kconfig EDAC/r82600: Remove this obsolete driver 2026-01-30 13:41:32 +01:00
layerscape_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
loongson_edac.c EDAC: Add an EDAC driver for the Loongson memory controller 2025-01-04 12:02:04 +01:00
Makefile EDAC/r82600: Remove this obsolete driver 2026-01-30 13:41:32 +01:00
mce_amd.c EDAC: Stop using 32-bit MSR interfaces 2026-07-02 11:54:53 +02:00
mce_amd.h
mem_repair.c EDAC: Fix wrong executable file modes for C source files 2025-08-30 17:23:06 +02:00
mpc85xx_edac.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
mpc85xx_edac.h
npcm_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
octeon_edac-l2c.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
octeon_edac-lmc.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
octeon_edac-pc.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
octeon_edac-pci.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
pasemi_edac.c
pnd2_edac.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
pnd2_edac.h
qcom_edac.c EDAC/qcom: Correct interrupt enable register configuration 2025-02-14 20:36:11 +01:00
sb_edac.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
scrub.c EDAC: Fix wrong executable file modes for C source files 2025-08-30 17:23:06 +02:00
sifive_edac.c EDAC: Remove dynamic attributes from edac_device_alloc_ctl_info() 2024-03-27 18:26:58 +01:00
skx_base.c EDAC/{skx_common,skx,i10nm}: Split skx_set_decode() 2026-05-29 08:34:12 -07:00
skx_common.c EDAC/{skx_common,i10nm}: Prepare RRL for sub-channel granularity 2026-05-29 08:34:12 -07:00
skx_common.h EDAC/imh: Add RRL support for Intel Diamond Rapids server 2026-05-29 08:34:12 -07:00
synopsys_edac.c EDAC/synopsys: Clear the ECC counters on init 2025-07-14 12:15:37 +02:00
thunderx_edac.c EDAC: Remove redundant dev_err() 2026-07-22 08:11:29 -07:00
ti_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
versal_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
versalnet_edac.c EDAC/versalnet: Drop remote processor handle refcount on driver removal 2026-09-27 14:05:10 -07:00
wq.c
x38_edac.c EDAC: Consistently define pci_device_ids using named initializers 2026-05-29 13:28:36 -07:00
xgene_edac.c EDAC: Remove redundant dev_err() 2026-07-22 08:11:29 -07:00
zynqmp_edac.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00