PCI: improve discovery/configuration messages
This makes PCI resource management messages more consistent and adds a few new messages to aid debugging. Whenever we assign resources to a device, update a BAR, or change a bridge aperture, it's worth noting it. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:

committed by
Jesse Barnes

parent
0207c356ef
commit
865df576e8
@@ -74,8 +74,8 @@ void pci_setup_cardbus(struct pci_bus *bus)
|
||||
struct resource *res;
|
||||
struct pci_bus_region region;
|
||||
|
||||
dev_info(&bridge->dev, "CardBus bridge, secondary bus %04x:%02x\n",
|
||||
pci_domain_nr(bus), bus->number);
|
||||
dev_info(&bridge->dev, "CardBus bridge to [bus %02x-%02x]\n",
|
||||
bus->secondary, bus->subordinate);
|
||||
|
||||
res = bus->resource[0];
|
||||
pcibios_resource_to_bus(bridge, ®ion, res);
|
||||
@@ -145,8 +145,8 @@ static void pci_setup_bridge(struct pci_bus *bus)
|
||||
if (pci_is_enabled(bridge))
|
||||
return;
|
||||
|
||||
dev_info(&bridge->dev, "PCI bridge, secondary bus %04x:%02x\n",
|
||||
pci_domain_nr(bus), bus->number);
|
||||
dev_info(&bridge->dev, "PCI bridge to [bus %02x-%02x]\n",
|
||||
bus->secondary, bus->subordinate);
|
||||
|
||||
/* Set up the top and bottom of the PCI I/O segment for this bus. */
|
||||
res = bus->resource[0];
|
||||
@@ -338,6 +338,10 @@ static void pbus_size_io(struct pci_bus *bus, resource_size_t min_size)
|
||||
#endif
|
||||
size = ALIGN(size + size1, 4096);
|
||||
if (!size) {
|
||||
if (b_res->start || b_res->end)
|
||||
dev_info(&bus->self->dev, "disabling bridge window "
|
||||
"%pR to [bus %02x-%02x] (unused)\n", b_res,
|
||||
bus->secondary, bus->subordinate);
|
||||
b_res->flags = 0;
|
||||
return;
|
||||
}
|
||||
@@ -383,8 +387,9 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
|
||||
align = pci_resource_alignment(dev, r);
|
||||
order = __ffs(align) - 20;
|
||||
if (order > 11) {
|
||||
dev_warn(&dev->dev, "BAR %d: bad alignment %llx: "
|
||||
"%pR\n", i, (unsigned long long)align, r);
|
||||
dev_warn(&dev->dev, "disabling BAR %d: %pR "
|
||||
"(bad alignment %#llx)\n", i, r,
|
||||
(unsigned long long) align);
|
||||
r->flags = 0;
|
||||
continue;
|
||||
}
|
||||
@@ -418,6 +423,10 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
|
||||
}
|
||||
size = ALIGN(size, min_align);
|
||||
if (!size) {
|
||||
if (b_res->start || b_res->end)
|
||||
dev_info(&bus->self->dev, "disabling bridge window "
|
||||
"%pR to [bus %02x-%02x] (unused)\n", b_res,
|
||||
bus->secondary, bus->subordinate);
|
||||
b_res->flags = 0;
|
||||
return 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user