diff options
author | Pierre Gondois <pierre.gondois@arm.com> | 2022-10-10 11:20:53 +0200 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-10-31 12:32:32 +0000 |
commit | a5672d43a6e5caab92c2a8067167af2484dff486 (patch) | |
tree | 0e2301f286740224542f4016799157068fab93d4 /DynamicTablesPkg | |
parent | 5acd6489df56f7ea61581e8dff808bb1100aa772 (diff) | |
download | edk2-a5672d43a6e5caab92c2a8067167af2484dff486.tar.gz edk2-a5672d43a6e5caab92c2a8067167af2484dff486.tar.bz2 edk2-a5672d43a6e5caab92c2a8067167af2484dff486.zip |
DynamicTablesPkg: Fix Ssdt PCI generation comments
The second model of the _PRT object is used. Indeed:
- the interrupts described are not re-configurable
- OSes are aware of the polarity of PCI legacy interrupts,
so there is no need to accurately describe the polarity.
Also, fix a comment for the CM_ARM_PCI_INTERRUPT_MAP_INFO obj.
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Diffstat (limited to 'DynamicTablesPkg')
-rw-r--r-- | DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 2 | ||||
-rw-r--r-- | DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 8 |
2 files changed, 3 insertions, 7 deletions
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index cd39e609d6..d711f3ec59 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -1014,7 +1014,7 @@ typedef struct CmArmPciInterruptMapInfo { /// Value on 8 bits (max 255).
UINT8 PciBus;
- /// Pci Bus.
+ /// Pci Device.
/// Value on 5 bits (max 31).
UINT8 PciDevice;
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c index 85098752c6..c54ae6f551 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c @@ -288,12 +288,6 @@ GeneratePciDeviceInfo ( Cf. ACPI 6.4 specification, s6.2.13 "_PRT (PCI Routing Table)"
- The first model (defining a _CRS object) is used. This is necessary because
- PCI legacy interrupts are active low and GICv2 SPI interrupts are active
- high.
- Even though PCI interrupts cannot be re-routed, only the first model allows
- to specify the activation state (low/high).
-
@param [in] Generator The SSDT Pci generator.
@param [in] CfgMgrProtocol Pointer to the Configuration Manager
Protocol interface.
@@ -397,6 +391,8 @@ GeneratePrt ( High word-Device #, Low word-Function #. (for example, device 3,
function 2 is 0x00030002). To refer to all the functions on a device #,
use a function number of FFFF).
+
+ Use the second model for _PRT object and describe a hardwired interrupt.
*/
Status = AmlAddPrtEntry (
(IrqMapInfo->PciDevice << 16) | 0xFFFF,
|