u-boot/lib/acpi
Patrick Rudolph 92d448f4f1 acpi_table: Fix IORT RC node
Even though the RC node has the correct size and the ID mappings
are written to the end of the node, the ID 'mapping offset' and
'mapping count' are not written in the IORT RC node header, thus it
looks like that the RC node has no ID mappings.
The Linux kernel doesn't complain about the invalid IORT RC node,
even though the spec says that each RC node must have an ID mapping.
The kernel will fail to use MSI IRQs and fall back to a legacy IRQ
mechanism that's not working either.
Finally it will show strange behaviour around PCI interrupts, making it
hard to trace back to an invalid IORT RC nodes.

Add the missing ID mapping count and mapping offset.

TEST: Fixes IRQ usage of PCI devices on qemu/sbsa-ref.
Fixes: bf5d37662d "acpi: acpi_table: Add IORT support"

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2025-04-03 11:38:14 -06:00
..
acpi.c acpi: support 64bit in acpi_find_table for DSDT and FACS 2024-01-07 13:49:08 -07:00
acpi_device.c spi: spi-uclass: Read chipselect and restrict capabilities 2024-10-09 09:01:54 -06:00
acpi_dp.c include: export uuid.h 2024-09-12 17:35:37 +02:00
acpi_table.c acpi_table: Fix IORT RC node 2025-04-03 11:38:14 -06:00
acpi_writer.c acpi: Kconfig symbol CONFIG_QFW_ACPI 2024-01-07 13:49:15 -07:00
acpigen.c acpi: Add processor device 2024-10-27 17:24:13 -06:00
base.c acpi: Write pointers to tables instead of addresses 2024-01-07 13:45:07 -07:00
csrt.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
dsdt.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
facs.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
Makefile global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00
mcfg.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
ssdt.c acpi: set creator_revision in acpi_fill_header 2024-07-03 07:36:32 +01:00