Re: [PATCH V7 03/10] PCI: Create PCI library functions in support of DOE mailboxes.

From: Bjorn Helgaas
Date: Thu Apr 07 2022 - 12:01:28 EST


On Wed, Apr 06, 2022 at 02:23:09PM -0700, Ira Weiny wrote:
> On Wed, Apr 06, 2022 at 11:11:10AM +0100, Jonathan Cameron wrote:
> > On Tue, 5 Apr 2022 16:22:11 -0700
> > Ira Weiny <ira.weiny@xxxxxxxxx> wrote:
> > > On Sat, Apr 02, 2022 at 04:48:45PM +0200, Lukas Wunner wrote:
> > > > On Thu, Mar 31, 2022 at 08:19:56AM -0700, Ira Weiny wrote:
> > > > > On Wed, Mar 30, 2022 at 10:50:31PM -0700, Christoph Hellwig wrote:
> > > > > > On Wed, Mar 30, 2022 at 04:59:13PM -0700, ira.weiny@xxxxxxxxx wrote:
> > > > > > > Introduced in a PCI v6.0[1], DOE provides a config space based mailbox
> > > > > > > with standard protocol discovery. Each mailbox is accessed through a
> > > > > > > DOE Extended Capability.
> > > > > >
> > > > > > I really don't think this should be built unconditionally and bloat
> > > > > > every single kernel built with PCI support.
> > > > >
> > > > > I can add a Kconfig.
> > > >
> > > > Ideally, that config option should live in the pcie/ subdirectory,
> > > > i.e. in drivers/pci/pcie/Kconfig, alongside drivers/pci/pcie/doe.c,
> > > > as we try to consolidate PCIe-specific features there and reserve
> > > > core code in drivers/pci/*.c for functionality that also applies
> > > > to Conventional PCI.
> > >
> > > Thanks for letting me know about this direction. I was unaware of this.
> >
> > We had this in the pcie directory, but Bjorn asked us to move it to the pci
> > directory as there isn't anything specific to PCIe about DOE. You could
> > implement it on pci-x (maybe 2.0?) I think even though it's in the PCIe specification.
> >
> > https://lore.kernel.org/linux-pci/20210413194927.GA2241331@bjorn-Precision-5520/
>
> :-/
>
> I'd forgotten that far back.
>
> Bjorn?

I would still prefer it in drivers/pci because I don't think
there's enough value to justify the pcie/ subdirectory. We have
ats.c, ecam.c, iov.c, pci-pf-stub.c, and vc.c in drivers/pci even
though they're PCIe-specific. Other files in drivers/pci like
access.c, pci-acpi.c, pci.c, probe.c, etc also have some PCIe
content.

Bjorn