Hi Barry, On Mon, Aug 3, 2015 at 10:28 AM, Barry Grussling <barry@xxxxxxxxxxxxx> wrote: > Hello, > > I am having some issues with PCIe hotplug on Linux. Bottom > line is if PCIe endpoints are present and enabled on boot, > things work fine. I can disable/enable endpoints and rescan > the PCI chain great and everything is found and loaded. > > If PCIe endpoints are not present on boot and instead > are added later, I get "no space" and "failed to assign" > when I try to rescan the PCIe bus. > > Booting with pci=realloc=on seems to have no effect. > > I have verified I have CONFIG_PCI_REALLOC_ENABLE_AUTO=y > and CONFIG_PCI_IOV=y in my config. > > The root complex is an ARM Cortex A9 SoC. There is > a PLX PEX 8619 16-lane PCIe switch chip hooked up to > the root complex of the SoC. Can you attach complete dmesg logs and "lspci -vv" output for both cases? (You can attach them to a kernel.org bugzilla if they're too big for email.) > ... > Note the working system allocates 0xc0000000 to 0xc7dfffff to > the PCI subsystem but the failing boot only allocates 0xc0000000 > to 0xc59fffff. The dmesg logs will tell us what space is allocated to the host bridge. That is generally done by firmware or the bootloader, and Linux doesn't change it. So if firmware only assigns 0xc0000000 to 0xc59fffff to the host bridge, the current Linux kernel will only assign PCI devices inside that region; it will never expand the region. Bjorn -- 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