Re: [PATCH] PCI: of: Restore alignment/indentation in host bridge window table

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

 



Hi Bjorn,

On Tue, Nov 19, 2019 at 8:48 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote:
> On Tue, Nov 19, 2019 at 08:15:05PM +0100, Geert Uytterhoeven wrote:
> > Since the printing of the inbound resources was added, alignment and
> > indentation of the host bridge window table is broken because of two
> > reasons:
> >   1. The "IB MEM" row header is longer than the other headers,
> >   2. Inbound ranges typically extend beyond 32-bit address space, and thus
> >      don't fit in "#010llx".
> >
> > Fix this by extending the row header field to 6 characters, and the
> > format string to 40-bit addresses.
> >
> > Use "%6s" to handle field size and right-alignment, instead of manual
> > preparation using error-prone snprintf() calls.  Use the exact same
> > format string for both cases, to allow sharing.
> >
> > Impact on kernel boot log on r8a7791/koelsch:
> >
> >      rcar-pcie fe000000.pcie: host bridge /soc/pcie@fe000000 ranges:
> >     -rcar-pcie fe000000.pcie:    IO 0xfe100000..0xfe1fffff -> 0x00000000
> >     -rcar-pcie fe000000.pcie:   MEM 0xfe200000..0xfe3fffff -> 0xfe200000
> >     -rcar-pcie fe000000.pcie:   MEM 0x30000000..0x37ffffff -> 0x30000000
> >     -rcar-pcie fe000000.pcie:   MEM 0x38000000..0x3fffffff -> 0x38000000
> >     -rcar-pcie fe000000.pcie: IB MEM 0x40000000..0xbfffffff -> 0x40000000
> >     -rcar-pcie fe000000.pcie: IB MEM 0x200000000..0x2ffffffff -> 0x200000000
> >     +rcar-pcie fe000000.pcie:       IO 0x00fe100000..0x00fe1fffff -> 0x0000000000
> >     +rcar-pcie fe000000.pcie:      MEM 0x00fe200000..0x00fe3fffff -> 0x00fe200000
> >     +rcar-pcie fe000000.pcie:      MEM 0x0030000000..0x0037ffffff -> 0x0030000000
> >     +rcar-pcie fe000000.pcie:      MEM 0x0038000000..0x003fffffff -> 0x0038000000
> >     +rcar-pcie fe000000.pcie:   IB MEM 0x0040000000..0x00bfffffff -> 0x0040000000
> >     +rcar-pcie fe000000.pcie:   IB MEM 0x0200000000..0x02ffffffff -> 0x0200000000
> >
> > Fixes: 52ac576f88f9f701 ("PCI: of: Add inbound resource parsing to helpers")
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
> This is fine with me, and since it applies on top of 52ac576f88f9f701
> (longer than the usual 12-char SHA1, BTW), which is on Lorenzo's
> pci/mmio-dma-ranges branch, I assume Lorenzo will be the one to take
> care of this.
>
> pci_register_host_bridge() prints some of this info like this:
>
>   pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
>   pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
>   pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
>   pci_bus 0000:00: root bus resource [mem 0xdc800000-0xfebfffff window]
>
> Is there any opportunity for consolidating these or at least making
> the format the same?
>
> I assume we're currently printing most of that info twice, once
> in devm_of_pci_get_host_bridge_resources() and again in
> pci_register_host_bridge()?

(after ignoring PCIe link down, as I don't have a spare PCIe card to plug in)

  rcar-pcie fe000000.pcie: host bridge /soc/pcie@fe000000 ranges:
  rcar-pcie fe000000.pcie:       IO 0x00fe100000..0x00fe1fffff -> 0x0000000000
  rcar-pcie fe000000.pcie:      MEM 0x00fe200000..0x00fe3fffff -> 0x00fe200000
  rcar-pcie fe000000.pcie:      MEM 0x0030000000..0x0037ffffff -> 0x0030000000
  rcar-pcie fe000000.pcie:      MEM 0x0038000000..0x003fffffff -> 0x0038000000
  rcar-pcie fe000000.pcie:   IB MEM 0x0040000000..0x00bfffffff -> 0x0040000000
  rcar-pcie fe000000.pcie:   IB MEM 0x0200000000..0x02ffffffff -> 0x0200000000
  rcar-pcie fe000000.pcie: PCIe link down (ignored)
  rcar-pcie fe000000.pcie: PCIe x4: link up
  rcar-pcie fe000000.pcie: PCI host bridge to bus 0002:00
  pci_bus 0002:00: root bus resource [bus 00-ff]
  pci_bus 0002:00: root bus resource [io  0x0000-0xfffff]
  pci_bus 0002:00: root bus resource [mem 0xfe200000-0xfe3fffff]
  pci_bus 0002:00: root bus resource [mem 0x30000000-0x37ffffff]
  pci_bus 0002:00: root bus resource [mem 0x38000000-0x3fffffff pref]
  pci 0002:00:00.0: [1912:001f] type 01 class 0x060400
  pci 0002:00:00.0: enabling Extended Tags
  pci 0002:00:00.0: PME# supported from D0 D3hot D3cold
  PCI: bus0: Fast back to back transfers disabled

So some, but not all, info is indeed duplicated.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux