Re: [PATCH 0/5] PCI: endpoint: Add support for additional notifiers

From: Manivannan Sadhasivam
Date: Thu Jun 17 2021 - 13:06:01 EST


Hi,

On Thu, Jun 17, 2021 at 12:42:07AM +0530, Om Prakash Singh wrote:
> Hi Mani,
> Adding more notifier types will surely help but I believe the list is not
> exhaustive. What you are trying here is to pass various vendor-specific epc
> interrupts to EPF driver. That can be taken care by a single notifier
> interface as well, "pci_epc_custom_notify" from your implementation.

That's what I initially thought eventhough not all the notifiers are
vendor specific. But Kishon suggested to add notifiers for generic ones
such as BME, PME etc... and that sounded reasonable to me.

> This
> also requires to have pre-defined values of "data" argument to standardize
> the interface.
>

No, I don't think we can standardize the arguments to "custom" notifier.
The custom notifier is supposed to deal with vendor specific events and
I don't see any benefit on standardizing it. I see it more like an
opaque driver_data field where we pass driver specific arguments.

Thanks,
Mani

> your thoughts?
>
> Thanks,
> Om
>
> On 6/16/2021 5:29 PM, Manivannan Sadhasivam wrote:
> > External email: Use caution opening links or attachments
> >
> >
> > Hello,
> >
> > This series adds support for additional notifiers in the PCI endpoint
> > framework. The notifiers LINK_DOWN, BME, PME, and D_STATE are generic
> > for all PCI endpoints but there is also a custom notifier (CUSTOM) added
> > to pass the device/vendor specific events to EPF from EPC.
> >
> > The example usage of all notifiers is provided in the commit description.
> >
> > Thanks,
> > Mani
> >
> > Manivannan Sadhasivam (5):
> > PCI: endpoint: Add linkdown notifier support
> > PCI: endpoint: Add BME notifier support
> > PCI: endpoint: Add PME notifier support
> > PCI: endpoint: Add D_STATE notifier support
> > PCI: endpoint: Add custom notifier support
> >
> > drivers/pci/endpoint/pci-epc-core.c | 89 +++++++++++++++++++++++++++++
> > include/linux/pci-epc.h | 5 ++
> > include/linux/pci-epf.h | 5 ++
> > 3 files changed, 99 insertions(+)
> >
> > --
> > 2.25.1
> >