Re: Difference between hot-plug on PCIe rootport vs downstream port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 9, 2013 at 7:36 AM, Rajat Jain <rajatjain@xxxxxxxxxxx> wrote:
> Hello,
>
> 1) Does the pciehp support hotplug on both rootport and downstream port?

Yes.  To be precise, pciehp supports hotplug of PCIe devices below
Root Ports and Downstream Ports.

> 2) What is so different about these that downstream port hotplug was part of the kernel since very long, but root port hotplug was included releatively recently? Are there any added complexities? I couldn't find anything on the net on this. From my understanding it should be exactly similar?

Hotplugging of PCIe devices below Root Ports and Downstream Ports
should be identical.

My guess is that you're confused by the recent addition of PCI *host
bridge* hotplug.  This is for hotplugging an entire Root Complex or
other host bridge.  A host bridge is not a PCI or PCIe device (though
a Root Complex *contains* Root Ports).  It has some platform-specific
interface on the upstream side and a PCI or PCIe interface on the
downstream side.  There is no architected way to discover host bridge
existence, apertures, address translation, etc.  This is all done via
ACPI or other platform-specific methods, not via PCI mechanisms.
Therefore, hotplug of a host bridge is much different than hotplug of
a PCI device.

> 3) I understand the hotplug on downstream port is architecture independent. But is the root port hotplug architecture dependent (assuming that the CPU complies to the PCIe, spec, it shouldn't be, right)?

The PCIe spec doesn't really apply to CPUs.  The above should clarify the rest.

> 4) Can you point me to the code where the root port hotplug is implemented?

Host bridge hotplug is implemented in drivers/acpi/pci_root.c.
Obviously this only applies to arches that use ACPI (currently x86 and
ia64).

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




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux