Hello Jeff, Do you have any comments? On Sun, 29 Jul 2007 17:15:44 +0900 Yoichi Yuasa <yoichi_yuasa@xxxxxxxxxxxxxx> wrote: > 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. - 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