]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
sh: avoid using PCIBIOS_MIN_xxx
authorMagnus Damm <damm@igel.co.jp>
Wed, 11 Mar 2009 06:47:23 +0000 (15:47 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 16 Apr 2009 07:00:13 +0000 (16:00 +0900)
Replaces PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM with direct struct
pci_channel access. This allows us to have more than one pci
channel.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/drivers/pci/fixups-r7780rp.c
arch/sh/drivers/pci/fixups-sdk7780.c
arch/sh/drivers/pci/fixups-se7780.c
arch/sh/drivers/pci/pci-sh5.c
arch/sh/drivers/pci/pci-sh7751.c
arch/sh/drivers/pci/pci-sh7780.c

index 5b25021bbd62a0cb2ad63ee1fcfc9f9208ae799a..31f8dfbfcbf50a56d36f5823f5a82a9a78351c8a 100644 (file)
@@ -37,7 +37,7 @@ int pci_fixup_pcic(struct pci_channel *chan)
 #endif
 
        /* Set IOBR for windows containing area specified in pci.h */
-       pci_write_reg(chan, (PCIBIOS_MIN_IO & ~(SH7780_PCI_IO_SIZE - 1)),
+       pci_write_reg(chan, chan->io_resource->start & ~(SH7780_PCI_IO_SIZE-1),
                      SH7780_PCIIOBR);
        pci_write_reg(chan, ((SH7780_PCI_IO_SIZE-1) & (7<<18)),
                      SH7780_PCIIOBMR);
index 3f6754a120ed5e0e186c7ecb2a5798c5619f4fa7..c2957312b30bd38e52d16b76689d17d946ee8d28 100644 (file)
@@ -50,7 +50,7 @@ int pci_fixup_pcic(struct pci_channel *chan)
        pci_write_reg(chan, 0x00FC0000 , SH7780_PCIMBMR0);      /* 16M */
 
        /* Set IOBR for window containing area specified in pci.h */
-       pci_write_reg(chan, PCIBIOS_MIN_IO & ~(SH7780_PCI_IO_SIZE-1),
+       pci_write_reg(chan, chan->io_resource->start & ~(SH7780_PCI_IO_SIZE-1),
                      SH7780_PCIIOBR);
        pci_write_reg(chan, (SH7780_PCI_IO_SIZE-1) & (7 << 18),
                      SH7780_PCIIOBMR);
index b8e735e01c3c77436946a97e32e27abec0ba22a0..a968af7d6f70f20f37316daced86c05d42ed1a90 100644 (file)
@@ -51,7 +51,7 @@ int pci_fixup_pcic(struct pci_channel *chan)
        pci_write_reg(chan, 0x00FC0000 , SH7780_PCIMBMR0);    /* 16M */
 
        /* Set IOBR for window containing area specified in pci.h */
-       pci_write_reg(chan, PCIBIOS_MIN_IO & ~(SH7780_PCI_IO_SIZE-1),
+       pci_write_reg(chan, chan->io_resource->start & ~(SH7780_PCI_IO_SIZE-1),
                      SH7780_PCIIOBR);
        pci_write_reg(chan, (SH7780_PCI_IO_SIZE-1) & (7 << 18),
                      SH7780_PCIIOBMR);
index 008a02ec0d9f8b53cdacd775d88f0a897ec88b74..7750da27628412bc4eb7e406ec2a14669d2fa265 100644 (file)
@@ -206,6 +206,9 @@ int __init sh5pci_init(unsigned long memStart, unsigned long memSize)
        return 0;
 }
 
+#define xPCIBIOS_MIN_IO                board_pci_channels->io_resource->start
+#define xPCIBIOS_MIN_MEM       board_pci_channels->mem_resource->start
+
 void __devinit pcibios_fixup_bus(struct pci_bus *bus)
 {
        struct pci_dev *dev = bus->self;
@@ -223,9 +226,9 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus)
                /* For now, propagate host limits to the bus;
                 * we'll adjust them later. */
                bus->resource[0]->end = 64*1024 - 1 ;
-               bus->resource[1]->end = PCIBIOS_MIN_MEM+(256*1024*1024)-1;
-               bus->resource[0]->start = PCIBIOS_MIN_IO;
-               bus->resource[1]->start = PCIBIOS_MIN_MEM;
+               bus->resource[1]->end = xPCIBIOS_MIN_MEM+(256*1024*1024)-1;
+               bus->resource[0]->start = xPCIBIOS_MIN_IO;
+               bus->resource[1]->start = xPCIBIOS_MIN_MEM;
 
                /* Turn off downstream PF memory address range by default */
                bus->resource[2]->start = 1024*1024;
index 230db8bd97443a8a38c2f9a0bceb7e7689fa90dc..447234c69ab1beafb8a419900f71aa722b2b3984 100644 (file)
@@ -144,22 +144,20 @@ int __init sh7751_pcic_init(struct pci_channel *chan,
        /* Set the local 16MB PCI memory space window to
         * the lowest PCI mapped address
         */
-       word = PCIBIOS_MIN_MEM & SH4_PCIMBR_MASK;
+       word = chan->mem_resource->start & SH4_PCIMBR_MASK;
        pr_debug("PCI: Setting upper bits of Memory window to 0x%x\n", word);
        pci_write_reg(chan, word , SH4_PCIMBR);
 
-       /* Map IO space into PCI IO window
-        * The IO window is 64K-PCIBIOS_MIN_IO in size
-        * IO addresses will be translated to the
-        * PCI IO window base address
+       /* 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",
-                PCIBIOS_MIN_IO, (64 << 10),
-                SH7751_PCI_IO_BASE + PCIBIOS_MIN_IO);
+                chan->io_resource->start, chan->io_resource->end,
+                SH7751_PCI_IO_BASE + chan->io_resource->start);
 
        /* Make sure the MSB's of IO window are set to access PCI space
         * correctly */
-       word = PCIBIOS_MIN_IO & SH4_PCIIOBR_MASK;
+       word = chan->io_resource->start & SH4_PCIIOBR_MASK;
        pr_debug("PCI: Setting upper bits of IO window to 0x%x\n", word);
        pci_write_reg(chan, word, SH4_PCIIOBR);
 
index 4706e880b0874c8a20b301f409f5cc32010390a0..e8f3a308c0750dc9c642a4a7d763e88a08b750f9 100644 (file)
@@ -130,14 +130,12 @@ int __init sh7780_pcic_init(struct pci_channel *chan,
        pci_write_reg(chan, map->window1.base, SH4_PCILAR1);
        pci_write_reg(chan, map->window1.base, SH7780_PCIMBAR1);
 
-       /* Map IO space into PCI IO window
-        * The IO window is 64K-PCIBIOS_MIN_IO in size
-        * IO addresses will be translated to the
-        * PCI IO window base address
+       /* 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",
-                PCIBIOS_MIN_IO, (64 << 10),
-                SH7780_PCI_IO_BASE + PCIBIOS_MIN_IO);
+                chan->io_resource->start, chan->io_resource->end,
+                SH7780_PCI_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