Lines Matching refs:res
30 static inline bool acpi_iospace_resource_valid(struct resource *res) in acpi_iospace_resource_valid() argument
33 return res->end < 0x10003; in acpi_iospace_resource_valid()
43 acpi_iospace_resource_valid(struct resource *res) { return true; } in acpi_iospace_resource_valid() argument
79 static void acpi_dev_memresource_flags(struct resource *res, u64 len, in acpi_dev_memresource_flags() argument
82 res->flags = IORESOURCE_MEM; in acpi_dev_memresource_flags()
84 if (!acpi_dev_resource_len_valid(res->start, res->end, len, false)) in acpi_dev_memresource_flags()
85 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_memresource_flags()
88 res->flags |= IORESOURCE_MEM_WRITEABLE; in acpi_dev_memresource_flags()
91 static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len, in acpi_dev_get_memresource() argument
94 res->start = start; in acpi_dev_get_memresource()
95 res->end = start + len - 1; in acpi_dev_get_memresource()
96 acpi_dev_memresource_flags(res, len, write_protect); in acpi_dev_get_memresource()
113 bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res) in acpi_dev_resource_memory() argument
122 acpi_dev_get_memresource(res, memory24->minimum << 8, in acpi_dev_resource_memory()
128 acpi_dev_get_memresource(res, memory32->minimum, in acpi_dev_resource_memory()
134 acpi_dev_get_memresource(res, fixed_memory32->address, in acpi_dev_resource_memory()
139 res->flags = 0; in acpi_dev_resource_memory()
143 return !(res->flags & IORESOURCE_DISABLED); in acpi_dev_resource_memory()
147 static void acpi_dev_ioresource_flags(struct resource *res, u64 len, in acpi_dev_ioresource_flags() argument
150 res->flags = IORESOURCE_IO; in acpi_dev_ioresource_flags()
152 if (!acpi_dev_resource_len_valid(res->start, res->end, len, true)) in acpi_dev_ioresource_flags()
153 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_ioresource_flags()
155 if (!acpi_iospace_resource_valid(res)) in acpi_dev_ioresource_flags()
156 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_ioresource_flags()
159 res->flags |= IORESOURCE_IO_16BIT_ADDR; in acpi_dev_ioresource_flags()
161 res->flags |= IORESOURCE_IO_SPARSE; in acpi_dev_ioresource_flags()
164 static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len, in acpi_dev_get_ioresource() argument
167 res->start = start; in acpi_dev_get_ioresource()
168 res->end = start + len - 1; in acpi_dev_get_ioresource()
169 acpi_dev_ioresource_flags(res, len, io_decode, 0); in acpi_dev_get_ioresource()
186 bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res) in acpi_dev_resource_io() argument
194 acpi_dev_get_ioresource(res, io->minimum, in acpi_dev_resource_io()
200 acpi_dev_get_ioresource(res, fixed_io->address, in acpi_dev_resource_io()
205 res->flags = 0; in acpi_dev_resource_io()
209 return !(res->flags & IORESOURCE_DISABLED); in acpi_dev_resource_io()
221 struct resource *res = &win->res; in acpi_decode_space() local
248 res->start = start; in acpi_decode_space()
249 res->end = end; in acpi_decode_space()
251 (offset != win->offset || start != res->start || end != res->end)) { in acpi_decode_space()
259 acpi_dev_memresource_flags(res, len, wp); in acpi_decode_space()
262 acpi_dev_ioresource_flags(res, len, iodec, in acpi_decode_space()
266 res->flags = IORESOURCE_BUS; in acpi_decode_space()
273 res->flags |= IORESOURCE_WINDOW; in acpi_decode_space()
276 res->flags |= IORESOURCE_PREFETCH; in acpi_decode_space()
278 return !(res->flags & IORESOURCE_DISABLED); in acpi_decode_space()
301 win->res.flags = 0; in acpi_dev_resource_address_space()
330 win->res.flags = 0; in acpi_dev_resource_ext_address_space()
391 static void acpi_dev_irqresource_disabled(struct resource *res, u32 gsi) in acpi_dev_irqresource_disabled() argument
393 res->start = gsi; in acpi_dev_irqresource_disabled()
394 res->end = gsi; in acpi_dev_irqresource_disabled()
395 res->flags = IORESOURCE_IRQ | IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_irqresource_disabled()
398 static void acpi_dev_get_irqresource(struct resource *res, u32 gsi, in acpi_dev_get_irqresource() argument
405 acpi_dev_irqresource_disabled(res, gsi); in acpi_dev_get_irqresource()
431 res->flags = acpi_dev_irq_flags(triggering, polarity, shareable); in acpi_dev_get_irqresource()
434 res->start = irq; in acpi_dev_get_irqresource()
435 res->end = irq; in acpi_dev_get_irqresource()
437 acpi_dev_irqresource_disabled(res, gsi); in acpi_dev_get_irqresource()
461 struct resource *res) in acpi_dev_resource_interrupt() argument
474 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
477 acpi_dev_get_irqresource(res, irq->interrupts[index], in acpi_dev_resource_interrupt()
484 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
488 acpi_dev_get_irqresource(res, ext_irq->interrupts[index], in acpi_dev_resource_interrupt()
492 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
495 res->flags = 0; in acpi_dev_resource_interrupt()
531 *rentry->res = win->res; in acpi_dev_new_resource_entry()
543 struct resource *res = &win.res; in acpi_dev_process_resource() local
560 if (acpi_dev_resource_memory(ares, res) in acpi_dev_process_resource()
561 || acpi_dev_resource_io(ares, res) in acpi_dev_process_resource()
566 for (i = 0; acpi_dev_resource_interrupt(ares, i, res); i++) { in acpi_dev_process_resource()
642 struct resource *res = &win.res; in is_memory() local
646 return !(acpi_dev_resource_memory(ares, res) in is_memory()
729 static int acpi_dev_consumes_res(struct acpi_device *adev, struct resource *res) in acpi_dev_consumes_res() argument
741 if (resource_contains(rentry->res, res)) { in acpi_dev_consumes_res()
755 struct resource *res = context; in acpi_res_consumer_cb() local
762 if (acpi_dev_consumes_res(adev, res)) { in acpi_res_consumer_cb()
778 struct acpi_device *acpi_resource_consumer(struct resource *res) in acpi_resource_consumer() argument
782 acpi_get_devices(NULL, acpi_res_consumer_cb, res, (void **) &consumer); in acpi_resource_consumer()