diff options
Diffstat (limited to 'arch/mips/pci/pci-bcm1480.c')
-rw-r--r-- | arch/mips/pci/pci-bcm1480.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/arch/mips/pci/pci-bcm1480.c b/arch/mips/pci/pci-bcm1480.c index 12bb7445413..4905d8593d6 100644 --- a/arch/mips/pci/pci-bcm1480.c +++ b/arch/mips/pci/pci-bcm1480.c @@ -56,13 +56,11 @@ static void *cfg_space; #define PCI_BUS_ENABLED 1 -#define LDT_BUS_ENABLED 2 -#define PCI_DEVICE_MODE 4 +#define PCI_DEVICE_MODE 2 static int bcm1480_bus_status = 0; #define PCI_BRIDGE_DEVICE 0 -#define LDT_BRIDGE_DEVICE 1 /* * Read/write 32-bit values in config space. @@ -95,10 +93,13 @@ int pcibios_plat_dev_init(struct pci_dev *dev) */ static int bcm1480_pci_can_access(struct pci_bus *bus, int devfn) { + u32 devno; + if (!(bcm1480_bus_status & (PCI_BUS_ENABLED | PCI_DEVICE_MODE))) return 0; if (bus->number == 0) { + devno = PCI_SLOT(devfn); if (bcm1480_bus_status & PCI_DEVICE_MODE) return 0; else @@ -175,15 +176,15 @@ struct pci_ops bcm1480_pci_ops = { static struct resource bcm1480_mem_resource = { .name = "BCM1480 PCI MEM", - .start = 0x40000000UL, - .end = 0x5fffffffUL, + .start = 0x30000000UL, + .end = 0x3fffffffUL, .flags = IORESOURCE_MEM, }; static struct resource bcm1480_io_resource = { .name = "BCM1480 PCI I/O", - .start = 0x00000000UL, - .end = 0x01ffffffUL, + .start = 0x2c000000UL, + .end = 0x2dffffffUL, .flags = IORESOURCE_IO, }; @@ -207,9 +208,9 @@ static int __init bcm1480_pcibios_init(void) PCIBIOS_MIN_IO = 0x00008000UL; PCIBIOS_MIN_MEM = 0x01000000UL; - /* Set I/O resource limits. */ - ioport_resource.end = 0x01ffffffUL; /* 32MB accessible by bcm1480 */ - iomem_resource.end = 0xffffffffUL; /* no HT support yet */ + /* Set I/O resource limits. - unlimited for now to accomodate HT */ + ioport_resource.end = 0xffffffffUL; + iomem_resource.end = 0xffffffffUL; cfg_space = ioremap(A_BCM1480_PHYS_PCI_CFG_MATCH_BITS, 16*1024*1024); |