Bug 108058 - After resuming from suspend, discrete GPU is powered on and can't be turned off
Summary: After resuming from suspend, discrete GPU is powered on and can't be turned off
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-25 12:15 UTC by Domenico Iezzi
Modified: 2019-02-08 02:03 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
kernel log (208.58 KB, text/x-log)
2018-09-25 12:15 UTC, Domenico Iezzi
no flags Details
dmesg, comments at line 947 and 1051 (75.98 KB, text/x-log)
2018-11-22 20:25 UTC, Tolga Cakir
no flags Details
dmidecode Dell M3800 (16.39 KB, text/plain)
2018-11-22 20:25 UTC, Tolga Cakir
no flags Details
lspci Dell M3800 (1.98 KB, text/plain)
2018-11-22 20:26 UTC, Tolga Cakir
no flags Details
lspci verbose Dell M3800 (33.07 KB, text/plain)
2018-11-22 20:26 UTC, Tolga Cakir
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Domenico Iezzi 2018-09-25 12:15:55 UTC
Created attachment 141734 [details]
kernel log

Overall, nouveau works without problem in managing discrete GPU PM, and if I check power consumption using powertop on a fresh boot it reports an average battery discharge rate of ~7W like always.
After I resume the laptop from suspend, /sys/kernel/debug/vgaswitcheroo/switch reports that the device is
dynamically turned off:

0:IGD:+:Pwr:0000:00:02.0
1:DIS: :DynOff:0000:01:00.0

But if I check with powertop, I get a battery discharge rate of ~11W. To better identify the problem, I tried using bumbleebee+bbswitch+nvidia-driver and see what bbswitch module reports. On a fresh boot, it works
ok as the nouveau driver, but after resuming from suspend
/proc/acpi/bbswitch reports that the card is turned ON, and there is no way to power it off:

[root@example user]# cat /proc/acpi/bbswitch 
0000:04:00.0 ON
[root@example user]# tee /proc/acpi/bbswitch <<<OFF
OFF
[root@example user]# cat /proc/acpi/bbswitch 
0000:04:00.0 ON

I attached the kernel log using following parameters when using only nouveau driver (no bumblebee/bbswitch/nvidia): log_buf_len=1M nouveau.debug=debug.

System specs:
Asus Vivobook S551LN
Intel i7 4500U
NVIDIA 840M
Archlinux 4.18.9-arch1-1-ARCH (but affecting older versions, since early 4.x version when i started using linux)
Comment 1 Tolga Cakir 2018-11-22 14:31:32 UTC
I might have the same issue - I posted it under bug 98386. Happens on a Dell M3800, Intel Core i7-4702HQ, Nvidia Quadro K1100M, Arch Linux w/ kernel 4.19.2.

Same as you, after fresh boot I get around  ~7W in idle and after S3 resume I get 15W and more, no matter how long I wait. Contrary to your observations, bbswitch works for me; nouveau doesn't.

I have found out, that echoing lowest pstate (/sys/kernel/debug/dri/*/pstate) after S3 resume solves this issue. Power consumption drops back to 7-8W in idle.

I will post full dmidecode and dmesg in a couple of hours.
Comment 2 Tolga Cakir 2018-11-22 20:25:24 UTC
Created attachment 142575 [details]
dmesg, comments at line 947 and 1051
Comment 3 Tolga Cakir 2018-11-22 20:25:58 UTC
Created attachment 142576 [details]
dmidecode Dell M3800
Comment 4 Tolga Cakir 2018-11-22 20:26:18 UTC
Created attachment 142577 [details]
lspci Dell M3800
Comment 5 Tolga Cakir 2018-11-22 20:26:42 UTC
Created attachment 142578 [details]
lspci verbose Dell M3800
Comment 6 Tolga Cakir 2019-02-08 02:03:29 UTC
No longer occurs under stable kernel 4.20.6. Can you confirm this @Domenico?


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.