Patrick Georgi submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Patrick Georgi: Looks good to me, approved
soc/intel/dnv: Add ACPI _PRT methods for virtual root ports

This eliminates Linux kernel warnings that look like:
pcieport 0000:00:17.0: can't derive routing for PCI INT B
ixgbe 0000:07:00.1: PCI INT B: no GSI - using ISA IRQ 10

Change-Id: I2029e7a8252b9e48c1df457d8da5adce7d1ac21d
Signed-off-by: Stephen Douthit <stephend@silicom-usa.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34713
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
---
M src/soc/intel/denverton_ns/acpi/northcluster.asl
M src/soc/intel/denverton_ns/acpi/pcie.asl
M src/soc/intel/denverton_ns/acpi/southcluster.asl
3 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/src/soc/intel/denverton_ns/acpi/northcluster.asl b/src/soc/intel/denverton_ns/acpi/northcluster.asl
index 58d63c2..b102f2f 100644
--- a/src/soc/intel/denverton_ns/acpi/northcluster.asl
+++ b/src/soc/intel/denverton_ns/acpi/northcluster.asl
@@ -167,4 +167,9 @@
// Virtual root port 2
Device (VRP2) {
Name (_ADR, 0x00060000)
+
+ Method (_PRT)
+ {
+ Return (IRQM (6))
+ }
}
diff --git a/src/soc/intel/denverton_ns/acpi/pcie.asl b/src/soc/intel/denverton_ns/acpi/pcie.asl
index c9bbd3f..bc47b77 100644
--- a/src/soc/intel/denverton_ns/acpi/pcie.asl
+++ b/src/soc/intel/denverton_ns/acpi/pcie.asl
@@ -118,7 +118,52 @@
Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKF, 0 },
Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKG, 0 } })

+ /* Interrupt Map INTA->INTC, INTB->INTB, INTC->INTC, INTD->INTD */
+ Name (IQIA, Package() {
+ Package() { 0x0000ffff, 0, 0, 18 },
+ Package() { 0x0000ffff, 1, 0, 17 },
+ Package() { 0x0000ffff, 2, 0, 18 },
+ Package() { 0x0000ffff, 3, 0, 19 } })
+ Name (IQIP, Package() {
+ Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKC, 0 },
+ Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
+ Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
+ Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 } })
+
+ /* Interrupt Map INTA->INTA, INTB->INTB, INTC->INTC, INTD->INTD */
+ Name (IQJA, Package() {
+ Package() { 0x0000ffff, 0, 0, 23 },
+ Package() { 0x0000ffff, 1, 0, 20 },
+ Package() { 0x0000ffff, 2, 0, 21 },
+ Package() { 0x0000ffff, 3, 0, 22 } })
+ Name (IQJP, Package() {
+ Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
+ Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
+ Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
+ Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 } })
+
+ /* Interrupt Map INTA->INTB, INTB->INTB, INTC->INTC, INTD->INTD */
+ Name (IQKA, Package() {
+ Package() { 0x0000ffff, 0, 0, 17 },
+ Package() { 0x0000ffff, 1, 0, 17 },
+ Package() { 0x0000ffff, 2, 0, 18 },
+ Package() { 0x0000ffff, 3, 0, 19 } })
+ Name (IQKP, Package() {
+ Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKB, 0 },
+ Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
+ Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
+ Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 } })
+
Switch (ToInteger (Arg0)) {
+ /* Virtual Root Port 2 - QAT */
+ Case (Package() { 6 }) {
+ If (PICM) {
+ Return (IQIA)
+ } Else {
+ Return (IQIP)
+ }
+ }
+
/* PCIe Root Port 1 */
Case (Package() { 9 }) {
If (PICM) {
@@ -191,6 +236,24 @@
}
}

+ /* Virtual Root Port 0 - LAN 0 */
+ Case (Package() { 22 }) {
+ If (PICM) {
+ Return (IQJA)
+ } Else {
+ Return (IQJP)
+ }
+ }
+
+ /* Virtual Root Port 1 - LAN 1 */
+ Case (Package() { 23 }) {
+ If (PICM) {
+ Return (IQKA)
+ } Else {
+ Return (IQKP)
+ }
+ }
+
Default {
If (PICM) {
Return (IQDA)
diff --git a/src/soc/intel/denverton_ns/acpi/southcluster.asl b/src/soc/intel/denverton_ns/acpi/southcluster.asl
index bcc8a5c..674f043 100644
--- a/src/soc/intel/denverton_ns/acpi/southcluster.asl
+++ b/src/soc/intel/denverton_ns/acpi/southcluster.asl
@@ -62,11 +62,21 @@
// Virtual root port 0
Device (VRP0) {
Name (_ADR, 0x00160000)
+
+ Method (_PRT)
+ {
+ Return (IRQM (22))
+ }
}

// Virtual root port 1
Device (VRP1) {
Name (_ADR, 0x00170000)
+
+ Method (_PRT)
+ {
+ Return (IRQM (23))
+ }
}

// ME HECI

To view, visit change 34713. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I2029e7a8252b9e48c1df457d8da5adce7d1ac21d
Gerrit-Change-Number: 34713
Gerrit-PatchSet: 2
Gerrit-Owner: Stephen Douthit <stephend@silicom-usa.com>
Gerrit-Reviewer: David Guckian <david.guckian@intel.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Stephen Douthit <stephend@silicom-usa.com>
Gerrit-Reviewer: Vanessa Eusebio <vanessa.f.eusebio@intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-MessageType: merged