Bug 85401
Summary: | PCIe ASPM almost completely disabled when BOOT_ARCH[4] is set / PCIe ASPM Not supported (V4): 0x1; Intel series 8 chipset mainboard processors don't reach P-state pc6/pc7 | ||
---|---|---|---|
Product: | ACPI | Reporter: | linux-ide |
Component: | Power-Other | Assignee: | acpi_power-other |
Status: | CLOSED DUPLICATE | ||
Severity: | normal | CC: | lenb |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 3.17 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
fwts --batch output
dmesg output |
Description
linux-ide
2014-10-01 20:50:40 UTC
Created attachment 152171 [details]
fwts --batch output
Canonical (Ubuntu) Firmware Test Suite 14.09 output for ASRock H81 Pro BTC motherboard.
Created attachment 152181 [details]
dmesg output
There seems to be no _OSC issue prohibiting (request failed or not granting) the enablement of ASPM: $ dmesg | grep -e _OSC -e PCIe -e ASPM [ 0.084223] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it [ 0.116621] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.116775] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug PME] [ 0.116874] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability] [ 0.133733] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) [ 0.554012] r8169 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control $ cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic root=/dev/sda1 ro biosdevname=0 intel_pstate=enable ipv6.disable=1 debug ignore_loglevel panic=10 oops=panic The 3.17 04-Oct-2014 mainline kernel is even worse, it disabled all PCIe ASPM on all devices whether or not any kernel pcie_aspm parameter is set: # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.17.0-999-generic root=/dev/sda1 ro biosdevname=0 intel_pstate=enable ipv6.disable=1 debug ignore_loglevel panic=10 pcie_aspm.policy=powersave pcie_aspm=force oops=panic # lspci -vvvv | grep ASPM LnkCap: Port #2, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <256ns, L1 <8us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ # dmesg | grep -e _OSC -e PCIe -e ASPM [ 0.000000] PCIe ASPM is forcibly enabled [ 0.090565] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it [ 0.121461] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.121623] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug PME] [ 0.121726] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability] [ 0.138681] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) When removing the pcie_aspm boot parameters: # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.17.0-999-generic root=/dev/sda1 ro biosdevname=0 intel_pstate=enable ipv6.disable=1 debug ignore_loglevel panic=10 oops=panic # lspci -vvvv | grep ASPM LnkCap: Port #2, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <256ns, L1 <8us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ The 2014-10-04 output was where firmware/BIOS chipset setting "Program PCIe ASPM after OpROM" was set to [Disabled] = PCIe ASPM will be programmed before OpROM. The machine boots UEFI with CSM disabled. After changing firmware/BIOS chipset setting "Program PCIe ASPM after OpROM" from [Disabled] to [Enabled], the results differ: =========== Kernel 3.13 =========== # dmesg | grep -e _OSC -e ASPM [ 0.080511] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it [ 0.113071] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.113223] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug PME] [ 0.113319] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability] [ 0.122196] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic root=/dev/sda1 ro biosdevname=0 intel_pstate=enable ipv6.disabled=1 debug ignore_loglevel panic=10 oops=panic # lspci -vvvv | grep ASPM LnkCap: Port #2, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us LnkCtl: ASPM L0s Enabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ =========================== Kernel 3.13 force powersave =========================== # dmesg | grep -e _OSC -e ASPM [ 0.000000] PCIe ASPM is forcibly enabled [ 0.080443] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it [ 0.113215] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.113379] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug PME] [ 0.113488] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability] [ 0.122094] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic root=/dev/sda1 ro biosdevname=0 intel_pstate=enable ipv6.disabled=1 debug ignore_loglevel panic=10 pcie_aspm.policy=powersave pcie_aspm=force r8168.aspm=1 r8168.eee_enable=1 oops=panic # lspci -vvvv | grep ASPM LnkCap: Port #2, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us LnkCtl: ASPM L0s Enabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us LnkCtl: ASPM L0s Enabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us LnkCtl: ASPM L0s Enabled; RCB 64 bytes Disabled- CommClk+ =============================== Kernel 3.17 mainline 4-Oct-2014 =============================== # dmesg | grep -e _OSC -e ASPM [ 0.085762] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it [ 0.116538] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.116696] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug PME] [ 0.116796] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability] [ 0.126042] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.17.0-999-generic root=/dev/sda1 ro biosdevname=0 intel_pstate=enable ipv6.disabled=1 debug ignore_loglevel panic=10 oops=panic # lspci -vvvv | grep ASPM LnkCap: Port #2, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us LnkCtl: ASPM L0s Enabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ =============================================== Kernel 3.17 mainline 4-Oct-2014 force powersave =============================================== # dmesg | grep -e _OSC -e ASPM [ 0.000000] PCIe ASPM is forcibly enabled [ 0.085767] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it [ 0.116506] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.116664] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug PME] [ 0.116764] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability] [ 0.125997] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported) # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-3.17.0-999-generic root=/dev/sda1 ro biosdevname=0 intel_pstate=enable ipv6.disabled=1 debug ignore_loglevel panic=10 pcie_aspm.policy=powersave pcie_aspm=force r8168.aspm=1 r8168.eee_enable=1 oops=panic # lspci -vvvv | grep ASPM LnkCap: Port #2, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us LnkCtl: ASPM L0s Enabled; RCB 64 bytes Disabled- CommClk- LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+ LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+ Moved to "Power Management" under a new title " pcie_aspm.policy=powersave pcie_aspm=force does not enable L0sL1 (L0s L1) on each ASPM PCIe device". See https://bugzilla.kernel.org/show_bug.cgi?id=85621 |