[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071214001239.B21652@jurassic.park.msu.ru>
Date: Fri, 14 Dec 2007 00:12:39 +0300
From: Ivan Kokshaysky <ink@...assic.park.msu.ru>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>
Cc: Jesse Barnes <jesse.barnes@...el.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Robert Hancock <hancockr@...w.ca>,
linux-pci@...ey.karlin.mff.cuni.cz,
Linux Kernel list <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: Possible issue with dangling PCI BARs
On Fri, Dec 14, 2007 at 07:51:06AM +1100, Benjamin Herrenschmidt wrote:
> If the device is behind a P2P bridge and the BIOS has set the windows of
> that bridge so tightly that there is no room to allocate the MMIO BAR,
> then a full disable/full enable would fail on a device that would
> otherwise work using only PIO.
It won't be a problem with separate io/mmio enable.
> However, I'd be curious to see that happening in practice :-)
>
> But I think it's fair enough to do an IO only / MEM only approach. I've
> seen cases where IO is just not useable because of other constraints and
> so I expect the MEM-only case to be more common, especially on non-x86.
Everybody wants MEM if it's available - it's just faster :-)
So I guess a common case will be
if (pci_enable_device_mmio(dev)) {
/* failed, fallback to IO */
if (pci_enable_device_io(dev))
return -ENODEV;
...
}
Ivan.
--
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