diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2018-04-25 13:15:07 +0300 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2018-04-27 16:55:35 -0500 |
commit | 51c0170375e6884b1a5d68953a49e0ccd12e4971 (patch) | |
tree | 422cb3f4f59109793a03041f09b94de2463c0623 | |
parent | 60cc43fc888428bb2f18f08997432d426a243338 (diff) | |
download | linux-51c0170375e6884b1a5d68953a49e0ccd12e4971.tar.bz2 |
x86/PCI: Make pci=earlydump output neat
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@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/pci/early.c | 19 |
1 files 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) |