[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdULQ6-tSy79XRo8d3ujrxXfCcHDzduX2fnVZku80ofLFg@mail.gmail.com>
Date: Wed, 20 Nov 2019 09:49:12 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: Rob Herring <robh@...nel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Andrew Murray <andrew.murray@....com>,
Srinath Mannam <srinath.mannam@...adcom.com>,
Gustavo Pimentel <gustavo.pimentel@...opsys.com>,
Marek Vasut <marek.vasut+renesas@...il.com>,
linux-pci <linux-pci@...r.kernel.org>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] PCI: of: Restore alignment/indentation in host bridge
window table
Hi Bjorn,
On Tue, Nov 19, 2019 at 8:48 PM Bjorn Helgaas <helgaas@...nel.org> 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@...00000 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@...der.be>
>
> 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@...00000 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@...ux-m68k.org
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
Powered by blists - more mailing lists