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;
81 if (!(res->flags & IORESOURCE_ROM_ENABLE) &&
86 if (res->flags & IORESOURCE_ROM_ENABLE)
96 disable = (res->flags & IORESOURCE_MEM_64) && !dev->mmio_always_on;
111 if (res->flags & IORESOURCE_MEM_64) {
137 struct resource *res = &dev->resource[resource];
140 if (res->flags & IORESOURCE_UNSET) {
142 resource, res);
151 if (res->flags & IORESOURCE_ROM_SHADOW)
154 root = pci_find_parent_resource(dev, res);
157 resource, res);
158 res->flags |= IORESOURCE_UNSET;
162 conflict = request_resource_conflict(root, res);
165 resource, res, conflict->name, conflict);
166 res->flags |= IORESOURCE_UNSET;
199 static int pci_revert_fw_address(struct resource *res, struct pci_dev *dev,
209 start = res->start;
210 end = res->end;
211 res->start = fw_addr;
212 res->end = res->start + size - 1;
213 res->flags &= ~IORESOURCE_UNSET;
215 root = pci_find_parent_resource(dev, res);
219 * if res is inside the relevant bridge window.
228 if (res->flags & IORESOURCE_IO)
235 resno, res);
236 conflict = request_resource_conflict(root, res);
239 resno, res, conflict->name, conflict);
240 res->start = start;
241 res->end = end;
242 res->flags |= IORESOURCE_UNSET;
254 const struct resource *res,
258 return res->start;
264 struct resource *res = dev->resource + resno;
268 min = (res->flags & IORESOURCE_IO) ? PCIBIOS_MIN_IO : PCIBIOS_MIN_MEM;
277 ret = pci_bus_alloc_resource(bus, res, size, align, min,
287 if ((res->flags & (IORESOURCE_PREFETCH | IORESOURCE_MEM_64)) ==
289 ret = pci_bus_alloc_resource(bus, res, size, align, min,
302 if (res->flags & (IORESOURCE_PREFETCH | IORESOURCE_MEM_64))
303 ret = pci_bus_alloc_resource(bus, res, size, align, min, 0,
327 struct resource *res = dev->resource + resno;
331 if (res->flags & IORESOURCE_PCI_FIXED)
334 res->flags |= IORESOURCE_UNSET;
335 align = pci_resource_alignment(dev, res);
338 resno, res);
342 size = resource_size(res);
351 pci_info(dev, "BAR %d: no space for %pR\n", resno, res);
352 ret = pci_revert_fw_address(res, dev, resno, size);
356 pci_info(dev, "BAR %d: failed to assign %pR\n", resno, res);
360 res->flags &= ~IORESOURCE_UNSET;
361 res->flags &= ~IORESOURCE_STARTALIGN;
362 pci_info(dev, "BAR %d: assigned %pR\n", resno, res);
373 struct resource *res = dev->resource + resno;
378 if (res->flags & IORESOURCE_PCI_FIXED)
381 flags = res->flags;
382 res->flags |= IORESOURCE_UNSET;
383 if (!res->parent) {
385 resno, res);
390 new_size = resource_size(res) + addsize;
393 res->flags = flags;
395 resno, res, (unsigned long long) addsize);
399 res->flags &= ~IORESOURCE_UNSET;
400 res->flags &= ~IORESOURCE_STARTALIGN;
402 resno, res, (unsigned long long) addsize);
411 struct resource *res = dev->resource + resno;
413 pci_info(dev, "BAR %d: releasing %pR\n", resno, res);
415 if (!res->parent)
418 release_resource(res);
419 res->end = resource_size(res) - 1;
420 res->start = 0;
421 res->flags |= IORESOURCE_UNSET;
427 struct resource *res = dev->resource + resno;
439 if (!(res->flags & IORESOURCE_UNSET))
461 res->end = res->start + pci_rebar_size_to_bytes(size) - 1;
465 ret = pci_reassign_bridge_resources(dev->bus->self, res->flags);
473 res->end = res->start + pci_rebar_size_to_bytes(old) - 1;