]> git.proxmox.com Git - mirror_edk2.git/commit
DynamicTablesPkg: AcpiSsdtPcieLibArm: Remove link device generation
authorPierre Gondois <Pierre.Gondois@arm.com>
Tue, 1 Feb 2022 15:31:53 +0000 (16:31 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Tue, 1 Feb 2022 17:39:34 +0000 (17:39 +0000)
commit5816bd3eab2a2645a2d440892a726b3c17b8907d
treef137bc1719755a16c167b57d5f9019f43baa222a
parent5751d608217d0e8250442efb5941733407b8d0c5
DynamicTablesPkg: AcpiSsdtPcieLibArm: Remove link device generation

In ACPI 6.4, s6.2.13, _PRT objects describing PCI legacy interrupts
can be defined following 2 models.
In the first model, _PRT entries reference link devices. Link devices
then describe interrupts. This allows to dynamically modify
interrupts through _SRS and _PRS objects and to choose exactly the
interrupt type (level/edge triggered, active high/low).
In the second model, interrupt numbder are described in the _PRT entry.
The interrupt type is then assumed by the OS.

The Arm BSA, sE.6 "Legacy interrupts" states that PCI legacy
interrupts must be converted to SPIs, and programmed level-sensitive,
active high. Thus any OS must configure interrupts as such and there
is no need to specify the interrupt type.
Plus it is not possible to dynamically configure PCI interrupts.

Thus remove the link device generation and use the second model
for _PRT.

Suggested-by: Ard Biesheuvel <ardb+tianocore@kernel.org>
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c
DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.h