On Sat, May 09, 2015 at 09:43:16PM +1000, Alexey Kardashevskiy wrote: >On 05/01/2015 04:02 PM, Gavin Shan wrote: >>Currently, the PEs and their associated resources are assigned >>in ppc_md.pcibios_fixup(). The function is called for once after >>PCI probing and resources assignment are finished. Obviously, it's >>not hotplug friendly. The patch creates PEs dynamically by >>ppc_md.pcibios_setup_bridge(), which is called on the event during >>system bootup and PCI hotplug: updating PCI bridge's windows after >>resource assignment/reassignment are finished. For partial hotplug >>case, where not all PCI devices belonging to the PE are unplugged >>and plugged again, we just need unbinding/binding the affected >>PCI devices with the corresponding PE without creating new one. > > >Some PEs are already created dynamically (SRIOV). I'd suggest to make subject >more specific. > Sure, will do. >>Besides, it might require addtional resources (e.g. M32) to the >>windows of the PCI bridge when unplugging current adapter, and >>insert a different adapter if there is one PCI slot, which is >>assumed behind root port, or the downstream bridge of the PCIE >>switch behind root port. The parent bridge of the newly plugged >>adapter would reject the request to add more resources, leading >>to hotplug failure. For the issue, the patch extends the windows >>of root port, or the upstream port of the PCIe switch behind root >>port to PHB's windows when ppc_md.pcibios_setup_bridge() is called. >> >>There is no upstream bridge for root bus, so we have to reserve >>PE#, which is next to the reserved PE# in advance and fixing the >>PE for root bus in ppc_md.pcibios_setup_bridge(). >> >>The patch also changes the rule assigning PE#: PE# reserved for >>prefetchable 64-bits memory resource and SRIOV VFs starts from >>zero while PE# for dynamic allocations starts from ioda.total_pe >>reversely. It's because PE# for prefetchable 64-bits memory resource, >>which is ually allocated begining with the PHB's aperatus and PE# > >s/aperatus/apertures/? > I need look into Chinese-English dictionary to confirm :-) >May be it is just me but it looks like the patch moves existing bits and also >adds this dynamic PE creation, cannot it be separated somehow into smaller >patches as it is really hard to track all the changes you are making here? > It's good suggestion as I said in previous replies. Yeah, I'll see if I can split it up to help review and bisecting. Thanks, Gavin -- 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