On Sat, 28 Jul 2007 14:13:06 -0400 Jeff Garzik <jeff@xxxxxxxxxx> wrote: > Yoichi Yuasa wrote: > > Hi, > > > > I got the following error on MIPS Cobalt. > > MIPS Cobalt has the 0x10000000 offset between resource and bus region. > > > > PCI: Unable to reserve I/O region #1:8@f00001f0 for device 0000:00:09.1 > > pata_via 0000:00:09.1: failed to request/iomap BARs for port 0 (errno=-16) > > PCI: Unable to reserve I/O region #3:8@f0000170 for device 0000:00:09.1 > > pata_via 0000:00:09.1: failed to request/iomap BARs for port 1 (errno=-16) > > pata_via 0000:00:09.1: no available native port > > > > At this point, these resources should be the bus regions. > > > > Signed-off-by: Yoichi Yuasa <yoichi_yuasa@xxxxxxxxxxxxxx> > > I'm not sure I understand what's going on here... could you or someone > provide additional explanation as to why this is a fix? The legacy mode IDE resources set the following order. pci_setup_device() Legacy mode ATA controllers have fixed addresses. IDE resources: 0x1F0-0x1F7, 0x3F6, 0x170-0x177, 0x376 | V pcibios_fixup_bus() MIPS Cobalt PCI bus have the -0x10000000 offset from PCI resources. pcibios_fixup_bus() fix PCI bus regions. 0x1F0 - 0x10000000 = 0xF00001F0 | V ata_pci_init_one() PCI: Unable to reserve I/O region #1:8@f00001f0 for device 0000:00:09.1 In some architectures, PCI bus have the offset from PCI resource. They are adjusted by pcibios_fixup_bus(). For this reason, pci_setup_device() should set PCI bus regions. Yoichi - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html