Aamir Bohra has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34710 )
Change subject: soc/intel/{cnl,icl}: Add provision to use PIRX PCI IRQ acpi package ......................................................................
soc/intel/{cnl,icl}: Add provision to use PIRX PCI IRQ acpi package
PIRX ACPI package is dynamically genarated PCI IRQ routing information based on SOC_INTEL_COMMON_ITSS_INTERRUPT_OVERRIDE config selection. This implementation returns PIRX package under _PRT method for IOAPIC mode of interrupt.
Change-Id: Ib23e57d3ce58406f8faff18e912b78a911e50d3d Signed-off-by: Aamir Bohra aamir.bohra@intel.com --- M src/soc/intel/cannonlake/acpi/pci_irqs.asl M src/soc/intel/icelake/acpi/pci_irqs.asl 2 files changed, 18 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/10/34710/1
diff --git a/src/soc/intel/cannonlake/acpi/pci_irqs.asl b/src/soc/intel/cannonlake/acpi/pci_irqs.asl index accfdb9..f18fa19 100644 --- a/src/soc/intel/cannonlake/acpi/pci_irqs.asl +++ b/src/soc/intel/cannonlake/acpi/pci_irqs.asl @@ -17,6 +17,12 @@
#include <soc/irq.h>
+/* PCI IRQ routing package that gets generated dynamically + * if config SOC_INTEL_COMMON_ITSS_INTERRUPT_OVERRIDE is + * selected. + */ +External(PIRX) + Name (PICP, Package () { /* PCI Bridge */ /* cAVS, SMBus, GbE, Nothpeak */ @@ -138,6 +144,9 @@ Method (_PRT) { If (PICM) { + if (CondRefOf(PIRX)) { + Return(PIRX) + } Return (^PICP) } Else { Return (^PICN) diff --git a/src/soc/intel/icelake/acpi/pci_irqs.asl b/src/soc/intel/icelake/acpi/pci_irqs.asl index 79c9927..1f07d1d 100644 --- a/src/soc/intel/icelake/acpi/pci_irqs.asl +++ b/src/soc/intel/icelake/acpi/pci_irqs.asl @@ -17,6 +17,12 @@
#include <soc/irq.h>
+/* PCI IRQ routing package that gets generated dynamically + * if config SOC_INTEL_COMMON_ITSS_INTERRUPT_OVERRIDE is + * selected. + */ +External(PIRX) + Name (PICP, Package () { /* PCI Bridge */ /* cAVS, SMBus, GbE, Nothpeak */ @@ -132,6 +138,9 @@ Method (_PRT) { If (PICM) { + if(CondRefOf(PIRX)) { + Return(PIRX) + } Return (^PICP) } Else { Return (^PICN)