Lines Matching refs:res
22 static inline bool acpi_iospace_resource_valid(struct resource *res) in acpi_iospace_resource_valid() argument
25 return res->end < 0x10003; in acpi_iospace_resource_valid()
35 acpi_iospace_resource_valid(struct resource *res) { return true; } in acpi_iospace_resource_valid() argument
71 static void acpi_dev_memresource_flags(struct resource *res, u64 len, in acpi_dev_memresource_flags() argument
74 res->flags = IORESOURCE_MEM; in acpi_dev_memresource_flags()
76 if (!acpi_dev_resource_len_valid(res->start, res->end, len, false)) in acpi_dev_memresource_flags()
77 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_memresource_flags()
80 res->flags |= IORESOURCE_MEM_WRITEABLE; in acpi_dev_memresource_flags()
83 static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len, in acpi_dev_get_memresource() argument
86 res->start = start; in acpi_dev_get_memresource()
87 res->end = start + len - 1; in acpi_dev_get_memresource()
88 acpi_dev_memresource_flags(res, len, write_protect); in acpi_dev_get_memresource()
105 bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res) in acpi_dev_resource_memory() argument
114 acpi_dev_get_memresource(res, memory24->minimum << 8, in acpi_dev_resource_memory()
120 acpi_dev_get_memresource(res, memory32->minimum, in acpi_dev_resource_memory()
126 acpi_dev_get_memresource(res, fixed_memory32->address, in acpi_dev_resource_memory()
131 res->flags = 0; in acpi_dev_resource_memory()
135 return !(res->flags & IORESOURCE_DISABLED); in acpi_dev_resource_memory()
139 static void acpi_dev_ioresource_flags(struct resource *res, u64 len, in acpi_dev_ioresource_flags() argument
142 res->flags = IORESOURCE_IO; in acpi_dev_ioresource_flags()
144 if (!acpi_dev_resource_len_valid(res->start, res->end, len, true)) in acpi_dev_ioresource_flags()
145 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_ioresource_flags()
147 if (!acpi_iospace_resource_valid(res)) in acpi_dev_ioresource_flags()
148 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_ioresource_flags()
151 res->flags |= IORESOURCE_IO_16BIT_ADDR; in acpi_dev_ioresource_flags()
153 res->flags |= IORESOURCE_IO_SPARSE; in acpi_dev_ioresource_flags()
156 static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len, in acpi_dev_get_ioresource() argument
159 res->start = start; in acpi_dev_get_ioresource()
160 res->end = start + len - 1; in acpi_dev_get_ioresource()
161 acpi_dev_ioresource_flags(res, len, io_decode, 0); in acpi_dev_get_ioresource()
178 bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res) in acpi_dev_resource_io() argument
186 acpi_dev_get_ioresource(res, io->minimum, in acpi_dev_resource_io()
192 acpi_dev_get_ioresource(res, fixed_io->address, in acpi_dev_resource_io()
197 res->flags = 0; in acpi_dev_resource_io()
201 return !(res->flags & IORESOURCE_DISABLED); in acpi_dev_resource_io()
213 struct resource *res = &win->res; in acpi_decode_space() local
240 res->start = start; in acpi_decode_space()
241 res->end = end; in acpi_decode_space()
243 (offset != win->offset || start != res->start || end != res->end)) { in acpi_decode_space()
251 acpi_dev_memresource_flags(res, len, wp); in acpi_decode_space()
254 acpi_dev_ioresource_flags(res, len, iodec, in acpi_decode_space()
258 res->flags = IORESOURCE_BUS; in acpi_decode_space()
265 res->flags |= IORESOURCE_WINDOW; in acpi_decode_space()
268 res->flags |= IORESOURCE_PREFETCH; in acpi_decode_space()
270 return !(res->flags & IORESOURCE_DISABLED); in acpi_decode_space()
293 win->res.flags = 0; in acpi_dev_resource_address_space()
322 win->res.flags = 0; in acpi_dev_resource_ext_address_space()
383 static void acpi_dev_irqresource_disabled(struct resource *res, u32 gsi) in acpi_dev_irqresource_disabled() argument
385 res->start = gsi; in acpi_dev_irqresource_disabled()
386 res->end = gsi; in acpi_dev_irqresource_disabled()
387 res->flags = IORESOURCE_IRQ | IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_irqresource_disabled()
390 static void acpi_dev_get_irqresource(struct resource *res, u32 gsi, in acpi_dev_get_irqresource() argument
397 acpi_dev_irqresource_disabled(res, gsi); in acpi_dev_get_irqresource()
423 res->flags = acpi_dev_irq_flags(triggering, polarity, shareable); in acpi_dev_get_irqresource()
426 res->start = irq; in acpi_dev_get_irqresource()
427 res->end = irq; in acpi_dev_get_irqresource()
429 acpi_dev_irqresource_disabled(res, gsi); in acpi_dev_get_irqresource()
453 struct resource *res) in acpi_dev_resource_interrupt() argument
466 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
469 acpi_dev_get_irqresource(res, irq->interrupts[index], in acpi_dev_resource_interrupt()
476 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
480 acpi_dev_get_irqresource(res, ext_irq->interrupts[index], in acpi_dev_resource_interrupt()
484 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
487 res->flags = 0; in acpi_dev_resource_interrupt()
523 *rentry->res = win->res; in acpi_dev_new_resource_entry()
535 struct resource *res = &win.res; in acpi_dev_process_resource() local
552 if (acpi_dev_resource_memory(ares, res) in acpi_dev_process_resource()
553 || acpi_dev_resource_io(ares, res) in acpi_dev_process_resource()
558 for (i = 0; acpi_dev_resource_interrupt(ares, i, res); i++) { in acpi_dev_process_resource()
634 struct resource *res = &win.res; in is_memory() local
638 return !(acpi_dev_resource_memory(ares, res) in is_memory()
721 static int acpi_dev_consumes_res(struct acpi_device *adev, struct resource *res) in acpi_dev_consumes_res() argument
733 if (resource_contains(rentry->res, res)) { in acpi_dev_consumes_res()
747 struct resource *res = context; in acpi_res_consumer_cb() local
754 if (acpi_dev_consumes_res(adev, res)) { in acpi_res_consumer_cb()
770 struct acpi_device *acpi_resource_consumer(struct resource *res) in acpi_resource_consumer() argument
774 acpi_get_devices(NULL, acpi_res_consumer_cb, res, (void **) &consumer); in acpi_resource_consumer()