[Differential] D31267: Parse named nodes from IORT ACPI on arm64

From: dsl_mcusim.org (Dmitry Salychev) <phabric-noreply_at_FreeBSD.org>
Date: Thu, 22 Jul 2021 09:05:43 UTC
dsl_mcusim.org created this revision.
dsl_mcusim.org added a reviewer: freebsd-arm-list.
Herald added subscribers: emaste, andrew.
Herald added a reviewer: manu.
dsl_mcusim.org requested review of this revision.

REVISION SUMMARY
  During my work on a driver for DPAA2 (NXP's network feature available in several of their SoCs) firmware bus, I discovered that it isn't possible to map a named component mentioned in IORT to its SMMU or ITS node in order to setup interrupts. It's possible to find a named node by its names (as a substring) and a resource ID (isolation context ID in case of DPAA2) similar to PCI nodes with this patch.

TEST PLAN
  1. Clone my fork with DPAA2 work-in-progress from https://github.com/mcusim/freebsd-src.
  2. Build and boot to the kernel on SolidRun's HoneyComb board.
  3. Build and load KLD from sys/modules/dpaa2.
  4. Find "dpaa2_rc0: MSI allocated: irq=..." in dmesg

REVISION DETAIL
  https://reviews.freebsd.org/D31267

AFFECTED FILES
  sys/arm64/acpica/acpi_iort.c
  sys/dev/acpica/acpivar.h

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: dsl_mcusim.org, freebsd-arm-list, manu
Cc: andrew, freebsd-arm-list, emaste