TLP: "pcieport" power saving

After reading this thread which links to https://bugs.freedesktop.org/show_bug.cgi?id=103783 , adding pcieport to the TLP default runtime PM driver blacklist setting might fix work around a class of bugs with newer hardware, both for failure to resume from suspend and graphics issues.

I haven’t pushed a package as it’s a single-line change to /etc/default/tlp:

sed -i '/#RUNTIME_PM_DRIVER_BLACKLIST/c RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon pcieport"' /etc/default/tlp

Can anyone test the presence of the pcieport module and the effect of adding this to the blacklist?

The pcieport driver is used for all PCIe ports (unsurprisingly):

ls -l /sys/bus/pci/devices/*/driver
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:00.0/driver -> ../../../bus/pci/drivers/ivb_uncore
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:01.0/driver -> ../../../bus/pci/drivers/pcieport
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:02.0/driver -> ../../../bus/pci/drivers/i915
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:14.0/driver -> ../../../bus/pci/drivers/xhci_hcd
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:16.0/driver -> ../../../bus/pci/drivers/mei_me
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1a.0/driver -> ../../../bus/pci/drivers/ehci-pci
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1b.0/driver -> ../../../bus/pci/drivers/snd_hda_intel
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1c.0/driver -> ../../../bus/pci/drivers/pcieport
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1c.2/driver -> ../../../bus/pci/drivers/pcieport
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1c.4/driver -> ../../../bus/pci/drivers/pcieport
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1d.0/driver -> ../../../bus/pci/drivers/ehci-pci
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1f.0/driver -> ../../../bus/pci/drivers/lpc_ich
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1f.2/driver -> ../../../bus/pci/drivers/ahci
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:00:1f.3/driver -> ../../../bus/pci/drivers/i801_smbus
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:02:00.0/driver -> ../../../../bus/pci/drivers/alx
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:03:00.0/driver -> ../../../../bus/pci/drivers/iwlwifi
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:04:00.0/driver -> ../../../../bus/pci/drivers/rtsx_pci
lrwxrwxrwx 1 root root 0 Jan 16 17:12 /sys/bus/pci/devices/0000:04:00.1/driver -> ../../../../bus/pci/drivers/sdhci-pci
$ lspci
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core Processor Thermal Subsystem (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210 Series Chipset Family Thermal Management Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GK104M [GeForce GTX 680M] (rev ff)
02:00.0 Ethernet controller: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller (rev 13)
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 2230 (rev c4)
04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
04:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
1 Like

On a all intel laptop none of the blacklisted modules are in lsmod - neither is the pcieport - CPU~Dual core Intel Core i7-5600U (-MT-MCP-)

1 Like

this fix is working for me. i reinstalled the tlp package and it was working for a while just with the
newly installed tlp package on 4.14.13-1-MANJARO. Coming out of the suspended state, the laptop
crashed and i had the same issues. Then i applied the fix and i could boot into 4.14.13-1-MANJARO and the laptop didnt crash after a couple of secs.

edit: i also dont have any listed pcieport entries from lsmod | grep pcie

Greetings

1 Like

OK, so the driver is in use for any PCIe “connection” on the system, so this may not be a good “blanket disable” option, though apparently changes introduced in kernel 4.8 have effectively broken bumblebee on >=2015 systems.

This is going to need some testing to see what impact it has on power usage, or whether the GRUB command line (acpi_os=! acpi_osi="Windows 2009") is a better option.

In my limited testing (single machine), adding pcieport to the blacklist made little if any difference to power consumption. It might have been 0.5W but there was too much fluctuation to say for certain. Comparing SATA power management at the same time produced a noticeable power draw difference.

Therefore pcieport might be a good candidate to add the the default list, which people looking for further savings can then edit. Having working hardware by default is more important than 1W power draw (if it’s even that much).

It seams that adding the pcieport to the blacklist solved my issue with the lockscreen tearing and glitching like mad when waking up from suspend to ram (gnome-shell + wayland) ever since I did that it did not glitch anymore - will for sure know in a view more days of careful watching.

2 Likes

Forum kindly sponsored by Bytemark