|
@@ -260,15 +260,17 @@
|
|
|
* the mappings into PCI memory.
|
|
|
*/
|
|
|
|
|
|
+static void __iomem *pci_v3_base;
|
|
|
+
|
|
|
// V3 access routines
|
|
|
-#define v3_writeb(o,v) __raw_writeb(v, PCI_V3_VADDR + (unsigned int)(o))
|
|
|
-#define v3_readb(o) (__raw_readb(PCI_V3_VADDR + (unsigned int)(o)))
|
|
|
+#define v3_writeb(o,v) __raw_writeb(v, pci_v3_base + (unsigned int)(o))
|
|
|
+#define v3_readb(o) (__raw_readb(pci_v3_base + (unsigned int)(o)))
|
|
|
|
|
|
-#define v3_writew(o,v) __raw_writew(v, PCI_V3_VADDR + (unsigned int)(o))
|
|
|
-#define v3_readw(o) (__raw_readw(PCI_V3_VADDR + (unsigned int)(o)))
|
|
|
+#define v3_writew(o,v) __raw_writew(v, pci_v3_base + (unsigned int)(o))
|
|
|
+#define v3_readw(o) (__raw_readw(pci_v3_base + (unsigned int)(o)))
|
|
|
|
|
|
-#define v3_writel(o,v) __raw_writel(v, PCI_V3_VADDR + (unsigned int)(o))
|
|
|
-#define v3_readl(o) (__raw_readl(PCI_V3_VADDR + (unsigned int)(o)))
|
|
|
+#define v3_writel(o,v) __raw_writel(v, pci_v3_base + (unsigned int)(o))
|
|
|
+#define v3_readl(o) (__raw_readl(pci_v3_base + (unsigned int)(o)))
|
|
|
|
|
|
/*============================================================================
|
|
|
*
|
|
@@ -835,6 +837,12 @@ static int __init pci_v3_probe(struct platform_device *pdev)
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
|
|
|
+ pci_v3_base = devm_ioremap(&pdev->dev, PHYS_PCI_V3_BASE, SZ_64K);
|
|
|
+ if (!pci_v3_base) {
|
|
|
+ dev_err(&pdev->dev, "unable to remap PCIv3 base\n");
|
|
|
+ return -ENODEV;
|
|
|
+ }
|
|
|
+
|
|
|
ret = devm_request_irq(&pdev->dev, IRQ_AP_V3INT, v3_irq, 0, "V3", NULL);
|
|
|
if (ret) {
|
|
|
dev_err(&pdev->dev, "unable to grab PCI error interrupt: %d\n",
|