>> This patch introduces a PCI hotplug controller driver for the OCTEON >> PCIe device. The OCTEON PCIe device is a multi-function device where the >> first function serves as the PCI hotplug controller. >> >> +--------------------------------+ >> | Root Port | >> +--------------------------------+ >> | >> PCIe >> | >> +---------------------------------------------------------------+ >> | OCTEON PCIe Multifunction Device | >> +---------------------------------------------------------------+ >> | | | | >> | | | | >> +---------------------+ +----------------+ +-----+ +----------------+ >> | Function 0 | | Function 1 | | ... | | Function 7 | >> | (Hotplug controller)| | (Hotplug slot) | | | | (Hotplug slot) | >> +---------------------+ +----------------+ +-----+ +----------------+ >> | >> | >> +-------------------------+ >> | Controller Firmware | >> +-------------------------+ >> >> The hotplug controller driver enables hotplugging of non-controller >> functions within the same device. During probing, the driver removes >> the non-controller functions and registers them as PCI hotplug slots. >> These slots are added back by the driver, only upon request from the >> device firmware. >> >> The controller uses MSI-X interrupts to notify the host of hotplug >> events initiated by the OCTEON firmware. Additionally, the driver >> allows users to enable or disable individual functions via sysfs slot >> entries, as provided by the PCI hotplug framework. > >Can we say something here about what the benefit of this driver is? >For example, does it save power? The driver enables hotplugging of non-controller functions within the device without requiring a fully implemented switch, reducing both power consumption and product cost. >What causes the function 0 firmware to request a hot-add or >hot-removal of another function? The firmware will enable the required number of non-controller functions based on runtime demand, allowing control over these functions. For example, in a vDPA scenario, each function could act as a different type of device (such as net, crypto, or storage) depending on the firmware configuration. Hot removal is useful in cases of live firmware updates. I will update the commit log with above details. Thanks, Shijith