Skip to content

Commit f97a8b9

Browse files
yghannambp3tk0v
authored andcommitted
EDAC/amd64: Remove unused register accesses
A number of UMC registers are read only for the purpose of debug printing. They are not used in any calculations. Nor do they have any specific debug value. Remove them. Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> Link: https://lore.kernel.org/r/20240606-fix-smn-bad-read-v4-1-ffde21931c3f@amd.com
1 parent 1d2a03d commit f97a8b9

2 files changed

Lines changed: 1 addition & 21 deletions

File tree

drivers/edac/amd64_edac.c

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ static inline u32 get_umc_reg(struct amd64_pvt *pvt, u32 reg)
2020
return reg;
2121

2222
switch (reg) {
23-
case UMCCH_ADDR_CFG: return UMCCH_ADDR_CFG_DDR5;
2423
case UMCCH_ADDR_MASK_SEC: return UMCCH_ADDR_MASK_SEC_DDR5;
2524
case UMCCH_DIMM_CFG: return UMCCH_DIMM_CFG_DDR5;
2625
}
@@ -1341,22 +1340,15 @@ static void umc_debug_display_dimm_sizes(struct amd64_pvt *pvt, u8 ctrl)
13411340
static void umc_dump_misc_regs(struct amd64_pvt *pvt)
13421341
{
13431342
struct amd64_umc *umc;
1344-
u32 i, tmp, umc_base;
1343+
u32 i;
13451344

13461345
for_each_umc(i) {
1347-
umc_base = get_umc_base(i);
13481346
umc = &pvt->umc[i];
13491347

13501348
edac_dbg(1, "UMC%d DIMM cfg: 0x%x\n", i, umc->dimm_cfg);
13511349
edac_dbg(1, "UMC%d UMC cfg: 0x%x\n", i, umc->umc_cfg);
13521350
edac_dbg(1, "UMC%d SDP ctrl: 0x%x\n", i, umc->sdp_ctrl);
13531351
edac_dbg(1, "UMC%d ECC ctrl: 0x%x\n", i, umc->ecc_ctrl);
1354-
1355-
amd_smn_read(pvt->mc_node_id, umc_base + UMCCH_ECC_BAD_SYMBOL, &tmp);
1356-
edac_dbg(1, "UMC%d ECC bad symbol: 0x%x\n", i, tmp);
1357-
1358-
amd_smn_read(pvt->mc_node_id, umc_base + UMCCH_UMC_CAP, &tmp);
1359-
edac_dbg(1, "UMC%d UMC cap: 0x%x\n", i, tmp);
13601352
edac_dbg(1, "UMC%d UMC cap high: 0x%x\n", i, umc->umc_cap_hi);
13611353

13621354
edac_dbg(1, "UMC%d ECC capable: %s, ChipKill ECC capable: %s\n",
@@ -1369,14 +1361,6 @@ static void umc_dump_misc_regs(struct amd64_pvt *pvt)
13691361
edac_dbg(1, "UMC%d x16 DIMMs present: %s\n",
13701362
i, (umc->dimm_cfg & BIT(7)) ? "yes" : "no");
13711363

1372-
if (umc->dram_type == MEM_LRDDR4 || umc->dram_type == MEM_LRDDR5) {
1373-
amd_smn_read(pvt->mc_node_id,
1374-
umc_base + get_umc_reg(pvt, UMCCH_ADDR_CFG),
1375-
&tmp);
1376-
edac_dbg(1, "UMC%d LRDIMM %dx rank multiply\n",
1377-
i, 1 << ((tmp >> 4) & 0x3));
1378-
}
1379-
13801364
umc_debug_display_dimm_sizes(pvt, i);
13811365
}
13821366
}

drivers/edac/amd64_edac.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,15 +256,11 @@
256256
#define UMCCH_ADDR_MASK 0x20
257257
#define UMCCH_ADDR_MASK_SEC 0x28
258258
#define UMCCH_ADDR_MASK_SEC_DDR5 0x30
259-
#define UMCCH_ADDR_CFG 0x30
260-
#define UMCCH_ADDR_CFG_DDR5 0x40
261259
#define UMCCH_DIMM_CFG 0x80
262260
#define UMCCH_DIMM_CFG_DDR5 0x90
263261
#define UMCCH_UMC_CFG 0x100
264262
#define UMCCH_SDP_CTRL 0x104
265263
#define UMCCH_ECC_CTRL 0x14C
266-
#define UMCCH_ECC_BAD_SYMBOL 0xD90
267-
#define UMCCH_UMC_CAP 0xDF0
268264
#define UMCCH_UMC_CAP_HI 0xDF4
269265

270266
/* UMC CH bitfields */

0 commit comments

Comments
 (0)