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: RESOLVED MOVED
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-12-04 09:45 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

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?
Comment 7 Domenico Iezzi 2019-03-17 17:05:07 UTC
Still occurring to me on linux 5.0.2.

I also noticed that after resuming from suspend, if I run something with the discrete GPU like this:

    DRI_PRIME=1 glxgears -info

the power consumption returns to normal values. This seems to be the same behavior already noticed by @Tolga in comment #1
Comment 8 Martin Peres 2019-12-04 09:45:42 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/issues/461.


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.