Re: [PATCH 4/6] PCI: of: Add an API to get the BDF for the device node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 26, 2025 at 08:12:53AM GMT, Rob Herring wrote:
> On Tue, Aug 26, 2025 at 2:15 AM Manivannan Sadhasivam <mani@xxxxxxxxxx> wrote:
> >
> > On Mon, Aug 25, 2025 at 05:43:15PM GMT, Rob Herring wrote:
> > > On Fri, Aug 22, 2025 at 07:57:41PM +0530, Manivannan Sadhasivam wrote:
> > > > On Fri, Aug 22, 2025 at 08:51:47AM GMT, Rob Herring wrote:
> > > > > On Tue, Aug 19, 2025 at 12:44:53PM +0530, Manivannan Sadhasivam wrote:
> > > > > > Bus:Device:Function (BDF) numbers are used to uniquely identify a
> > > > > > device/function on a PCI bus. Hence, add an API to get the BDF from the
> > > > > > devicetree node of a device.
> > > > >
> > > > > For FDT, the bus should always be 0. It doesn't make sense for FDT. The
> > > > > bus number in DT reflects how firmware configured the PCI buses, but
> > > > > there's no firmware configuration of PCI for FDT.
> > > >
> > > > This API is targeted for DT platforms only, where it is used to uniquely
> > > > identify a devfn. What should I do to make it DT specific and not FDT?
> > >
> > > I don't understand. There are FDT and OF (actual OpenFirmware)
> > > platforms. I'm pretty sure you don't care about the latter.
> > >
> >
> > Sorry, I mixed the terminologies. Yes, I did refer the platforms making use of
> > the FDT binary and not OF platforms.
> >
> > In the DTS, we do use bus number to differentiate between devices, not just
> > devfn. But I get your point, bus no other than 0 are not fixed and allocated by
> > the OS during runtime or by the firmware.
> >
> > So how should we uniquely identify a PCIe node here, if not by BDF?
> 
> By path. Which is consistent since there is also no bus num in the unit-address.
> 

But there is no straightforward way to know the full path, isn't it? Anyway, for
simplicity, I'll just use the node pointer itself to identify the node.

- Mani

-- 
மணிவண்ணன் சதாசிவம்




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux