linrunner / TLP

TLP - Optimize Linux Laptop Battery Life
https://linrunner.de/tlp
GNU General Public License v2.0
2.74k stars 130 forks source link

RUNTIME_PM_BLACKLIST doesn't work on ThunderBolt3 dock #499

Closed plumlis closed 4 years ago

plumlis commented 4 years ago

Describe the bug

My usb soundcard have some poping noise when using on thunderbolt3 dock. And I found there is a device called 00:16.0 is set to battery saved. I changed it to "bad" in Powertop so problem sloved

Expected behavior

I add this devices( 00:16.0 ) to RUNTIME_PM_BLACKLIST and it seems doesn't work on Thunderblot3 dock device.

To Reproduce

Steps to reproduce the unexpected behavior:

  1. add a thunderbolt3 dock connected device to RUNTIME_PM_BLACKLIST
  2. connect laptop to thunderbolt3 dock
  3. check powetop
  4. found this device still in battery save mode

here is my tlp-stat

--- TLP 1.3.1 --------------------------------------------

+++ Configured Settings: /etc/tlp.conf L0026: TLP_ENABLE="1" defaults.conf L0005: TLP_PERSISTENT_DEFAULT="0" defaults.conf L0006: DISK_IDLE_SECS_ON_AC="0" defaults.conf L0007: DISK_IDLE_SECS_ON_BAT="2" defaults.conf L0008: MAX_LOST_WORK_SECS_ON_AC="15" defaults.conf L0009: MAX_LOST_WORK_SECS_ON_BAT="60" /etc/tlp.conf L0100: CPU_ENERGY_PERF_POLICY_ON_AC="balance_performance" /etc/tlp.conf L0101: CPU_ENERGY_PERF_POLICY_ON_BAT="default" /etc/tlp.conf L0128: SCHED_POWERSAVE_ON_AC="0" /etc/tlp.conf L0129: SCHED_POWERSAVE_ON_BAT="1" defaults.conf L0014: NMI_WATCHDOG="0" defaults.conf L0015: DISK_DEVICES="nvme0n1 sda" defaults.conf L0016: DISK_APM_LEVEL_ON_AC="254 254" defaults.conf L0017: DISK_APM_LEVEL_ON_BAT="128 128" /etc/tlp.conf L0188: DISK_IOSCHED="bfq bfq" /etc/tlp.conf L0198: SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance" /etc/tlp.conf L0199: SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power" /etc/tlp.conf L0219: AHCI_RUNTIME_PM_TIMEOUT="15" /etc/tlp.conf L0226: PCIE_ASPM_ON_AC="performance" /etc/tlp.conf L0227: PCIE_ASPM_ON_BAT="powersave" defaults.conf L0024: RADEON_POWER_PROFILE_ON_AC="default" defaults.conf L0025: RADEON_POWER_PROFILE_ON_BAT="default" defaults.conf L0026: RADEON_DPM_PERF_LEVEL_ON_AC="auto" defaults.conf L0027: RADEON_DPM_PERF_LEVEL_ON_BAT="auto" /etc/tlp.conf L0264: WIFI_PWR_ON_AC="off" /etc/tlp.conf L0265: WIFI_PWR_ON_BAT="on" /etc/tlp.conf L0270: WOL_DISABLE="Y" /etc/tlp.conf L0276: SOUND_POWER_SAVE_ON_AC="1" /etc/tlp.conf L0277: SOUND_POWER_SAVE_ON_BAT="1" /etc/tlp.conf L0283: SOUND_POWER_SAVE_CONTROLLER="Y" defaults.conf L0034: BAY_POWEROFF_ON_AC="0" defaults.conf L0035: BAY_POWEROFF_ON_BAT="0" defaults.conf L0036: BAY_DEVICE="sr0" /etc/tlp.conf L0302: RUNTIME_PM_ON_AC="on" /etc/tlp.conf L0303: RUNTIME_PM_ON_BAT="auto" defaults.conf L0039: RUNTIME_PM_DRIVER_BLACKLIST="amdgpu mei_me nouveau nvidia pcieport radeon" /etc/tlp.conf L0323: USB_AUTOSUSPEND="1" defaults.conf L0041: USB_BLACKLIST_BTUSB="0" defaults.conf L0042: USB_BLACKLIST_PHONE="0" defaults.conf L0043: USB_BLACKLIST_PRINTER="1" defaults.conf L0044: USB_BLACKLIST_WWAN="0" defaults.conf L0045: USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN="0" defaults.conf L0046: RESTORE_DEVICE_STATE_ON_STARTUP="0" /etc/tlp.conf L0437: RESTORE_THRESHOLDS_ON_BAT="1" /etc/tlp.conf L0442: NATACPI_ENABLE="1" /etc/tlp.conf L0443: TPACPI_ENABLE="1" /etc/tlp.conf L0444: TPSMAPI_ENABLE="1" /etc/tlp.conf L0032: TLP_DEFAULT_MODE="BAT" /etc/tlp.conf L0076: CPU_SCALING_GOVERNOR_ON_AC="performance" /etc/tlp.conf L0077: CPU_SCALING_GOVERNOR_ON_BAT="powersave" /etc/tlp.conf L0121: CPU_BOOST_ON_AC="1" /etc/tlp.conf L0122: CPU_BOOST_ON_BAT="0" /etc/tlp.conf L0212: AHCI_RUNTIME_PM_ON_AC="on" /etc/tlp.conf L0213: AHCI_RUNTIME_PM_ON_BAT="auto" /etc/tlp.conf L0309: RUNTIME_PM_BLACKLIST="00:16.0 00:1f.2 00:1f.3 00:1f.4"

+++ System Info System = LENOVO ThinkPad X1 Carbon 5th 20HRCTO1WW BIOS = N1MET61W (1.46 ) Release = Ubuntu 20.04 LTS Kernel = 5.7.0-050700-generic #202005312130 SMP Mon Jun 1 01:33:12 UTC 2020 x86_64 /proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-5.7.0-050700-generic root=UUID=94d436f0-31df-4564-96ba-c415b32216e6 ro quiet splash scsi_mod.use_blk_mq=1 vt.handoff=7 Init system = systemd v245 (245.4-4ubuntu3.1) Boot mode = UEFI

+++ TLP Status State = enabled RDW state = enabled Last run = 20时14分23秒, 3768 sec(s) ago Mode = AC Power source = AC

+++ Processor CPU model = Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = performance /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 400000 [kHz] /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 3900000 [kHz] /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = balance_performance [HWP.EPP] /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power

/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver = intel_pstate /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = performance /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_governors = performance powersave /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq = 400000 [kHz] /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq = 3900000 [kHz] /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_preference = balance_performance [HWP.EPP] /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power

/sys/devices/system/cpu/cpu2/cpufreq/scaling_driver = intel_pstate /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor = performance /sys/devices/system/cpu/cpu2/cpufreq/scaling_available_governors = performance powersave /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq = 400000 [kHz] /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq = 3900000 [kHz] /sys/devices/system/cpu/cpu2/cpufreq/energy_performance_preference = balance_performance [HWP.EPP] /sys/devices/system/cpu/cpu2/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power

/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver = intel_pstate /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor = performance /sys/devices/system/cpu/cpu3/cpufreq/scaling_available_governors = performance powersave /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq = 400000 [kHz] /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq = 3900000 [kHz] /sys/devices/system/cpu/cpu3/cpufreq/energy_performance_preference = balance_performance [HWP.EPP] /sys/devices/system/cpu/cpu3/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power

/sys/devices/system/cpu/intel_pstate/min_perf_pct = 10 [%] /sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%] /sys/devices/system/cpu/intel_pstate/no_turbo = 0 /sys/devices/system/cpu/intel_pstate/turbo_pct = 31 [%] /sys/devices/system/cpu/intel_pstate/num_pstates = 36

/sys/module/workqueue/parameters/power_efficient = Y /proc/sys/kernel/nmi_watchdog = 0

+++ Temperatures /proc/acpi/ibm/thermal = 55 -128 0 0 0 0 0 0 0 0 66 0 0 0 0 0 [°C] /proc/acpi/ibm/fan = 4946 [/min]

+++ File System /proc/sys/vm/laptop_mode = 0 /proc/sys/vm/dirty_writeback_centisecs = 1500 /proc/sys/vm/dirty_expire_centisecs = 1500 /proc/sys/vm/dirty_ratio = 20 /proc/sys/vm/dirty_background_ratio = 10

+++ Storage Devices Devices = nvme0n1 sda

/dev/nvme0n1: Type = NVMe Model = Samsung SSD 960 EVO 1TB
Firmware = 3B7QCXE7 Scheduler = mq-deadline [bfq] none (multi queue)

Runtime PM: control = auto, autosuspend_delay_ms = (not available)

SMART info: Critical Warning: 0x00 Temperature: 43 Celsius Available Spare: 100% Available Spare Threshold: 10% Percentage Used: 1% Data Units Written: 42,892,515 [21.9 TB] Power Cycles: 5,336 Power On Hours: 1,838 Unsafe Shutdowns: 556 Media and Data Integrity Errors: 0

/dev/sda: not present.

+++ AHCI Link Power Management (ALPM) No AHCI-enabled host controller detected.

+++ Intel Graphics /sys/module/i915/parameters/enable_dc = -1 (use per-chip default) /sys/module/i915/parameters/enable_fbc = 1 (enabled) /sys/module/i915/parameters/enable_psr = -1 (use per-chip default) /sys/module/i915/parameters/modeset = -1 (use per-chip default)

/sys/class/drm/card0/gt_min_freq_mhz = 300 [MHz] /sys/class/drm/card0/gt_max_freq_mhz = 1150 [MHz] /sys/class/drm/card0/gt_boost_freq_mhz = 1150 [MHz] /sys/kernel/debug/dri/0/i915_ring_freq_table: 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 1050 1100 1150 [MHz]

+++ Wireless bluetooth = on wifi = on wwan = off (software)

hci0(btusb) : bluetooth, not connected wlp4s0(iwlwifi) : wifi, connected, power management = off wwan0(cdc_mbim) : wwan, not connected

+++ Audio /sys/module/snd_hda_intel/parameters/power_save = 1 /sys/module/snd_hda_intel/parameters/power_save_controller = Y

+++ PCIe Active State Power Management /sys/module/pcie_aspm/parameters/policy = [default] performance powersave powersupersave (using BIOS preferences)

+++ Runtime Power Management Device blacklist = 00:16.0 00:1f.2 00:1f.3 00:1f.4 Driver blacklist = amdgpu mei_me nouveau nvidia pcieport radeon

/sys/bus/pci/devices/0000:00:00.0/power/control = on (0x060000, Host bridge, skl_uncore) /sys/bus/pci/devices/0000:00:02.0/power/control = on (0x030000, VGA compatible controller, i915) /sys/bus/pci/devices/0000:00:08.0/power/control = on (0x088000, System peripheral, no driver) /sys/bus/pci/devices/0000:00:14.0/power/control = on (0x0c0330, USB controller, xhci_hcd) /sys/bus/pci/devices/0000:00:14.2/power/control = on (0x118000, Signal processing controller, intel_pch_thermal) /sys/bus/pci/devices/0000:00:16.0/power/control = on (0x078000, Communication controller, mei_me) /sys/bus/pci/devices/0000:00:1c.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:00:1c.2/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:00:1c.4/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:00:1d.0/power/control = on (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:00:1f.0/power/control = on (0x060100, ISA bridge, no driver) /sys/bus/pci/devices/0000:00:1f.2/power/control = auto (0x058000, Memory controller, no driver) /sys/bus/pci/devices/0000:00:1f.3/power/control = auto (0x040300, Audio device, snd_hda_intel) /sys/bus/pci/devices/0000:00:1f.4/power/control = auto (0x0c0500, SMBus, i801_smbus) /sys/bus/pci/devices/0000:00:1f.6/power/control = on (0x020000, Ethernet controller, e1000e) /sys/bus/pci/devices/0000:02:00.0/power/control = on (0xff0000, Unassigned class [ff00], rtsx_pci) /sys/bus/pci/devices/0000:04:00.0/power/control = on (0x028000, Network controller, iwlwifi) /sys/bus/pci/devices/0000:05:00.0/power/control = on (0x010802, Non-Volatile memory controller, nvme) /sys/bus/pci/devices/0000:06:00.0/power/control = on (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:07:00.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:07:01.0/power/control = on (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:07:02.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:07:04.0/power/control = on (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:08:00.0/power/control = on (0x088000, System peripheral, thunderbolt) /sys/bus/pci/devices/0000:09:00.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:0a:00.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:0a:01.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:0a:02.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:0a:03.0/power/control = auto (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:0a:04.0/power/control = on (0x060400, PCI bridge, pcieport) /sys/bus/pci/devices/0000:0b:00.0/power/control = on (0x0c0330, USB controller, xhci_hcd) /sys/bus/pci/devices/0000:0d:00.0/power/control = on (0x0c0330, USB controller, xhci_hcd)

+++ USB Autosuspend = enabled Device whitelist = (not configured) Device blacklist = (not configured) Bluetooth blacklist = disabled Phone blacklist = disabled WWAN blacklist = disabled

Bus 006 Device 002 ID 17ef:3069 control = auto, autosuspend_delay_ms = 2000 -- Lenovo ThinkPad TBT3 LAN (r8152) Bus 006 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub) Bus 005 Device 003 ID 0b05:183c control = on, autosuspend_delay_ms = 2000 -- ASUSTek Computer, Inc. Xonar U7 MKII (snd-usb-audio, usbhid) Bus 005 Device 002 ID 04b4:0101 control = on, autosuspend_delay_ms = 2000 -- Cypress Semiconductor Corp. Keyboard/Hub (usbhid) Bus 005 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub) Bus 004 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub) Bus 003 Device 004 ID 17ef:3066 control = on, autosuspend_delay_ms = 2000 -- Lenovo ThinkPad Thunderbolt 3 Dock MCU (usbhid) Bus 003 Device 007 ID 046d:c52b control = on, autosuspend_delay_ms = 2000 -- Logitech, Inc. Unifying Receiver (usbhid) Bus 003 Device 006 ID 056e:00fc control = on, autosuspend_delay_ms = 2000 -- Elecom Co., Ltd (usbhid) Bus 003 Device 005 ID 1a40:0101 control = auto, autosuspend_delay_ms = 0 -- Terminus Technology Inc. Hub (hub) Bus 003 Device 003 ID 0424:2514 control = auto, autosuspend_delay_ms = 0 -- Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub (hub) Bus 003 Device 002 ID 17ef:306a control = on, autosuspend_delay_ms = 2000 -- Lenovo ThinkPad Thunderbolt 3 Dock USB Audio (snd-usb-audio, usbhid) Bus 003 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub) Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub) Bus 001 Device 006 ID 138a:0097 control = auto, autosuspend_delay_ms = 2000 -- Validity Sensors, Inc. (no driver) Bus 001 Device 005 ID 04f2:b5ce control = auto, autosuspend_delay_ms = 2000 -- Chicony Electronics Co., Ltd Integrated Camera (uvcvideo) Bus 001 Device 004 ID 8087:0a2b control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. (btusb) Bus 001 Device 018 ID 1199:9079 control = auto, autosuspend_delay_ms = 2000 -- Sierra Wireless, Inc. Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A (cdc_mbim) Bus 001 Device 002 ID 04f2:b5cf control = auto, autosuspend_delay_ms = 2000 -- Chicony Electronics Co., Ltd Integrated IR Camera (uvcvideo) Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)

+++ Battery Features: Charge Thresholds and Recalibrate natacpi = active (data, thresholds) tpacpi-bat = active (recalibrate) tp-smapi = inactive (ThinkPad not supported)

+++ ThinkPad Battery Status: BAT0 (Main / Internal) /sys/class/power_supply/BAT0/manufacturer = SMP /sys/class/power_supply/BAT0/model_name = 01AV430 /sys/class/power_supply/BAT0/cycle_count = 235 /sys/class/power_supply/BAT0/energy_full_design = 57020 [mWh] /sys/class/power_supply/BAT0/energy_full = 54170 [mWh] /sys/class/power_supply/BAT0/energy_now = 53080 [mWh] /sys/class/power_supply/BAT0/power_now = 0 [mW] /sys/class/power_supply/BAT0/status = Unknown (threshold may prevent charging)

/sys/class/power_supply/BAT0/charge_start_threshold = 96 [%] /sys/class/power_supply/BAT0/charge_stop_threshold = 100 [%] tpacpi-bat.BAT0.forceDischarge = 0

Charge = 98.0 [%] Capacity = 95.0 [%]

linrunner commented 4 years ago

The actual expected result when blacklisting a device isn't that the device (magically) works, but rather that power saving gets disabled, which is obviously the case (control=on means disabled, control=auto means enabled):

/sys/bus/pci/devices/0000:00:16.0/power/control = on (0x078000, Communication controller, mei_me)

However, the whole blacklisting is redundant, because TLP will set control=on for all PCIe devices on AC power anyway, it's the default config:

/etc/tlp.conf L0302: RUNTIME_PM_ON_AC="on"

What i do not understand at all is what the intel management engine (driver mei_me) has to do with the problem.

EDIT: your USB sound card(s) are blacklisted already (implicitly because of the usbhid driver):

Bus 005 Device 003 ID 0b05:183c control = on, autosuspend_delay_ms = 2000 -- ASUSTek Computer, Inc. Xonar U7 MKII (snd-usb-audio, usbhid) Bus 003 Device 002 ID 17ef:306a control = on, autosuspend_delay_ms = 2000 -- Lenovo ThinkPad Thunderbolt 3 Dock USB Audio (snd-usb-audio, usbhid)

Please be so kind and post long outputs via https://gist.github.com/ (as requested in the bug report template). Thanks for your understanding

plumlis commented 4 years ago

Sorry for the long outputs.

I know that RUNTIME_PM_ON_AC="on" is default setting and it shoud be work for all PCIe devices.

But actually it doesn't work on thunderbolt dock devices.

Screenshot-20200609201832-1163x954

You can see the "good" parts PCI devices, they are all about thunderblot3 dock.

no matter I tried tlp ac / tlp bat they are still on "Good". It seems TLP doesn't work on this.

linrunner commented 4 years ago

Powertop can generate an html report, you may view it in a browser too:

sudo powertop -r report.html

I suggest your create two reports:

  1. The exact state TLP produces on boot
  2. With your manual change(s) to solve the audio problem

Attach the results as files.

plumlis commented 4 years ago

Here are the reports.

powertop.zip

with tlp naming is The exact state TLP produces on boot

another one is with manual change to solve the audio problem.

linrunner commented 4 years ago

OK, the difference is as expected after setting the device to "bad" manually:

echo 'auto' > '/sys/bus/pci/devices/0000:00:16.0/power/control';

The question is why the blacklisting fails for both driver and device.

Please provide a trace for boot an AC power – via https://gist.github.com/ please.

https://linrunner.de/tlp/support/index.html#trace-mode

plumlis commented 4 years ago

Thanks for your reply Here is my logfile

https://gist.github.com/plumlis/8c4fb5197e38607542b8f5eb7e4e549e

linrunner commented 4 years ago

So for your test case blacklisting works as designed. The device address based rule acts and no change is applied:

AC > BAT

21:11:38 plum-laptop tlp[13593]: set_runtime_pm(1).bloack_address: /sys/bus/pci/devices/0000:00:16.0 [0x078000]

BAT > AC

13 21:11:57 plum-laptop tlp[14175]: set_runtime_pm(0).bloack_address: /sys/bus/pci/devices/0000:00:16.0 [0x078000]

Compare with the other log entries with 'rc=0', where TLP actually writes to control (successful).

linrunner commented 4 years ago

But i asked you for the trace of a different test case i.e. booting on AC power. Can you provide that trace too?

plumlis commented 4 years ago

Thank you for your reply.

Here are more logfiles

Boot on AC Power with Thunderblot3 Dock connected ( Blacklist on)

https://gist.github.com/plumlis/8e25a20777cfa02c467d76d68f03158f

Boot on AC Power with Thunderblot3 Dock connected ( Remove Blacklist ) https://gist.github.com/plumlis/9a814c44f95ccbcd3ce9949b0dc90e9f

Both of them don't change the status of device 0000:00:16.0, Still "Good" in Powertop.

linrunner commented 4 years ago

Both of your boot test cases hit a blacklist:

  1. [Blacklist on] Device in RUNTIME_PM_DRIVER

    14 21:26:35 plum-laptop tlp[1871]: set_runtime_pm(0).bloack_address: /sys/bus/pci/devices/0000:00:16.0 [0x078000]

  2. [Remove Blacklist] But device driver _meime still in RUNTIME_PM_DRIVER_BLACKLIST

    14 21:34:50 plum-laptop tlp[1366]: set_runtime_pm(0).black_driver: /sys/bus/pci/devices/0000:00:16.0 [0x078000]

Conclusion: auto is in fact the kernel driver default and blacklisting just preserves it (works as designed).

Next step: remove _meime from RUNTIME_PM_DRIVER_BLACKLIST, reboot and provide trace.

plumlis commented 4 years ago

Actually I haven't enable RUNTIME_PM_DRIVER_BLACKLIST before So I made these logs

With default RUNTIME_PM_DRIVER_BLACKLIST enabled ,"mei_me" included. https://gist.github.com/plumlis/570bc3a167cc5edcd3a4bf7f6d04a7ec

RUNTIME_PM_DRIVER_BLACKLIST enabled, without "mei_me" https://gist.github.com/plumlis/bcc91b06910d7ecea7e6e68c2c1c34f2

Finally, With

RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia pcieport radeon"

and devices/0000:00:16.0 is set to "Bad" in Powertop.

linrunner commented 4 years ago

Very well. If you consider this solved now, feel free to close.

Actually I haven't enable RUNTIME_PM_DRIVER_BLACKLIST before

Of course, but it's enabled by default and _meime was added as a workaround for shutdown hangs. The line must be uncommented and changed to deviate from the intrinsic default. I know it's a bit unintuitive ...

plumlis commented 4 years ago

Thank you for your help. Issue sloved.