Skip to content

Commit 3427bef

Browse files
qzhuo2aegl
authored andcommitted
EDAC/ie31200: Fix the DIMM size mask for several SoCs
The DIMM size mask for {Sky, Kaby, Coffee} Lake is not bits{7:0}, but bits{5:0}. Fix it. Fixes: 953dee9 ("EDAC, ie31200_edac: Add Skylake support") Signed-off-by: Qiuxu Zhuo <[email protected]> Signed-off-by: Tony Luck <[email protected]> Tested-by: Gary Wang <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent d59d844 commit 3427bef

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/edac/ie31200_edac.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@
165165
#define IE31200_MAD_DIMM_0_OFFSET 0x5004
166166
#define IE31200_MAD_DIMM_0_OFFSET_SKL 0x500C
167167
#define IE31200_MAD_DIMM_SIZE GENMASK_ULL(7, 0)
168+
#define IE31200_MAD_DIMM_SIZE_SKL GENMASK_ULL(5, 0)
168169
#define IE31200_MAD_DIMM_A_RANK BIT(17)
169170
#define IE31200_MAD_DIMM_A_RANK_SHIFT 17
170171
#define IE31200_MAD_DIMM_A_RANK_SKL BIT(10)
@@ -378,7 +379,7 @@ static void __iomem *ie31200_map_mchbar(struct pci_dev *pdev)
378379
static void __skl_populate_dimm_info(struct dimm_data *dd, u32 addr_decode,
379380
int chan)
380381
{
381-
dd->size = (addr_decode >> (chan << 4)) & IE31200_MAD_DIMM_SIZE;
382+
dd->size = (addr_decode >> (chan << 4)) & IE31200_MAD_DIMM_SIZE_SKL;
382383
dd->dual_rank = (addr_decode & (IE31200_MAD_DIMM_A_RANK_SKL << (chan << 4))) ? 1 : 0;
383384
dd->x16_width = ((addr_decode & (IE31200_MAD_DIMM_A_WIDTH_SKL << (chan << 4))) >>
384385
(IE31200_MAD_DIMM_A_WIDTH_SKL_SHIFT + (chan << 4)));

0 commit comments

Comments
 (0)