From mboxrd@z Thu Jan 1 00:00:00 1970 From: arnd@arndb.de (Arnd Bergmann) Date: Fri, 03 Jan 2014 20:03:37 +0100 Subject: Issue with the emulated PCI bridge implementation In-Reply-To: <20140103184424.GC12098@obsidianresearch.com> References: <20131226160534.36cc4203@skate> <201401031322.31433.arnd@arndb.de> <20140103184424.GC12098@obsidianresearch.com> Message-ID: <3770300.2dqxYXsVev@wuerfel> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Friday 03 January 2014 11:44:24 Jason Gunthorpe wrote: > On Fri, Jan 03, 2014 at 01:22:31PM +0100, Arnd Bergmann wrote: > > > However the part that made me wonder is that an e1000e with a PCI bridge > > actually /should/not/ need to allocate an I/O space window with a precious > > mbus resource, since AFAIK this adapter does not have an I/O space BARs. > > IIRC the e1000 still has a legacy IO port BAR.. (guessing it is used > for PXE boot on x86?) Ok, that would certainly explain it. I actually found a reference to the I/O BAR in the e1000 driver now. > My patch set to allow the DT to turn off IO port allocation is already > in mainline - drop the IO ranges from the DT and no IO resources are > consumed at all. Ah, nice! I haven't followed that, but it sounds like a very good solution. > Though, that is an interesting point, a small refinement would be to > not allocate the pci io map if IO is turned off as well.. Do you mean not call pci_ioremap_io() and pci_add_resource_offset(), or something else? Either way, it sounds like the correct thing to do. I wonder if the PCI core has any problems when there is no IO resource, but it's probably fine. Arnd