Skip to contentSkip to conversation

sh: add io_base member to pci_channel

PATCH In review Magnus Damm 1 participant 1 message Feb 19, 2008 SuperH

lore
Share & tools
lore
#0 lore raw

PATCH 6/9 sh: add io_base member to pci_channel

Store the io window base address in struct pci_channel and use that one instead of SH77xx_PCI_IO_BASE.

---

 arch/sh/drivers/pci/pci-sh7751.c |    5 +++--
 arch/sh/drivers/pci/pci-sh7780.c |    5 +++--
 include/asm-sh/pci.h             |    1 +
 3 files changed, 7 insertions(+), 4 deletions(-)
arch/sh/drivers/pci/pci-sh7751.c +3 -2
@@ -40,6 +40,7 @@ int __init sh7751_pci_init(struct pci_ch
 	pr_debug("PCI: Starting intialization.\n");
 
 	chan->reg_base = 0xfe200000;
+	chan->io_base = 0xfe240000;
 
 	/* check for SH7751/SH7751R hardware */
 	id = pci_read_reg(chan, SH7751_PCICONF0);
@@ -153,9 +154,9 @@ int __init sh7751_pcic_init(struct pci_c
 	/* Map IO space into PCI IO window:
 	 * IO addresses will be translated to the PCI IO window base address
 	 */
-	pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%x\n",
+	pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%lx\n",
 		 chan->io_resource->start, chan->io_resource->end,
-		 SH7751_PCI_IO_BASE + chan->io_resource->start);
+		 chan->io_base + chan->io_resource->start);
 
 	/* Make sure the MSB's of IO window are set to access PCI space
 	 * correctly */
arch/sh/drivers/pci/pci-sh7780.c +3 -2
@@ -53,6 +53,7 @@ int __init sh7780_pci_init(struct pci_ch
 	pr_debug("PCI: Starting intialization.\n");
 
 	chan->reg_base = 0xfe040000;
+	chan->io_base = 0xfe200000;
 
 	ctrl_outl(0x00000001, SH7780_PCI_VCR2); /* Enable PCIC */
 
@@ -141,9 +142,9 @@ int __init sh7780_pcic_init(struct pci_c
 	/* Map IO space into PCI IO window:
 	 * IO addresses will be translated to the PCI IO window base address
 	 */
-	pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%x\n",
+	pr_debug("PCI: Mapping IO address 0x%x - 0x%x to base 0x%lx\n",
 		 chan->io_resource->start, chan->io_resource->end,
-		 SH7780_PCI_IO_BASE + chan->io_resource->start);
+		 chan->io_base + chan->io_resource->start);
 
 	/* NOTE: I'm ignoring the PCI error IRQs for now..
 	 * TODO: add support for the internal error interrupts and
include/asm-sh/pci.h +1 -0
@@ -25,6 +25,7 @@ struct pci_channel {
 	int last_devfn;
 	int enabled;
 	unsigned long reg_base;
+	unsigned long io_base;
 };
 
 /*