Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 309123
b: refs/heads/master
c: f34575a
h: refs/heads/master
i:
  309121: f1d6313
  309119: a3827c8
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed May 28, 2012
1 parent 8c354c7 commit 4b9f6c4
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a583ac6ca809907dcf3e5e2dd12250b23ceda7c2
refs/heads/master: f34575aca9ea92bf61e428fb4584d9ebbff9807c
25 changes: 16 additions & 9 deletions trunk/drivers/edac/pasemi_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,15 +110,16 @@ static void pasemi_edac_process_error_info(struct mem_ctl_info *mci, u32 errsta)
/* uncorrectable/multi-bit errors */
if (errsta & (MCDEBUG_ERRSTA_MBE_STATUS |
MCDEBUG_ERRSTA_RFL_STATUS)) {
edac_mc_handle_ue(mci, mci->csrows[cs].first_page, 0,
cs, mci->ctl_name);
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
mci->csrows[cs].first_page, 0, 0,
cs, 0, -1, mci->ctl_name, "", NULL);
}

/* correctable/single-bit errors */
if (errsta & MCDEBUG_ERRSTA_SBE_STATUS) {
edac_mc_handle_ce(mci, mci->csrows[cs].first_page, 0,
0, cs, 0, mci->ctl_name);
}
if (errsta & MCDEBUG_ERRSTA_SBE_STATUS)
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
mci->csrows[cs].first_page, 0, 0,
cs, 0, -1, mci->ctl_name, "", NULL);
}

static void pasemi_edac_check(struct mem_ctl_info *mci)
Expand Down Expand Up @@ -191,6 +192,7 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
struct mem_ctl_info *mci = NULL;
struct edac_mc_layer layers[2];
u32 errctl1, errcor, scrub, mcen;

pci_read_config_dword(pdev, MCCFG_MCEN, &mcen);
Expand All @@ -207,9 +209,14 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
MCDEBUG_ERRCTL1_RFL_LOG_EN;
pci_write_config_dword(pdev, MCDEBUG_ERRCTL1, errctl1);

mci = edac_mc_alloc(0, PASEMI_EDAC_NR_CSROWS, PASEMI_EDAC_NR_CHANS,
system_mmc_id++);

layers[0].type = EDAC_MC_LAYER_CHIP_SELECT;
layers[0].size = PASEMI_EDAC_NR_CSROWS;
layers[0].is_virt_csrow = true;
layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = PASEMI_EDAC_NR_CHANS;
layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(system_mmc_id++, ARRAY_SIZE(layers), layers,
0);
if (mci == NULL)
return -ENOMEM;

Expand Down

0 comments on commit 4b9f6c4

Please sign in to comment.