On Wed, Jul 16, 2014 at 11:54 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > [+cc Yinghai] > > On Wed, Jul 16, 2014 at 11:19 AM, Chuck Tuffli <ctuffli@xxxxxxxxx> wrote: >> On Tue, Jul 8, 2014 at 12:37 PM, Chuck Tuffli <ctuffli@xxxxxxxxx> wrote: >>> On a system with a recent Fedora kernel (3.14.9-200.fc20.x86_64), a >>> hotplugged PCI device is unable to get memory mapped IO: >>> ... >>> [ 183.247377] pcieport 0000:9a:00.0: BAR 15: can't assign mem pref >>> (size 0x100000) >>> [ 183.247384] pcieport 0000:9b:15.0: BAR 14: can't assign mem (size 0x100000) >>> [ 183.247388] pcieport 0000:9b:15.0: BAR 15: can't assign mem pref >>> (size 0x100000) >>> [ 183.247394] pci 0000:a5:00.0: BAR 6: can't assign mem pref (size 0x10000) >>> [ 183.247397] pci 0000:a5:00.0: BAR 0: can't assign mem (size 0x4000) >>> >>> The device is connected to a switch supporting hotplug (i.e. SltCap >>> includes HotPlug+) and I have added >>> pci=realloc,hpmemsize=16M >>> to the kernel boot parameters. This appears to have increased the >>> prefetchable memory but not the memory mapped IO: >> >> Further investigation suggests that pbus_size_mem() never really gets >> a chance to increase the bridge aperture by the hpmemsize value >> because find_free_bus_resource() returns NULL. This apparently happens >> because the function "skip[s] the bus resources which have already >> been assigned (that is, have non-NULL parent resource)". Specifically, >> it checks >> >> if (r && (r->flags & type_mask) == type && !r->parent) >> >> and in my configuration, finds that r->parent != NULL for the memory >> mapped IO resource. Wouldn't r->parent be non-NULL in most cases other >> than for bridges in the root complex? If so, does that imply hpmemsize >> would only be used for bridges advertising hot plug in the root >> complex? Please try current tree linus/master or pci/next. also need boot with "debug ignore_loglevel pciehp.pciehp_debug=1". post dmesg -s 262144 lspci -tv lspci -vvxxx Thanks Yinghai -- 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