[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160209162628.GA20171@localhost>
Date: Tue, 9 Feb 2016 10:26:28 -0600
From: Bjorn Helgaas <helgaas@...nel.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: linux-arm-kernel@...ts.infradead.org,
David Daney <ddaney@...iumnetworks.com>,
Mark Rutland <mark.rutland@....com>,
Pawel Moll <pawel.moll@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
David Daney <david.daney@...ium.com>,
Will Deacon <will.deacon@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
David Daney <ddaney.cavm@...il.com>,
Kumar Gala <galak@...eaurora.org>,
Bjorn Helgaas <bhelgaas@...gle.com>
Subject: Re: [PATCH v5 3/3] pci, pci-thunder-ecam: Add driver for
ThunderX-pass1 on-chip devices
On Tue, Feb 09, 2016 at 10:25:33AM +0100, Arnd Bergmann wrote:
> On Monday 08 February 2016 17:24:30 Bjorn Helgaas wrote:
> > > >
> > > >I assume your system conforms to expectations like these; I'm just
> > > >pointing them out because you mentioned buses with multiple devices on
> > > >them, which is definitely something one doesn't expect in PCIe.
> > >
> > > The topology we have is currently working with the kernel's core PCI
> > > code. I don't really want to get into discussing what the
> > > definition of PCIe is. We have multiple devices (more than 32) on a
> > > single bus, and they have PCI Express and ARI Capabilities. Is that
> > > PCIe? I don't know.
> >
> > I don't need to know the details of your topology. As long as it
> > conforms to the PCIe spec, it should be fine. If it *doesn't* conform
> > to the spec, but things currently seem to work, that's less fine,
> > because a future Linux change is liable to break something for you.
> >
> > I was a little concerned about your statement that "there are multiple
> > devices residing on each bus, so from that point of view it cannot be
> > PCIe." That made it sound like you're doing something outside the
> > spec. If you're just using regular multi-function devices or ARI,
> > then I don't see any issue (or any reason to say it can't be PCIe).
>
> It doesn't conform to the PCIe port spec, because there are no external
> ports but just integrated devices in the host bridge.
Is there a spec section you have in mind? Based on sec 1.3.1, I don't
think there's a requirement to have PCI Express Ports (is that what
you mean by "external ports"?)
Root Complex Integrated Endpoints (sec 1.3.2.3) are clearly supported
and they would not be behind a Root Port. If you're using those, I
hope they're correctly identified via the PCIe capability Device/Port
Type (sec 7.8.2) because we rely on that type to figure out whether
the link-related registers are implemented.
The spec does include rules related to peer-to-peer transactions, MPS,
ASPM, error reporting, etc., and Linux relies on those, so I think it
would be important to get those right.
> For this special
> case, I don't think it matters at all from the point of view of the DT
> binding whether we call the node name "pci" or "pcie".
And the PCI core doesn't even know the node name, it doesn't matter
there either.
Bjorn
Powered by blists - more mailing lists