Подскажите, что изменить в dsdt, чтобы не вылетала следующая ошибка:
$ dmesg | grep ASPM
[ 0.784023] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[ 0.784079] acpi PNP0A08:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[ 1.224704] r8169 0000:05:00.0: can't disable ASPM; OS doesn't have ASPM control
В dsdt в Scope (_SB.PCI0) есть метод, который, как я понимаю, надо исправить, чтобы заработал ASPM, но не знаю что именно:
Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
{
Name (SUPP, Zero)
Name (CTRL, Zero)
If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
{
CreateDWordField (Arg3, Zero, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
If (((SUPP & 0x16) != 0x16))
{
(CTRL &= 0x1E)
}
CTRL &= 0x1D
If (~(CDW1 & One))
{
If ((CTRL & One)) {}
If ((CTRL & 0x04))
{
EPNM = One
}
Else
{
EPNM = Zero
}
If ((CTRL & 0x10)) {}
}
If ((Arg1 != One))
{
CDW1 |= 0x08
}
If ((CDW3 != CTRL))
{
CDW1 |= 0x10
}
CDW3 = CTRL /* \_SB_.PCI0._OSC.CTRL */
Return (Arg3)
}
Else
{
CDW1 |= 0x04
Return (Arg3)
}
}