summaryrefslogtreecommitdiffstats
path: root/arch/mips/pci
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2008-06-09 17:20:03 +0100
committerRalf Baechle <ralf@linux-mips.org>2008-06-16 15:14:46 +0100
commitd0f9cbd4b29c3d208d6b31519cbb940d98d61e7d (patch)
treeaa31354685e635297254720c5df28f3d1e5a8138 /arch/mips/pci
parent6b7d0b2fb6da3f6182f2bd162bf02ed4aed1813f (diff)
downloadop-kernel-dev-d0f9cbd4b29c3d208d6b31519cbb940d98d61e7d.zip
op-kernel-dev-d0f9cbd4b29c3d208d6b31519cbb940d98d61e7d.tar.gz
[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 42e4d2c..2a09ad9 100644
--- a/arch/mips/pci/pci-sb1250.c
+++ b/arch/mips/pci/pci-sb1250.c
@@ -207,6 +207,7 @@ struct pci_controller sb1250_controller = {
static int __init sb1250_pcibios_init(void)
{
+ void __iomem *io_map_base;
uint32_t cmdreg;
uint64_t reg;
extern int pci_probe_only;
@@ -253,12 +254,13 @@ static int __init sb1250_pcibios_init(void)
* works correctly with most of Linux's drivers.
* XXX ehs: Should this happen in PCI Device mode?
*/
-
- set_io_port_base((unsigned long)
- ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 65536));
isa_slot_offset = (unsigned long)
ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES_32, 1024 * 1024);
+ io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024);
+ sb1250_controller.io_map_base = io_map_base;
+ set_io_port_base((unsigned long)io_map_base);
+
#ifdef CONFIG_SIBYTE_HAS_LDT
/*
* Also check the LDT bridge's enable, just in case we didn't
OpenPOWER on IntegriCloud