Lines Matching refs:res
29 static inline bool acpi_iospace_resource_valid(struct resource *res) in acpi_iospace_resource_valid() argument
32 return res->end < 0x10003; in acpi_iospace_resource_valid()
42 acpi_iospace_resource_valid(struct resource *res) { return true; } in acpi_iospace_resource_valid() argument
65 static void acpi_dev_memresource_flags(struct resource *res, u64 len, in acpi_dev_memresource_flags() argument
68 res->flags = IORESOURCE_MEM; in acpi_dev_memresource_flags()
70 if (!acpi_dev_resource_len_valid(res->start, res->end, len, false)) in acpi_dev_memresource_flags()
71 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_memresource_flags()
74 res->flags |= IORESOURCE_MEM_WRITEABLE; in acpi_dev_memresource_flags()
77 static void acpi_dev_get_memresource(struct resource *res, u64 start, u64 len, in acpi_dev_get_memresource() argument
80 res->start = start; in acpi_dev_get_memresource()
81 res->end = start + len - 1; in acpi_dev_get_memresource()
82 acpi_dev_memresource_flags(res, len, write_protect); in acpi_dev_get_memresource()
99 bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res) in acpi_dev_resource_memory() argument
108 acpi_dev_get_memresource(res, memory24->minimum << 8, in acpi_dev_resource_memory()
114 acpi_dev_get_memresource(res, memory32->minimum, in acpi_dev_resource_memory()
120 acpi_dev_get_memresource(res, fixed_memory32->address, in acpi_dev_resource_memory()
125 res->flags = 0; in acpi_dev_resource_memory()
129 return !(res->flags & IORESOURCE_DISABLED); in acpi_dev_resource_memory()
133 static void acpi_dev_ioresource_flags(struct resource *res, u64 len, in acpi_dev_ioresource_flags() argument
136 res->flags = IORESOURCE_IO; in acpi_dev_ioresource_flags()
138 if (!acpi_dev_resource_len_valid(res->start, res->end, len, true)) in acpi_dev_ioresource_flags()
139 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_ioresource_flags()
141 if (!acpi_iospace_resource_valid(res)) in acpi_dev_ioresource_flags()
142 res->flags |= IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_ioresource_flags()
145 res->flags |= IORESOURCE_IO_16BIT_ADDR; in acpi_dev_ioresource_flags()
147 res->flags |= IORESOURCE_IO_SPARSE; in acpi_dev_ioresource_flags()
150 static void acpi_dev_get_ioresource(struct resource *res, u64 start, u64 len, in acpi_dev_get_ioresource() argument
153 res->start = start; in acpi_dev_get_ioresource()
154 res->end = start + len - 1; in acpi_dev_get_ioresource()
155 acpi_dev_ioresource_flags(res, len, io_decode, 0); in acpi_dev_get_ioresource()
172 bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res) in acpi_dev_resource_io() argument
180 acpi_dev_get_ioresource(res, io->minimum, in acpi_dev_resource_io()
186 acpi_dev_get_ioresource(res, fixed_io->address, in acpi_dev_resource_io()
191 res->flags = 0; in acpi_dev_resource_io()
195 return !(res->flags & IORESOURCE_DISABLED); in acpi_dev_resource_io()
207 struct resource *res = &win->res; in acpi_decode_space() local
234 res->start = start; in acpi_decode_space()
235 res->end = end; in acpi_decode_space()
237 (offset != win->offset || start != res->start || end != res->end)) { in acpi_decode_space()
245 acpi_dev_memresource_flags(res, len, wp); in acpi_decode_space()
248 acpi_dev_ioresource_flags(res, len, iodec, in acpi_decode_space()
252 res->flags = IORESOURCE_BUS; in acpi_decode_space()
259 res->flags |= IORESOURCE_WINDOW; in acpi_decode_space()
262 res->flags |= IORESOURCE_PREFETCH; in acpi_decode_space()
264 return !(res->flags & IORESOURCE_DISABLED); in acpi_decode_space()
287 win->res.flags = 0; in acpi_dev_resource_address_space()
316 win->res.flags = 0; in acpi_dev_resource_ext_address_space()
351 static void acpi_dev_irqresource_disabled(struct resource *res, u32 gsi) in acpi_dev_irqresource_disabled() argument
353 res->start = gsi; in acpi_dev_irqresource_disabled()
354 res->end = gsi; in acpi_dev_irqresource_disabled()
355 res->flags = IORESOURCE_IRQ | IORESOURCE_DISABLED | IORESOURCE_UNSET; in acpi_dev_irqresource_disabled()
358 static void acpi_dev_get_irqresource(struct resource *res, u32 gsi, in acpi_dev_get_irqresource() argument
365 acpi_dev_irqresource_disabled(res, gsi); in acpi_dev_get_irqresource()
391 res->flags = acpi_dev_irq_flags(triggering, polarity, shareable); in acpi_dev_get_irqresource()
394 res->start = irq; in acpi_dev_get_irqresource()
395 res->end = irq; in acpi_dev_get_irqresource()
397 acpi_dev_irqresource_disabled(res, gsi); in acpi_dev_get_irqresource()
421 struct resource *res) in acpi_dev_resource_interrupt() argument
434 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
437 acpi_dev_get_irqresource(res, irq->interrupts[index], in acpi_dev_resource_interrupt()
444 acpi_dev_irqresource_disabled(res, 0); in acpi_dev_resource_interrupt()
447 acpi_dev_get_irqresource(res, ext_irq->interrupts[index], in acpi_dev_resource_interrupt()
452 res->flags = 0; in acpi_dev_resource_interrupt()
488 *rentry->res = win->res; in acpi_dev_new_resource_entry()
500 struct resource *res = &win.res; in acpi_dev_process_resource() local
517 if (acpi_dev_resource_memory(ares, res) in acpi_dev_process_resource()
518 || acpi_dev_resource_io(ares, res) in acpi_dev_process_resource()
523 for (i = 0; acpi_dev_resource_interrupt(ares, i, res); i++) { in acpi_dev_process_resource()