Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 106054
b: refs/heads/master
c: fcb1917
h: refs/heads/master
v: v3
  • Loading branch information
Dave Jiang authored and Linus Torvalds committed Jul 25, 2008
1 parent e5fc978 commit 52ec070
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 596d3941035d4d4b484c820f10f57fd4816c6615
refs/heads/master: fcb19171d196172a4f57e056f7a60e6d1e2e8c85
35 changes: 35 additions & 0 deletions trunk/drivers/edac/mv64x60_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,35 @@ static irqreturn_t mv64x60_pci_isr(int irq, void *dev_id)
return IRQ_HANDLED;
}

/*
* Bit 0 of MV64x60_PCIx_ERR_MASK does not exist on the 64360 and because of
* errata FEr-#11 and FEr-##16 for the 64460, it should be 0 on that chip as
* well. IOW, don't set bit 0.
*/

/* Erratum FEr PCI-#16: clear bit 0 of PCI SERRn Mask reg. */
static int __init mv64x60_pci_fixup(struct platform_device *pdev)
{
struct resource *r;
void __iomem *pci_serr;

r = platform_get_resource(pdev, IORESOURCE_MEM, 1);
if (!r) {
printk(KERN_ERR "%s: Unable to get resource for "
"PCI err regs\n", __func__);
return -ENOENT;
}

pci_serr = ioremap(r->start, r->end - r->start + 1);
if (!pci_serr)
return -ENOMEM;

out_le32(pci_serr, in_le32(pci_serr) & ~0x1);
iounmap(pci_serr);

return 0;
}

static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)
{
struct edac_pci_ctl_info *pci;
Expand Down Expand Up @@ -128,6 +157,12 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)
goto err;
}

res = mv64x60_pci_fixup(pdev);
if (res < 0) {
printk(KERN_ERR "%s: PCI fixup failed\n", __func__);
goto err;
}

out_le32(pdata->pci_vbase + MV64X60_PCI_ERROR_CAUSE, 0);
out_le32(pdata->pci_vbase + MV64X60_PCI_ERROR_MASK, 0);
out_le32(pdata->pci_vbase + MV64X60_PCI_ERROR_MASK,
Expand Down

0 comments on commit 52ec070

Please sign in to comment.