[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20241106164755.GA1528530@bhelgaas>
Date: Wed, 6 Nov 2024 10:47:55 -0600
From: Bjorn Helgaas <helgaas@...nel.org>
To: Herve Codina <herve.codina@...tlin.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Rob Herring <robh@...nel.org>,
Saravana Kannan <saravanak@...gle.com>,
Bjorn Helgaas <bhelgaas@...gle.com>, Lizhi Hou <lizhi.hou@....com>,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-pci@...r.kernel.org,
Allan Nielsen <allan.nielsen@...rochip.com>,
Horatiu Vultur <horatiu.vultur@...rochip.com>,
Steen Hegelund <steen.hegelund@...rochip.com>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>
Subject: Re: [PATCH 6/6] PCI: of: Create device-tree root bus node
On Wed, Nov 06, 2024 at 03:53:53PM +0100, Herve Codina wrote:
> On Tue, 5 Nov 2024 12:59:01 -0600
> Bjorn Helgaas <helgaas@...nel.org> wrote:
> > On Mon, Nov 04, 2024 at 06:20:00PM +0100, Herve Codina wrote:
> > > PCI devices device-tree nodes can be already created. This was
> > > introduced by commit 407d1a51921e ("PCI: Create device tree node for
> > > bridge").
> ...
> > > Indeed, this component is not described
> > > in a device-tree used at boot.
> >
> > But maybe I'm on the wrong track, because obviously PCI host
> > controllers *are* described in DTs used at boot.
>
> They are described in a device-tree used at boot on device-tree based
> systems.
> On x86, we are on ACPI based system -> No DT used at boot -> PCI host
> controller not described in DT.
Right, I was thinking of the devicetree-based systems, where the host
controller must be described in DT.
> > > + name = kasprintf(GFP_KERNEL, "pci-root@%x,%x", pci_domain_nr(bus),
> > > + bus->number);
> >
> > Should this be "pci%d@%x,%x" to match the typical descriptions of PCI
> > host bridges in DT?
>
> What do you think I should use for the %d you proposed.
Based on the .dts files, I think the %d is just an index to
distinguish multiple PCI host bridges. Maybe that's not relevant
here, I dunno.
> Also I supposed your "@%x,%x" is still pci_domain_nr(bus), bus->number.
Yes. I think we're basically constructing a DT node to correspond to
an ACPI PNP0A03 device. ACPI does support updating the root bus
number via _CRS/_PRS/_SRS, but Linux doesn't have support for that, so
the root bus number is basically constant. The pci_domain_nr(bus)
should be coming from _SEG, and that's definitely constant.
Bjorn
Powered by blists - more mailing lists