lkml.org 
[lkml]   [2007]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] fix IDE legacy mode resource
On Sat, 28 Jul 2007 14:13:06 -0400
Jeff Garzik <jeff@garzik.org> 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@tripeaks.co.jp>
>
> 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-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-07-29 10:19    [W:0.040 / U:0.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site