Lines Matching refs:res
92 acpi_resource_parse_callback(ACPI_RESOURCE *res, void *context)
102 switch (res->Type) {
109 res->Data.FixedIo.Address,
110 res->Data.FixedIo.AddressLength));
113 res->Data.FixedIo.Address,
114 res->Data.FixedIo.AddressLength);
118 if (res->Data.Io.Minimum ==
119 res->Data.Io.Maximum) {
122 res->Data.Io.Minimum,
123 res->Data.Io.AddressLength));
126 res->Data.Io.Minimum,
127 res->Data.Io.AddressLength);
131 res->Data.Io.Minimum,
132 res->Data.Io.Maximum,
133 res->Data.Io.AddressLength));
136 res->Data.Io.Minimum,
137 res->Data.Io.Maximum,
138 res->Data.Io.AddressLength,
139 res->Data.Io.Alignment);
146 res->Data.FixedMemory32.Address,
147 res->Data.FixedMemory32.AddressLength));
150 res->Data.FixedMemory32.Address,
151 res->Data.FixedMemory32.AddressLength,
152 res->Data.FixedMemory32.Address);
156 if (res->Data.Memory32.Minimum ==
157 res->Data.Memory32.Maximum) {
160 res->Data.Memory32.Minimum,
161 res->Data.Memory32.AddressLength));
164 res->Data.Memory32.Minimum,
165 res->Data.Memory32.AddressLength,
166 res->Data.Memory32.Minimum);
170 res->Data.Memory32.Minimum,
171 res->Data.Memory32.Maximum,
172 res->Data.Memory32.AddressLength));
175 res->Data.Memory32.Minimum,
176 res->Data.Memory32.Maximum,
177 res->Data.Memory32.AddressLength,
178 res->Data.Memory32.Alignment);
183 if (res->Data.Memory24.Minimum ==
184 res->Data.Memory24.Maximum) {
187 res->Data.Memory24.Minimum,
188 res->Data.Memory24.AddressLength));
191 res->Data.Memory24.Minimum,
192 res->Data.Memory24.AddressLength,
193 res->Data.Memory24.Minimum);
197 res->Data.Memory24.Minimum,
198 res->Data.Memory24.Maximum,
199 res->Data.Memory24.AddressLength));
202 res->Data.Memory24.Minimum,
203 res->Data.Memory24.Maximum,
204 res->Data.Memory24.AddressLength,
205 res->Data.Memory24.Alignment);
210 for (i = 0; i < res->Data.Irq.InterruptCount; i++) {
213 res->Data.Irq.Interrupts[i]));
216 res->Data.Irq.Interrupts[i],
217 res->Data.Irq.Triggering);
222 for (i = 0; i < res->Data.Dma.ChannelCount; i++) {
225 res->Data.Dma.Channels[i]));
228 res->Data.Dma.Channels[i]);
235 res->Data.StartDpf.CompatibilityPriority));
238 res->Data.StartDpf.CompatibilityPriority);
250 if (res->Data.Address32.Address.AddressLength == 0)
255 switch (res->Data.Address32.ResourceType) {
257 if (ADDRESS32_FIXED2(res)) {
260 res->Data.Address32.Address.Minimum,
261 res->Data.Address32.Address.AddressLength,
262 res->Data.Address32.Address.Minimum +
263 res->Data.Address32.Address.TranslationOffset);
267 res->Data.Address32.Address.Minimum,
268 res->Data.Address32.Address.Maximum,
269 res->Data.Address32.Address.AddressLength,
270 res->Data.Address32.Address.Granularity);
274 if (ADDRESS32_FIXED2(res)) {
277 res->Data.Address32.Address.Minimum,
278 res->Data.Address32.Address.AddressLength);
282 res->Data.Address32.Address.Minimum,
283 res->Data.Address32.Address.Maximum,
284 res->Data.Address32.Address.AddressLength,
285 res->Data.Address32.Address.Granularity);
304 if (res->Data.Address64.Address.AddressLength == 0)
309 switch (res->Data.Address64.ResourceType) {
311 if (ADDRESS64_FIXED2(res)) {
314 res->Data.Address64.Address.Minimum,
315 res->Data.Address64.Address.AddressLength,
316 res->Data.Address64.Address.Minimum +
317 res->Data.Address64.Address.TranslationOffset);
321 res->Data.Address64.Address.Minimum,
322 res->Data.Address64.Address.Maximum,
323 res->Data.Address64.Address.AddressLength,
324 res->Data.Address64.Address.Granularity);
328 if (ADDRESS64_FIXED2(res)) {
331 res->Data.Address64.Address.Minimum,
332 res->Data.Address64.Address.AddressLength);
336 res->Data.Address64.Address.Minimum,
337 res->Data.Address64.Address.Maximum,
338 res->Data.Address64.Address.AddressLength,
339 res->Data.Address64.Address.Granularity);
360 res->Data.ExtendedIrq.ProducerConsumer != ACPI_CONSUMER) {
365 for (i = 0; i < res->Data.ExtendedIrq.InterruptCount; i++) {
368 res->Data.ExtendedIrq.Interrupts[i]));
371 res->Data.ExtendedIrq.Interrupts[i],
372 res->Data.ExtendedIrq.Triggering);
388 "Unknown resource type: %u\n", res->Type));
484 acpi_resource_print(device_t dev, struct acpi_resources *res)
488 if (SIMPLEQ_EMPTY(&res->ar_io) &&
489 SIMPLEQ_EMPTY(&res->ar_iorange) &&
490 SIMPLEQ_EMPTY(&res->ar_mem) &&
491 SIMPLEQ_EMPTY(&res->ar_memrange) &&
492 SIMPLEQ_EMPTY(&res->ar_irq) &&
493 SIMPLEQ_EMPTY(&res->ar_drq))
498 if (SIMPLEQ_EMPTY(&res->ar_io) == 0) {
503 SIMPLEQ_FOREACH(ar, &res->ar_io, ar_list) {
514 if (SIMPLEQ_EMPTY(&res->ar_mem) == 0) {
519 SIMPLEQ_FOREACH(ar, &res->ar_mem, ar_list) {
532 if (SIMPLEQ_EMPTY(&res->ar_irq) == 0) {
537 SIMPLEQ_FOREACH(ar, &res->ar_irq, ar_list) {
543 if (SIMPLEQ_EMPTY(&res->ar_drq) == 0) {
548 SIMPLEQ_FOREACH(ar, &res->ar_drq, ar_list) {
564 acpi_resource_cleanup(struct acpi_resources *res)
566 while (!SIMPLEQ_EMPTY(&res->ar_io)) {
568 ar = SIMPLEQ_FIRST(&res->ar_io);
569 SIMPLEQ_REMOVE_HEAD(&res->ar_io, ar_list);
573 while (!SIMPLEQ_EMPTY(&res->ar_iorange)) {
575 ar = SIMPLEQ_FIRST(&res->ar_iorange);
576 SIMPLEQ_REMOVE_HEAD(&res->ar_iorange, ar_list);
580 while (!SIMPLEQ_EMPTY(&res->ar_mem)) {
582 ar = SIMPLEQ_FIRST(&res->ar_mem);
583 SIMPLEQ_REMOVE_HEAD(&res->ar_mem, ar_list);
587 while (!SIMPLEQ_EMPTY(&res->ar_memrange)) {
589 ar = SIMPLEQ_FIRST(&res->ar_memrange);
590 SIMPLEQ_REMOVE_HEAD(&res->ar_memrange, ar_list);
594 while (!SIMPLEQ_EMPTY(&res->ar_irq)) {
596 ar = SIMPLEQ_FIRST(&res->ar_irq);
597 SIMPLEQ_REMOVE_HEAD(&res->ar_irq, ar_list);
601 while (!SIMPLEQ_EMPTY(&res->ar_drq)) {
603 ar = SIMPLEQ_FIRST(&res->ar_drq);
604 SIMPLEQ_REMOVE_HEAD(&res->ar_drq, ar_list);
608 res->ar_nio = res->ar_niorange = res->ar_nmem =
609 res->ar_nmemrange = res->ar_nirq = res->ar_ndrq = 0;
613 acpi_res_io(struct acpi_resources *res, int idx)
617 SIMPLEQ_FOREACH(ar, &res->ar_io, ar_list) {
625 acpi_res_iorange(struct acpi_resources *res, int idx)
629 SIMPLEQ_FOREACH(ar, &res->ar_iorange, ar_list) {
637 acpi_res_mem(struct acpi_resources *res, int idx)
641 SIMPLEQ_FOREACH(ar, &res->ar_mem, ar_list) {
649 acpi_res_memrange(struct acpi_resources *res, int idx)
653 SIMPLEQ_FOREACH(ar, &res->ar_memrange, ar_list) {
661 acpi_res_irq(struct acpi_resources *res, int idx)
665 SIMPLEQ_FOREACH(ar, &res->ar_irq, ar_list) {
673 acpi_res_drq(struct acpi_resources *res, int idx)
677 SIMPLEQ_FOREACH(ar, &res->ar_drq, ar_list) {
744 struct acpi_resources *res = arg;
746 SIMPLEQ_INIT(&res->ar_io);
747 res->ar_nio = 0;
749 SIMPLEQ_INIT(&res->ar_iorange);
750 res->ar_niorange = 0;
752 SIMPLEQ_INIT(&res->ar_mem);
753 res->ar_nmem = 0;
755 SIMPLEQ_INIT(&res->ar_memrange);
756 res->ar_nmemrange = 0;
758 SIMPLEQ_INIT(&res->ar_irq);
759 res->ar_nirq = 0;
761 SIMPLEQ_INIT(&res->ar_drq);
762 res->ar_ndrq = 0;
764 *contextp = res;
770 struct acpi_resources *res = context;
773 acpi_resource_print(dev, res);
780 struct acpi_resources *res = context;
787 SIMPLEQ_FOREACH(ar, &res->ar_io, ar_list) {
810 res->ar_nio, base, length);
811 res->ar_nio++;
818 res->ar_nio);
819 res->ar_nio++;
823 ar->ar_index = res->ar_nio++;
827 SIMPLEQ_INSERT_TAIL(&res->ar_io, ar, ar_list);
834 struct acpi_resources *res = context;
840 res->ar_niorange);
841 res->ar_niorange++;
845 ar->ar_index = res->ar_niorange++;
851 SIMPLEQ_INSERT_TAIL(&res->ar_iorange, ar, ar_list);
858 struct acpi_resources *res = context;
864 res->ar_nmem);
865 res->ar_nmem++;
869 ar->ar_index = res->ar_nmem++;
874 SIMPLEQ_INSERT_TAIL(&res->ar_mem, ar, ar_list);
881 struct acpi_resources *res = context;
887 res->ar_nmemrange);
888 res->ar_nmemrange++;
892 ar->ar_index = res->ar_nmemrange++;
898 SIMPLEQ_INSERT_TAIL(&res->ar_memrange, ar, ar_list);
904 struct acpi_resources *res = context;
910 res->ar_nirq);
911 res->ar_nirq++;
915 ar->ar_index = res->ar_nirq++;
919 SIMPLEQ_INSERT_TAIL(&res->ar_irq, ar, ar_list);
925 struct acpi_resources *res = context;
931 res->ar_ndrq);
932 res->ar_ndrq++;
936 ar->ar_index = res->ar_ndrq++;
939 SIMPLEQ_INSERT_TAIL(&res->ar_drq, ar, ar_list);