[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20070806235655.0a9a09af.yoichi_yuasa@tripeaks.co.jp>
Date: Mon, 6 Aug 2007 23:56:55 +0900
From: Yoichi Yuasa <yoichi_yuasa@...peaks.co.jp>
To: jeff@...zik.org
Cc: yoichi_yuasa@...peaks.co.jp, greg@...ah.com,
linux-kernel@...r.kernel.org, linux-ide@...r.kernel.org,
alan@...rguk.ukuu.org.uk
Subject: Re: [PATCH] fix IDE legacy mode resource
Hello Jeff,
Do you have any comments?
On Sun, 29 Jul 2007 17:15:44 +0900
Yoichi Yuasa <yoichi_yuasa@...peaks.co.jp> wrote:
> On Sat, 28 Jul 2007 14:13:06 -0400
> Jeff Garzik <jeff@...zik.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@...001f0 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@...00170 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@...peaks.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@...001f0 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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists