aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pci/setup-res.c29
1 files changed, 9 insertions, 20 deletions
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index 74eb6febdf87..b7c3a5ea1fca 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -248,10 +248,8 @@ static int __pci_assign_resource(struct pci_bus *bus, struct pci_dev *dev,
248static int _pci_assign_resource(struct pci_dev *dev, int resno, 248static int _pci_assign_resource(struct pci_dev *dev, int resno,
249 resource_size_t size, resource_size_t min_align) 249 resource_size_t size, resource_size_t min_align)
250{ 250{
251 struct resource *res = dev->resource + resno;
252 struct pci_bus *bus; 251 struct pci_bus *bus;
253 int ret; 252 int ret;
254 char *type;
255 253
256 bus = dev->bus; 254 bus = dev->bus;
257 while ((ret = __pci_assign_resource(bus, dev, resno, size, min_align))) { 255 while ((ret = __pci_assign_resource(bus, dev, resno, size, min_align))) {
@@ -260,21 +258,6 @@ static int _pci_assign_resource(struct pci_dev *dev, int resno,
260 bus = bus->parent; 258 bus = bus->parent;
261 } 259 }
262 260
263 if (ret) {
264 if (res->flags & IORESOURCE_MEM)
265 if (res->flags & IORESOURCE_PREFETCH)
266 type = "mem pref";
267 else
268 type = "mem";
269 else if (res->flags & IORESOURCE_IO)
270 type = "io";
271 else
272 type = "unknown";
273 dev_info(&dev->dev,
274 "BAR %d: can't assign %s (size %#llx)\n",
275 resno, type, (unsigned long long) resource_size(res));
276 }
277
278 return ret; 261 return ret;
279} 262}
280 263
@@ -300,11 +283,16 @@ int pci_assign_resource(struct pci_dev *dev, int resno)
300 * where firmware left it. That at least has a chance of 283 * where firmware left it. That at least has a chance of
301 * working, which is better than just leaving it disabled. 284 * working, which is better than just leaving it disabled.
302 */ 285 */
303 if (ret < 0) 286 if (ret < 0) {
287 dev_info(&dev->dev, "BAR %d: no space for %pR\n", resno, res);
304 ret = pci_revert_fw_address(res, dev, resno, size); 288 ret = pci_revert_fw_address(res, dev, resno, size);
289 }
305 290
306 if (ret < 0) 291 if (ret < 0) {
292 dev_info(&dev->dev, "BAR %d: failed to assign %pR\n", resno,
293 res);
307 return ret; 294 return ret;
295 }
308 296
309 res->flags &= ~IORESOURCE_UNSET; 297 res->flags &= ~IORESOURCE_UNSET;
310 res->flags &= ~IORESOURCE_STARTALIGN; 298 res->flags &= ~IORESOURCE_STARTALIGN;
@@ -344,7 +332,8 @@ int pci_reassign_resource(struct pci_dev *dev, int resno, resource_size_t addsiz
344 332
345 res->flags &= ~IORESOURCE_UNSET; 333 res->flags &= ~IORESOURCE_UNSET;
346 res->flags &= ~IORESOURCE_STARTALIGN; 334 res->flags &= ~IORESOURCE_STARTALIGN;
347 dev_info(&dev->dev, "BAR %d: reassigned %pR\n", resno, res); 335 dev_info(&dev->dev, "BAR %d: reassigned %pR (expanded by %#llx)\n",
336 resno, res, (unsigned long long) addsize);
348 if (resno < PCI_BRIDGE_RESOURCES) 337 if (resno < PCI_BRIDGE_RESOURCES)
349 pci_update_resource(dev, resno); 338 pci_update_resource(dev, resno);
350 339