PCI: print resources consistently with %pRt
This uses %pRt to print additional resource information (type, size, prefetchability, etc.) consistently. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
parent
fd95541e23
commit
a369c791e8
|
@ -1678,9 +1678,7 @@ static int __pci_request_region(struct pci_dev *pdev, int bar, const char *res_n
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_out:
|
err_out:
|
||||||
dev_warn(&pdev->dev, "BAR %d: can't reserve %s region %pR\n",
|
dev_warn(&pdev->dev, "BAR %d: can't reserve %pRt\n", bar,
|
||||||
bar,
|
|
||||||
pci_resource_flags(pdev, bar) & IORESOURCE_IO ? "I/O" : "mem",
|
|
||||||
&pdev->resource[bar]);
|
&pdev->resource[bar]);
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,6 +222,8 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
|
||||||
if (!sz64)
|
if (!sz64)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
res->flags |= IORESOURCE_MEM_64;
|
||||||
|
|
||||||
if ((sizeof(resource_size_t) < 8) && (sz64 > 0x100000000ULL)) {
|
if ((sizeof(resource_size_t) < 8) && (sz64 > 0x100000000ULL)) {
|
||||||
dev_err(&dev->dev, "can't handle 64-bit BAR\n");
|
dev_err(&dev->dev, "can't handle 64-bit BAR\n");
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -234,14 +236,9 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
|
||||||
} else {
|
} else {
|
||||||
res->start = l64;
|
res->start = l64;
|
||||||
res->end = l64 + sz64;
|
res->end = l64 + sz64;
|
||||||
dev_printk(KERN_DEBUG, &dev->dev,
|
dev_printk(KERN_DEBUG, &dev->dev, "reg %x: %pRt\n",
|
||||||
"reg %x %s: %pR\n", pos,
|
pos, res);
|
||||||
(res->flags & IORESOURCE_PREFETCH) ?
|
|
||||||
"64bit mmio pref" : "64bit mmio",
|
|
||||||
res);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
res->flags |= IORESOURCE_MEM_64;
|
|
||||||
} else {
|
} else {
|
||||||
sz = pci_size(l, sz, mask);
|
sz = pci_size(l, sz, mask);
|
||||||
|
|
||||||
|
@ -251,11 +248,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
|
||||||
res->start = l;
|
res->start = l;
|
||||||
res->end = l + sz;
|
res->end = l + sz;
|
||||||
|
|
||||||
dev_printk(KERN_DEBUG, &dev->dev, "reg %x %s: %pR\n", pos,
|
dev_printk(KERN_DEBUG, &dev->dev, "reg %x: %pRt\n", pos, res);
|
||||||
(res->flags & IORESOURCE_IO) ? "io port" :
|
|
||||||
((res->flags & IORESOURCE_PREFETCH) ?
|
|
||||||
"32bit mmio pref" : "32bit mmio"),
|
|
||||||
res);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
@ -323,7 +316,7 @@ void __devinit pci_read_bridge_bases(struct pci_bus *child)
|
||||||
res->start = base;
|
res->start = base;
|
||||||
if (!res->end)
|
if (!res->end)
|
||||||
res->end = limit + 0xfff;
|
res->end = limit + 0xfff;
|
||||||
dev_printk(KERN_DEBUG, &dev->dev, "bridge io port: %pR\n", res);
|
dev_printk(KERN_DEBUG, &dev->dev, "bridge window: %pRt\n", res);
|
||||||
}
|
}
|
||||||
|
|
||||||
res = child->resource[1];
|
res = child->resource[1];
|
||||||
|
@ -335,8 +328,7 @@ void __devinit pci_read_bridge_bases(struct pci_bus *child)
|
||||||
res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) | IORESOURCE_MEM;
|
res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) | IORESOURCE_MEM;
|
||||||
res->start = base;
|
res->start = base;
|
||||||
res->end = limit + 0xfffff;
|
res->end = limit + 0xfffff;
|
||||||
dev_printk(KERN_DEBUG, &dev->dev, "bridge 32bit mmio: %pR\n",
|
dev_printk(KERN_DEBUG, &dev->dev, "bridge window: %pRt\n", res);
|
||||||
res);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
res = child->resource[2];
|
res = child->resource[2];
|
||||||
|
@ -375,9 +367,7 @@ void __devinit pci_read_bridge_bases(struct pci_bus *child)
|
||||||
res->flags |= IORESOURCE_MEM_64;
|
res->flags |= IORESOURCE_MEM_64;
|
||||||
res->start = base;
|
res->start = base;
|
||||||
res->end = limit + 0xfffff;
|
res->end = limit + 0xfffff;
|
||||||
dev_printk(KERN_DEBUG, &dev->dev, "bridge %sbit mmio pref: %pR\n",
|
dev_printk(KERN_DEBUG, &dev->dev, "bridge window: %pRt\n", res);
|
||||||
(res->flags & PCI_PREF_RANGE_TYPE_64) ? "64" : "32",
|
|
||||||
res);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -390,8 +390,8 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
|
||||||
align = pci_resource_alignment(dev, r);
|
align = pci_resource_alignment(dev, r);
|
||||||
order = __ffs(align) - 20;
|
order = __ffs(align) - 20;
|
||||||
if (order > 11) {
|
if (order > 11) {
|
||||||
dev_warn(&dev->dev, "BAR %d bad alignment %llx: "
|
dev_warn(&dev->dev, "BAR %d: bad alignment %llx: "
|
||||||
"%pR\n", i, (unsigned long long)align, r);
|
"%pRt\n", i, (unsigned long long)align, r);
|
||||||
r->flags = 0;
|
r->flags = 0;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -582,10 +582,7 @@ static void pci_bus_dump_res(struct pci_bus *bus)
|
||||||
if (!res || !res->end)
|
if (!res || !res->end)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
dev_printk(KERN_DEBUG, &bus->dev, "resource %d %s %pR\n", i,
|
dev_printk(KERN_DEBUG, &bus->dev, "resource %d %pRt\n", i, res);
|
||||||
(res->flags & IORESOURCE_IO) ? "io: " :
|
|
||||||
((res->flags & IORESOURCE_PREFETCH)? "pref mem":"mem:"),
|
|
||||||
res);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,11 +51,9 @@ void pci_update_resource(struct pci_dev *dev, int resno)
|
||||||
|
|
||||||
pcibios_resource_to_bus(dev, ®ion, res);
|
pcibios_resource_to_bus(dev, ®ion, res);
|
||||||
|
|
||||||
dev_dbg(&dev->dev, "BAR %d: got res %pR bus [%#llx-%#llx] "
|
dev_dbg(&dev->dev, "BAR %d: got %pRf (bus addr [%#llx-%#llx])\n",
|
||||||
"flags %#lx\n", resno, res,
|
resno, res, (unsigned long long)region.start,
|
||||||
(unsigned long long)region.start,
|
(unsigned long long)region.end);
|
||||||
(unsigned long long)region.end,
|
|
||||||
(unsigned long)res->flags);
|
|
||||||
|
|
||||||
new = region.start | (res->flags & PCI_REGION_FLAG_MASK);
|
new = region.start | (res->flags & PCI_REGION_FLAG_MASK);
|
||||||
if (res->flags & IORESOURCE_IO)
|
if (res->flags & IORESOURCE_IO)
|
||||||
|
@ -91,9 +89,9 @@ void pci_update_resource(struct pci_dev *dev, int resno)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res->flags &= ~IORESOURCE_UNSET;
|
res->flags &= ~IORESOURCE_UNSET;
|
||||||
dev_dbg(&dev->dev, "BAR %d: moved to bus [%#llx-%#llx] flags %#lx\n",
|
dev_dbg(&dev->dev, "BAR %d: moved to bus addr [%#llx-%#llx]\n",
|
||||||
resno, (unsigned long long)region.start,
|
resno, (unsigned long long)region.start,
|
||||||
(unsigned long long)region.end, res->flags);
|
(unsigned long long)region.end);
|
||||||
}
|
}
|
||||||
|
|
||||||
int pci_claim_resource(struct pci_dev *dev, int resource)
|
int pci_claim_resource(struct pci_dev *dev, int resource)
|
||||||
|
@ -110,7 +108,7 @@ int pci_claim_resource(struct pci_dev *dev, int resource)
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
const char *dtype = resource < PCI_BRIDGE_RESOURCES ? "device" : "bridge";
|
const char *dtype = resource < PCI_BRIDGE_RESOURCES ? "device" : "bridge";
|
||||||
dev_err(&dev->dev, "BAR %d: %s of %s %pR\n",
|
dev_err(&dev->dev, "BAR %d: %s %s %pRt\n",
|
||||||
resource,
|
resource,
|
||||||
root ? "address space collision on" :
|
root ? "address space collision on" :
|
||||||
"no parent found for",
|
"no parent found for",
|
||||||
|
@ -181,9 +179,8 @@ int pci_assign_resource(struct pci_dev *dev, int resno)
|
||||||
|
|
||||||
align = pci_resource_alignment(dev, res);
|
align = pci_resource_alignment(dev, res);
|
||||||
if (!align) {
|
if (!align) {
|
||||||
dev_info(&dev->dev, "BAR %d: can't allocate resource (bogus "
|
dev_info(&dev->dev, "BAR %d: can't allocate %pRf "
|
||||||
"alignment) %pR flags %#lx\n",
|
"(bogus alignment)\n", resno, res);
|
||||||
resno, res, res->flags);
|
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -199,8 +196,8 @@ int pci_assign_resource(struct pci_dev *dev, int resno)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
dev_info(&dev->dev, "BAR %d: can't allocate %s resource %pR\n",
|
dev_info(&dev->dev, "BAR %d: can't allocate %pRt\n",
|
||||||
resno, res->flags & IORESOURCE_IO ? "I/O" : "mem", res);
|
resno, res);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -225,9 +222,8 @@ void pdev_sort_resources(struct pci_dev *dev, struct resource_list *head)
|
||||||
|
|
||||||
r_align = pci_resource_alignment(dev, r);
|
r_align = pci_resource_alignment(dev, r);
|
||||||
if (!r_align) {
|
if (!r_align) {
|
||||||
dev_warn(&dev->dev, "BAR %d: bogus alignment "
|
dev_warn(&dev->dev, "BAR %d: bogus alignment %pRf\n",
|
||||||
"%pR flags %#lx\n",
|
i, r);
|
||||||
i, r, r->flags);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
for (list = head; ; list = list->next) {
|
for (list = head; ; list = list->next) {
|
||||||
|
|
Loading…
Reference in New Issue