soc/intel/alderlake: Add IRQ mapping for PEG PCI-E ports

ACPI _PRT method was missing from PEG (SoC PCI-E) links, resulting in
OS complaining about interrupt routing:
    pcieport 0000:00:06.0: can't derive routing for PCI INT A

Tested on `starbook_adl` with Ubuntu 24.04 by running SSD
benchmark with GNOME disks and suspend.

Change-Id: I2e36cee37716d3b003b9ce250f28fdf5581a15bc
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84620
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
This commit is contained in:
Sean Rhodes 2024-10-02 12:22:20 +01:00
commit cb446c0404
2 changed files with 48 additions and 0 deletions

View file

@ -309,16 +309,52 @@ Device (RP12)
Device (PEG0)
{
Name (_ADR, 0x00060000)
OperationRegion (RPCS, PCI_Config, 0x4c, 4)
Field (RPCS, AnyAcc, NoLock, Preserve)
{
, 24,
RPPN, 8, /* Root Port Number */
}
Method (_PRT)
{
Return (IRQM (RPPN))
}
}
Device (PEG1)
{
Name (_ADR, 0x00060002)
OperationRegion (RPCS, PCI_Config, 0x4c, 4)
Field (RPCS, AnyAcc, NoLock, Preserve)
{
, 24,
RPPN, 8, /* Root Port Number */
}
Method (_PRT)
{
Return (IRQM (RPPN))
}
}
Device (PEG2)
{
Name (_ADR, 0x00010000)
OperationRegion (RPCS, PCI_Config, 0x4c, 4)
Field (RPCS, AnyAcc, NoLock, Preserve)
{
, 24,
RPPN, 8, /* Root Port Number */
}
Method (_PRT)
{
Return (IRQM (RPPN))
}
}
#endif

View file

@ -275,14 +275,26 @@ Device (RP28)
Device (PEG0)
{
Name (_ADR, 0x00060000)
Method (_PRT)
{
Return (IRQM (1))
}
}
Device (PEG1)
{
Name (_ADR, 0x00010000)
Method (_PRT)
{
Return (IRQM (1))
}
}
Device (PEG2)
{
Name (_ADR, 0x00010001)
Method (_PRT)
{
Return (IRQM (2))
}
}