Lines Matching refs:res
32 struct resource *res = dev->resource + resno;
42 if (!res->flags)
45 if (res->flags & IORESOURCE_UNSET)
53 if (res->flags & IORESOURCE_PCI_FIXED)
56 pcibios_resource_to_bus(dev->bus, ®ion, res);
59 if (res->flags & IORESOURCE_IO) {
61 new |= res->flags & ~PCI_BASE_ADDRESS_IO_MASK;
66 new |= res->flags & ~PCI_BASE_ADDRESS_MEM_MASK;
79 if (!(res->flags & IORESOURCE_ROM_ENABLE))
92 disable = (res->flags & IORESOURCE_MEM_64) && !dev->mmio_always_on;
107 if (res->flags & IORESOURCE_MEM_64) {
133 struct resource *res = &dev->resource[resource];
136 if (res->flags & IORESOURCE_UNSET) {
138 resource, res);
147 if (res->flags & IORESOURCE_ROM_SHADOW)
150 root = pci_find_parent_resource(dev, res);
153 resource, res);
154 res->flags |= IORESOURCE_UNSET;
158 conflict = request_resource_conflict(root, res);
161 resource, res, conflict->name, conflict);
162 res->flags |= IORESOURCE_UNSET;
195 static int pci_revert_fw_address(struct resource *res, struct pci_dev *dev,
205 start = res->start;
206 end = res->end;
207 res->start = fw_addr;
208 res->end = res->start + size - 1;
209 res->flags &= ~IORESOURCE_UNSET;
211 root = pci_find_parent_resource(dev, res);
215 * if res is inside the relevant bridge window.
224 if (res->flags & IORESOURCE_IO)
231 resno, res);
232 conflict = request_resource_conflict(root, res);
235 resno, res, conflict->name, conflict);
236 res->start = start;
237 res->end = end;
238 res->flags |= IORESOURCE_UNSET;
250 const struct resource *res,
254 return res->start;
260 struct resource *res = dev->resource + resno;
264 min = (res->flags & IORESOURCE_IO) ? PCIBIOS_MIN_IO : PCIBIOS_MIN_MEM;
273 ret = pci_bus_alloc_resource(bus, res, size, align, min,
283 if ((res->flags & (IORESOURCE_PREFETCH | IORESOURCE_MEM_64)) ==
285 ret = pci_bus_alloc_resource(bus, res, size, align, min,
298 if (res->flags & (IORESOURCE_PREFETCH | IORESOURCE_MEM_64))
299 ret = pci_bus_alloc_resource(bus, res, size, align, min, 0,
323 struct resource *res = dev->resource + resno;
327 if (res->flags & IORESOURCE_PCI_FIXED)
330 res->flags |= IORESOURCE_UNSET;
331 align = pci_resource_alignment(dev, res);
334 resno, res);
338 size = resource_size(res);
347 pci_info(dev, "BAR %d: no space for %pR\n", resno, res);
348 ret = pci_revert_fw_address(res, dev, resno, size);
352 pci_info(dev, "BAR %d: failed to assign %pR\n", resno, res);
356 res->flags &= ~IORESOURCE_UNSET;
357 res->flags &= ~IORESOURCE_STARTALIGN;
358 pci_info(dev, "BAR %d: assigned %pR\n", resno, res);
369 struct resource *res = dev->resource + resno;
374 if (res->flags & IORESOURCE_PCI_FIXED)
377 flags = res->flags;
378 res->flags |= IORESOURCE_UNSET;
379 if (!res->parent) {
381 resno, res);
386 new_size = resource_size(res) + addsize;
389 res->flags = flags;
391 resno, res, (unsigned long long) addsize);
395 res->flags &= ~IORESOURCE_UNSET;
396 res->flags &= ~IORESOURCE_STARTALIGN;
398 resno, res, (unsigned long long) addsize);
407 struct resource *res = dev->resource + resno;
409 pci_info(dev, "BAR %d: releasing %pR\n", resno, res);
411 if (!res->parent)
414 release_resource(res);
415 res->end = resource_size(res) - 1;
416 res->start = 0;
417 res->flags |= IORESOURCE_UNSET;
423 struct resource *res = dev->resource + resno;
435 if (!(res->flags & IORESOURCE_UNSET))
457 res->end = res->start + pci_rebar_size_to_bytes(size) - 1;
461 ret = pci_reassign_bridge_resources(dev->bus->self, res->flags);
469 res->end = res->start + pci_rebar_size_to_bytes(old) - 1;