[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<PH0PR18MB4425F2F17BA6CC582638F9D7D9592@PH0PR18MB4425.namprd18.prod.outlook.com>
Date: Tue, 12 Nov 2024 09:25:46 +0000
From: Shijith Thotton <sthotton@...vell.com>
To: Bjorn Helgaas <helgaas@...nel.org>
CC: "bhelgaas@...gle.com" <bhelgaas@...gle.com>,
"ilpo.jarvinen@...ux.intel.com" <ilpo.jarvinen@...ux.intel.com>,
"Jonathan.Cameron@...wei.com" <Jonathan.Cameron@...wei.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"rafael@...nel.org"
<rafael@...nel.org>,
"scott@...amperecomputing.com"
<scott@...amperecomputing.com>,
Jerin Jacob <jerinj@...vell.com>,
Srujana
Challa <schalla@...vell.com>,
Vamsi Krishna Attunuru <vattunuru@...vell.com>
Subject: Re: [PATCH v4] PCI: hotplug: Add OCTEON PCI hotplug controller driver
>> 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
Powered by blists - more mailing lists