Lines Matching refs:res

23 static inline bool acpi_iospace_resource_valid(struct resource *res)
26 return res->end < 0x10003;
36 acpi_iospace_resource_valid(struct resource *res) { return true; }
72 static void acpi_dev_memresource_flags(struct resource *res, u64 len,
75 res->flags = IORESOURCE_MEM;
77 if (!acpi_dev_resource_len_valid(res->start, res->end, len, false))
78 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET;
81 res->flags |= IORESOURCE_MEM_WRITEABLE;
84 static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len,
87 res->start = start;
88 res->end = start + len - 1;
89 acpi_dev_memresource_flags(res, len, write_protect);
95 * @res: Output generic resource object.
99 * resource object pointed to by @res.
102 * 1) false with res->flags setting to zero: not the expected resource type
103 * 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
106 bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res)
115 acpi_dev_get_memresource(res, memory24->minimum << 8,
121 acpi_dev_get_memresource(res, memory32->minimum,
127 acpi_dev_get_memresource(res, fixed_memory32->address,
132 res->flags = 0;
136 return !(res->flags & IORESOURCE_DISABLED);
140 static void acpi_dev_ioresource_flags(struct resource *res, u64 len,
143 res->flags = IORESOURCE_IO;
145 if (!acpi_dev_resource_len_valid(res->start, res->end, len, true))
146 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET;
148 if (!acpi_iospace_resource_valid(res))
149 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET;
152 res->flags |= IORESOURCE_IO_16BIT_ADDR;
154 res->flags |= IORESOURCE_IO_SPARSE;
157 static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len,
160 res->start = start;
161 res->end = start + len - 1;
162 acpi_dev_ioresource_flags(res, len, io_decode, 0);
168 * @res: Output generic resource object.
172 * resource object pointed to by @res.
175 * 1) false with res->flags setting to zero: not the expected resource type
176 * 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
179 bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res)
187 acpi_dev_get_ioresource(res, io->minimum,
193 acpi_dev_get_ioresource(res, fixed_io->address,
198 res->flags = 0;
202 return !(res->flags & IORESOURCE_DISABLED);
214 struct resource *res = &win->res;
241 res->start = start;
242 res->end = end;
244 (offset != win->offset || start != res->start || end != res->end)) {
252 acpi_dev_memresource_flags(res, len, wp);
255 acpi_dev_ioresource_flags(res, len, iodec,
259 res->flags = IORESOURCE_BUS;
266 res->flags |= IORESOURCE_WINDOW;
269 res->flags |= IORESOURCE_PREFETCH;
271 return !(res->flags & IORESOURCE_DISABLED);
284 * 1) false with win->res.flags setting to zero: not the expected resource type
285 * 2) false with IORESOURCE_DISABLED in win->res.flags: valid unassigned
294 win->res.flags = 0;
313 * 1) false with win->res.flags setting to zero: not the expected resource type
314 * 2) false with IORESOURCE_DISABLED in win->res.flags: valid unassigned
323 win->res.flags = 0;
716 static void acpi_dev_get_irqresource(struct resource *res, u32 gsi,
723 irqresource_disabled(res, gsi);
754 res->flags = acpi_dev_irq_flags(triggering, polarity, shareable, wake_capable);
757 res->start = irq;
758 res->end = irq;
760 irqresource_disabled(res, gsi);
768 * @res: Output generic resource object.
775 * to by @res accordingly. If the registration of the GSI is not successful,
779 * 1) false with res->flags setting to zero: not the expected resource type
780 * 2) false with IORESOURCE_DISABLED in res->flags: valid unassigned resource
784 struct resource *res)
797 irqresource_disabled(res, 0);
800 acpi_dev_get_irqresource(res, irq->interrupts[index],
808 irqresource_disabled(res, 0);
812 acpi_dev_get_irqresource(res, ext_irq->interrupts[index],
817 irqresource_disabled(res, 0);
820 res->flags = 0;
856 *rentry->res = win->res;
868 struct resource *res = &win.res;
885 if (acpi_dev_resource_memory(ares, res)
886 || acpi_dev_resource_io(ares, res)
891 for (i = 0; acpi_dev_resource_interrupt(ares, i, res); i++) {
967 struct resource *res = &win.res;
974 return !(acpi_dev_resource_memory(ares, res)
1074 static int acpi_dev_consumes_res(struct acpi_device *adev, struct resource *res)
1086 if (resource_contains(rentry->res, res)) {
1100 struct resource *res = context;
1107 if (acpi_dev_consumes_res(adev, res)) {
1116 * acpi_resource_consumer - Find the ACPI device that consumes @res.
1117 * @res: Resource to search for.
1120 * for @res. If we find an ACPI device whose _CRS includes @res, return
1123 struct acpi_device *acpi_resource_consumer(struct resource *res)
1127 acpi_get_devices(NULL, acpi_res_consumer_cb, res, (void **) &consumer);