FreeBSD/src 8e0e405 (r352470)sys/arm/arm generic_timer.c, sys/dev/acpica acpi_resource.c acpi_pcib.c

MFC r340598:

acpica: rework INTRNG interrupts

On arm64 (where INTRNG is enabled), the interrupts have to be mapped
with ACPI_BUS_MAP_INTR() before adding them as resources to devices.

The earlier code did the mapping before calling acpi_set_resource(),
which bypassed code that checked for PCI link interrupts.

To fix this, move the call to map interrupts into acpi_set_resource()
and that requires additional work to lookup interrupt properties.
The changes here are to:
 * extend acpi_lookup_irq_handler() to lookup an irq in the ACPI
   resources
 * create a helper function acpi_map_intr() which uses the updated
   acpi_lookup_irq_handler() to look up an irq, and then map it
   with ACPI_BUS_MAP_INTR()
 * use acpi_map_intr() in acpi_pcib_route_interrupt() to map
   pci link interrupts.

With these changes, we can drop the ifdefs in acpi_resource.c, and
we can also drop the call for mapping interrupts in generic_timer.c

Reviewed by:    andrew
Differential Revision:  https://reviews.freebsd.org/D17790
DeltaFile
+52-21sys/dev/acpica/acpi_resource.c
+7-1sys/dev/acpica/acpi_pcib.c
+7-0sys/dev/acpica/acpi.c
+0-3sys/arm/arm/generic_timer.c
+3-0sys/dev/acpica/acpivar.h
+69-255 files

UnifiedSplitRaw