| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| /* Intel 6/7 Series PCH PCIe support */ |
| |
| // PCI Express Ports |
| |
| Method (IRQM, 1, Serialized) { |
| |
| /* Interrupt Map INTA->INTA, INTB->INTB, INTC->INTC, INTD->INTD */ |
| Name (IQAA, Package() { |
| Package() { 0x0000ffff, 0, 0, 16 }, |
| Package() { 0x0000ffff, 1, 0, 17 }, |
| Package() { 0x0000ffff, 2, 0, 18 }, |
| Package() { 0x0000ffff, 3, 0, 19 } }) |
| Name (IQAP, 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->INTC, INTC->INTD, INTD->INTA */ |
| Name (IQBA, Package() { |
| Package() { 0x0000ffff, 0, 0, 17 }, |
| Package() { 0x0000ffff, 1, 0, 18 }, |
| Package() { 0x0000ffff, 2, 0, 19 }, |
| Package() { 0x0000ffff, 3, 0, 16 } }) |
| Name (IQBP, Package() { |
| Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKB, 0 }, |
| Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKC, 0 }, |
| Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKD, 0 }, |
| Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKA, 0 } }) |
| |
| /* Interrupt Map INTA->INTC, INTB->INTD, INTC->INTA, INTD->INTB */ |
| Name (IQCA, Package() { |
| Package() { 0x0000ffff, 0, 0, 18 }, |
| Package() { 0x0000ffff, 1, 0, 19 }, |
| Package() { 0x0000ffff, 2, 0, 16 }, |
| Package() { 0x0000ffff, 3, 0, 17 } }) |
| Name (IQCP, Package() { |
| Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKC, 0 }, |
| Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKD, 0 }, |
| Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKA, 0 }, |
| Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKB, 0 } }) |
| |
| /* Interrupt Map INTA->INTD, INTB->INTA, INTC->INTB, INTD->INTC */ |
| Name (IQDA, Package() { |
| Package() { 0x0000ffff, 0, 0, 19 }, |
| Package() { 0x0000ffff, 1, 0, 16 }, |
| Package() { 0x0000ffff, 2, 0, 17 }, |
| Package() { 0x0000ffff, 3, 0, 18 } }) |
| Name (IQDP, Package() { |
| Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKD, 0 }, |
| Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKA, 0 }, |
| Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKB, 0 }, |
| Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKC, 0 } }) |
| |
| /* Interrupt Map INTA->INTE, INTB->INTF, INTC->INTG, INTD->INTH */ |
| Name (IQEA, Package() { |
| Package() { 0x0000ffff, 0, 0, 20 }, |
| Package() { 0x0000ffff, 1, 0, 21 }, |
| Package() { 0x0000ffff, 2, 0, 22 }, |
| Package() { 0x0000ffff, 3, 0, 23 } }) |
| Name (IQEP, Package() { |
| Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKE, 0 }, |
| Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKF, 0 }, |
| Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKG, 0 }, |
| Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKH, 0 } }) |
| |
| /* Interrupt Map INTA->INTF, INTB->INTG, INTC->INTH, INTD->INTE */ |
| Name (IQFA, Package() { |
| Package() { 0x0000ffff, 0, 0, 21 }, |
| Package() { 0x0000ffff, 1, 0, 22 }, |
| Package() { 0x0000ffff, 2, 0, 23 }, |
| Package() { 0x0000ffff, 3, 0, 20 } }) |
| Name (IQFP, Package() { |
| Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKF, 0 }, |
| Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKG, 0 }, |
| Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKH, 0 }, |
| Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKE, 0 } }) |
| |
| /* Interrupt Map INTA->INTG, INTB->INTH, INTC->INTE, INTD->INTF */ |
| Name (IQGA, Package() { |
| Package() { 0x0000ffff, 0, 0, 22 }, |
| Package() { 0x0000ffff, 1, 0, 23 }, |
| Package() { 0x0000ffff, 2, 0, 20 }, |
| Package() { 0x0000ffff, 3, 0, 21 } }) |
| Name (IQGP, Package() { |
| Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKG, 0 }, |
| Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKH, 0 }, |
| Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKE, 0 }, |
| Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKF, 0 } }) |
| |
| /* Interrupt Map INTA->INTH, INTB->INTE, INTC->INTF, INTD->INTG */ |
| Name (IQHA, Package() { |
| Package() { 0x0000ffff, 0, 0, 23 }, |
| Package() { 0x0000ffff, 1, 0, 20 }, |
| Package() { 0x0000ffff, 2, 0, 21 }, |
| Package() { 0x0000ffff, 3, 0, 22 } }) |
| Name (IQHP, Package() { |
| Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKH, 0 }, |
| Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKE, 0 }, |
| 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) { |
| Return (IQAA) |
| } Else { |
| Return (IQAP) |
| } |
| } |
| |
| /* PCIe Root Port 2 */ |
| Case (Package() { 10 }) { |
| If (PICM) { |
| Return (IQBA) |
| } Else { |
| Return (IQBP) |
| } |
| } |
| |
| /* PCIe Root Port 3 */ |
| Case (Package() { 11 }) { |
| If (PICM) { |
| Return (IQCA) |
| } Else { |
| Return (IQCP) |
| } |
| } |
| |
| /* PCIe Root Port 4 */ |
| Case (Package() { 12 }) { |
| If (PICM) { |
| Return (IQDA) |
| } Else { |
| Return (IQDP) |
| } |
| } |
| |
| /* PCIe Root Port 5 */ |
| Case (Package() { 14 }) { |
| If (PICM) { |
| Return (IQEA) |
| } Else { |
| Return (IQEP) |
| } |
| } |
| |
| /* PCIe Root Port 6 */ |
| Case (Package() { 15 }) { |
| If (PICM) { |
| Return (IQFA) |
| } Else { |
| Return (IQFP) |
| } |
| } |
| |
| /* PCIe Root Port 7 */ |
| Case (Package() { 16 }) { |
| If (PICM) { |
| Return (IQGA) |
| } Else { |
| Return (IQGP) |
| } |
| } |
| |
| /* PCIe Root Port 8 */ |
| Case (Package() { 17 }) { |
| If (PICM) { |
| Return (IQHA) |
| } Else { |
| Return (IQHP) |
| } |
| } |
| |
| /* 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) |
| } Else { |
| Return (IQDP) |
| } |
| } |
| } |
| } |
| |
| Device (RP01) |
| { |
| Name (_ADR, 0x00090000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |
| |
| Device (RP02) |
| { |
| Name (_ADR, 0x000A0000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |
| |
| Device (RP03) |
| { |
| Name (_ADR, 0x000B0000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |
| |
| Device (RP04) |
| { |
| Name (_ADR, 0x000C0000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |
| |
| Device (RP05) |
| { |
| Name (_ADR, 0x000E0000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |
| |
| Device (RP06) |
| { |
| Name (_ADR, 0x000F0000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |
| |
| Device (RP07) |
| { |
| Name (_ADR, 0x00100000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |
| |
| Device (RP08) |
| { |
| Name (_ADR, 0x00110000) |
| |
| #include "pcie_port.asl" |
| |
| Method (_PRT) |
| { |
| Return (IRQM (RPPN)) |
| } |
| } |