On Fri, Feb 01, 2013 at 04:07:49PM +0000, Arnd Bergmann wrote: > On Friday 01 February 2013, Thomas Petazzoni wrote: > > So there is really a range of I/O addresses associated to it, even > > though the device will apparently not use it. Would it be possible to > > detect that the I/O range is not used by the device, and therefore > > avoid the allocation of an address decoding window for this I/O range? > > I suspect it just gets disabled because the port number 0xc0010000 is > larger than IO_PORT_LIMIT and we cannot access that offset inside > of the virtual memory window we use for PIO. You're running into that trap again which you fall into on other architectures. If you arrange for your PCI IO space to start at 0 rather than the physical address that it appears on your CPU, then you shouldn't end up with it extending up to something at 0xcXXXXXXX. Remember that we should be ensuring that inb(0) hits the first address of the cross-subarch PCI IO area - this alway requires that any sub-arch taking part in a multiplatform kernel must start its IO space addresses at 0 and not the physical address on the local CPU. -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html