On Mon, Nov 11, 2024 at 07:15:11PM +0530, Shijith Thotton wrote: > 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? What causes the function 0 firmware to request a hot-add or hot-removal of another function? Bjorn