Skip to content

Commit

Permalink
i7300_edac: Adds detection for enhanced scrub mode on x8
Browse files Browse the repository at this point in the history
While here, do some cleanup by adding some macros to check
for device features.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed Aug 30, 2010
1 parent 8600232 commit d7de2bd
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions drivers/edac/i7300_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@
/* OFFSETS for Function 1 */
#define MC_SETTINGS 0x40

#define IS_MIRRORED(mc) ((mc) & (1 << 16))
#define IS_ECC_ENABLED(mc) ((mc) & (1 << 5))
#define IS_RETRY_ENABLED(mc) ((mc) & (1 << 31))
#define IS_SCRBALGO_ENHANCED(mc) ((mc) & (1 << 8))


#define TOLM 0x6C
#define REDMEMB 0x7C

Expand Down Expand Up @@ -451,9 +457,13 @@ static int decode_mtr(struct i7300_pvt *pvt,
p_csrow->edac_mode = EDAC_S8ECD8ED;

/* ask what device type on this row */
if (MTR_DRAM_WIDTH(mtr))
if (MTR_DRAM_WIDTH(mtr)) {
debugf0("Scrub algorithm for x8 is on %s mode\n",
IS_SCRBALGO_ENHANCED(pvt->mc_settings) ?
"enhanced" : "normal");

p_csrow->dtype = DEV_X8;
else
} else
p_csrow->dtype = DEV_X4;

return mtr;
Expand Down Expand Up @@ -643,10 +653,13 @@ static int i7300_get_mc_regs(struct mem_ctl_info *mci)
/* Get memory controller settings */
pci_read_config_dword(pvt->pci_dev_16_1_fsb_addr_map, MC_SETTINGS,
&pvt->mc_settings);

debugf0("Memory controller operating on %s mode\n",
pvt->mc_settings & (1 << 16)? "mirrored" : "non-mirrored");
IS_MIRRORED(pvt->mc_settings) ? "mirrored" : "non-mirrored");
debugf0("Error detection is %s\n",
pvt->mc_settings & (1 << 5)? "enabled" : "disabled");
IS_ECC_ENABLED(pvt->mc_settings) ? "enabled" : "disabled");
debugf0("Retry is %s\n",
IS_RETRY_ENABLED(pvt->mc_settings) ? "enabled" : "disabled");

/* Get Memory Interleave Range registers */
pci_read_config_word(pvt->pci_dev_16_1_fsb_addr_map, MIR0, &pvt->mir[0]);
Expand Down

0 comments on commit d7de2bd

Please sign in to comment.