[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180427215720.GJ8199@bhelgaas-glaptop.roam.corp.google.com>
Date: Fri, 27 Apr 2018 16:57:20 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>, linux-pci@...r.kernel.org,
Thomas Gleixner <tglx@...utronix.de>,
"H . Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...hat.com>,
x86@...nel.org, Mika Westerberg <mika.westerberg@...ux.intel.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] x86/PCI: Make pci=earlydump output neat
On Wed, Apr 25, 2018 at 01:15:07PM +0300, Andy Shevchenko wrote:
> Currently the early dump of PCI configuration space looks quite unhelpful, e.g.
>
> [ 0.000000] 60:
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000] 00
> [ 0.000000]
>
> which makes really hard to get anything out of this. Convert the function to
> use print_hex_dump() to make output neat.
>
> In the result we will have
>
> [ 0.000000] 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>
> which is much, much better.
>
> Reviewed-by: Mika Westerberg <mika.westerberg@...ux.intel.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Applied with Ingo's ack to pci/enumeration for v4.18, thanks!
> ---
> - add Mika's tag
> - address style issue
> arch/x86/pci/early.c | 19 +++++--------------
> 1 file changed, 5 insertions(+), 14 deletions(-)
>
> diff --git a/arch/x86/pci/early.c b/arch/x86/pci/early.c
> index f0114007e915..e5f753cbb1c3 100644
> --- a/arch/x86/pci/early.c
> +++ b/arch/x86/pci/early.c
> @@ -59,24 +59,15 @@ int early_pci_allowed(void)
>
> void early_dump_pci_device(u8 bus, u8 slot, u8 func)
> {
> + u32 value[256 / 4];
> int i;
> - int j;
> - u32 val;
>
> - printk(KERN_INFO "pci 0000:%02x:%02x.%d config space:",
> - bus, slot, func);
> + pr_info("pci 0000:%02x:%02x.%d config space:\n", bus, slot, func);
>
> - for (i = 0; i < 256; i += 4) {
> - if (!(i & 0x0f))
> - printk("\n %02x:",i);
> + for (i = 0; i < 256; i += 4)
> + value[i / 4] = read_pci_config(bus, slot, func, i);
>
> - val = read_pci_config(bus, slot, func, i);
> - for (j = 0; j < 4; j++) {
> - printk(" %02x", val & 0xff);
> - val >>= 8;
> - }
> - }
> - printk("\n");
> + print_hex_dump(KERN_INFO, "", DUMP_PREFIX_OFFSET, 16, 1, value, 256, false);
> }
>
> void early_dump_pci_devices(void)
> --
> 2.17.0
>
Powered by blists - more mailing lists