aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/pci
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2008-06-09 12:20:03 -0400
committerRalf Baechle <ralf@linux-mips.org>2008-06-16 10:14:46 -0400
commitd0f9cbd4b29c3d208d6b31519cbb940d98d61e7d (patch)
treeaa31354685e635297254720c5df28f3d1e5a8138 /arch/mips/pci
parent6b7d0b2fb6da3f6182f2bd162bf02ed4aed1813f (diff)
[MIPS] SB1250: Initialize io_map_base
Correctly initialize io_map_base for the SB1250 PCI controller as required for proper iomap support. Based on a proposal from Daniel Jacobowitz. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/pci')
-rw-r--r--arch/mips/pci/pci-sb1250.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/mips/pci/pci-sb1250.c b/arch/mips/pci/pci-sb1250.c
index 42e4d2c800fa..2a09ad91ec8c 100644
--- a/arch/mips/pci/pci-sb1250.c
+++ b/arch/mips/pci/pci-sb1250.c
@@ -207,6 +207,7 @@ struct pci_controller sb1250_controller = {
207 207
208static int __init sb1250_pcibios_init(void) 208static int __init sb1250_pcibios_init(void)
209{ 209{
210 void __iomem *io_map_base;
210 uint32_t cmdreg; 211 uint32_t cmdreg;
211 uint64_t reg; 212 uint64_t reg;
212 extern int pci_probe_only; 213 extern int pci_probe_only;
@@ -253,12 +254,13 @@ static int __init sb1250_pcibios_init(void)
253 * works correctly with most of Linux's drivers. 254 * works correctly with most of Linux's drivers.
254 * XXX ehs: Should this happen in PCI Device mode? 255 * XXX ehs: Should this happen in PCI Device mode?
255 */ 256 */
256
257 set_io_port_base((unsigned long)
258 ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 65536));
259 isa_slot_offset = (unsigned long) 257 isa_slot_offset = (unsigned long)
260 ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES_32, 1024 * 1024); 258 ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES_32, 1024 * 1024);
261 259
260 io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024);
261 sb1250_controller.io_map_base = io_map_base;
262 set_io_port_base((unsigned long)io_map_base);
263
262#ifdef CONFIG_SIBYTE_HAS_LDT 264#ifdef CONFIG_SIBYTE_HAS_LDT
263 /* 265 /*
264 * Also check the LDT bridge's enable, just in case we didn't 266 * Also check the LDT bridge's enable, just in case we didn't