[Toybox] [PATCH] lspci fixes for multi-controller hosts

Dmitry Buzdyk dima.buzdyk at gmail.com
Mon Jun 17 05:11:26 PDT 2024


Please see reworked patch attached.

I've looked into lspci to check how '-D' flag behaves. Updated patch make lspci
print domain (controller ID) for each device which is not on "0000:", or print
domain for all devices if '-D' flag is specified.

--
Dima


On Sun, 2024-06-16 at 19:34 +0500, Dmitry Buzdyk wrote:
> Thanks!
> 
> 
> Regarding the second patch, adding conditional controller output was may first
> thought as lspci v3.10.0 produces output like this with multiple controllers:
> 
> (several entries omitted)
> 0000:00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-LP
> Smart Sound Technology Audio Controller (rev 20)
> 0000:00:1f.4 SMBus: Intel Corporation Tiger Lake-LP SMBus Controller (rev 20)
> 0000:00:1f.5 Serial bus controller: Intel Corporation Tiger Lake-LP SPI
> Controller (rev 20)
> 0000:57:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A
> PCI Express Card Reader (rev 01)
> 10000:e0:1d.0 PCI bridge: Intel Corporation Tiger Lake-LP PCI Express Root
> Port #9 (rev 20)
> 10000:e1:00.0 Non-Volatile memory controller: Toshiba Corporation XG6 NVMe SSD
> Controller
> 
> and shorter one with single controller:
> 
> 00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM
> Controller
> 00:01.0 VGA compatible controller: Cirrus Logic GD 5446
> 
> 
> However, I've decided to do simple approach first as adding conditional output
> to the lspci
> toy would require either second iteration over /sys/bus/pci/devices/ or adding
> internal
> state which may increase memory consumption.
> 
> I'll take a second look onto this.
> 
> --
> Dima
> 
> 
> On Sun, 2024-06-16 at 08:45 -0500, Rob Landley wrote:
> > On 6/14/24 08:51, Dmitry Buzdyk wrote:
> > > Couple of patches for the systems with multiple PCIe controllers.
> > > In my case it has 2 controllers and output of the lspci (with patches
> > > applied)
> > > looks like this:
> > > 
> > > 0000:00:00.0  [060400]:   [17cb:0113]
> > > 0000:01:00.0  [0c0330]:   [1912:0014] (rev 03) xhci_hcd
> > > 0001:00:00.0  [060400]:   [17cb:0113]
> > > 0001:01:00.0  [060400]:   [1179:0623]
> > > 0001:02:01.0  [060400]:   [1179:0623]
> > > 0001:02:02.0  [060400]:   [1179:0623]
> > > 0001:02:03.0  [060400]:   [1179:0623]
> > > 0001:03:00.0  [040000]:   [17cd:0202]
> > > 0001:04:00.0  [0c0330]:   [1912:0014] (rev 03) xhci_hcd
> > > 0001:05:00.0  [020000]:   [1179:0220] tc956x_pci-eth
> > > 0001:05:00.1  [020000]:   [1179:0220] tc956x_pci-eth
> > > 
> > > 
> > > 1. Fix "lspci -x" taking into account full PCI_PATH_NAME
> > > 2. Print full PCI_PATH_NAME to the output.
> > 
> > I applied the first one, but #2 changes the output to not match what
> > debian's
> > lspci is doing. Is there a rule about when to print the extra info here? (If
> > there's more than one controller?)
> > 
> > Rob
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-lspci-print-domains.patch
Type: text/x-patch
Size: 2001 bytes
Desc: not available
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20240617/569a8804/attachment.bin>


More information about the Toybox mailing list