You are not logged in.

#1 2017-04-10 13:26:42

Taijian
Member
Registered: 2016-04-10
Posts: 74

Power Management on Alienware 15R3 (Kaby Lake)

Dear knowledgeable Archers, I am looking for help figuring out a power management issue with my new Alienware 15R3.

The problem is that under normal operations the laptop will not enter any power state lower than pc2 (as per powertop). This is with me running linux-mainline to benefit from the recent nvme power management improvements to mainline. It also seems that the dedicated AMD gpu will not power off, even when not in use. I can deduce this from the fact that force-disabling it via acpi-call does allow the cpu to go to power state pc3. It will not, however, go any lower than that.

Does any one here have any good ideas of what next steps I should take? Is this an issue to address with kernel devs? Dell/Alienware to upgrade their UEFI? Pray to $DEITY for $BUGFIX?

Any help is really appreciated!

$ neofetch 
                   -`                    gunnar@alien-arch 
                  .o+`                   ----------------- 
                 `ooo/                   Model: Alienware 15 R3 1.0.8 
                `+oooo:                  OS: Arch Linux x86_64 
               `+oooooo:                 Kernel: 4.11.0-rc6-mainline 
               -+oooooo+:                Uptime: 1 minute 
             `/:-:++oooo+:               Packages: 1282 
            `/++++/+++++++:              Shell: bash 4.4.12 
           `/++++++++++++++:             Resolution: 1920x1080 
          `/+++ooooooooooooo/`           DE: GNOME 
         ./ooosssso++osssssso+`          Theme: Flat-Plat-Blue-light 
        .oossssso-````/ossssss+`         Icons: Hicolor 
       -osssssso.      :ssssssso.        Terminal: tilix 
      :osssssss/        osssso+++.       CPU: i7-7700HQ (4) @ 2.8GHz 
     /ossssssss/        +ssssooo/-       GPU: Intel Kabylake GT2 
   `/ossssso+/:-        -:/+osssso+-     GPU: AMD Radeon RX 470/480 
  `+sso+:-`                 `.-/+oso:    Memory: 939MiB / 15921MiB 
 `++:.                           `-/+/   Disk (/): 15G / 30G (52%) 
 .`                                 `/ 
#lspci -vv (shortened)
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:5910] (rev 05)
	Subsystem: Dell Device [1028:0774]
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 05) (prog-if 00 [Normal decode])
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
	Kernel driver in use: pcieport
	Kernel modules: shpchp
00:01.2 PCI bridge: Intel Corporation Skylake PCIe Controller (x4) (rev 05) (prog-if 00 [Normal decode])
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled+ CommClk-
	Kernel driver in use: pcieport
	Kernel modules: shpchp
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04) (prog-if 00 [VGA controller])
	Subsystem: Dell Device 0774
	Kernel driver in use: i915
	Kernel modules: i915
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 05)
	Subsystem: Dell Device 0774
	Kernel driver in use: proc_thermal
	Kernel modules: processor_thermal_device
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) (prog-if 30 [XHCI])
	Subsystem: Dell Device 0774
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci_pci
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
	Subsystem: Dell Device 0774
	Kernel driver in use: intel_pch_thermal
	Kernel modules: intel_pch_thermal
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
	Subsystem: Dell Device 0774
	Kernel driver in use: mei_me
	Kernel modules: mei_me
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31) (prog-if 01 [AHCI 1.0])
	Subsystem: Dell Device 0774
	Kernel driver in use: ahci
	Kernel modules: ahci
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1) (prog-if 00 [Normal decode])
	LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk-
	Kernel driver in use: pcieport
	Kernel modules: shpchp
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #6 (rev f1) (prog-if 00 [Normal decode])
	LnkCtl:	ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
	Kernel driver in use: pcieport
	Kernel modules: shpchp
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1) (prog-if 00 [Normal decode])
	LnkCtl:	ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
	Kernel driver in use: pcieport
	Kernel modules: shpchp
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
	Subsystem: Dell Device 0774
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
	Subsystem: Dell Device 0774
00:1f.3 Audio device: Intel Corporation Device a171 (rev 31)
	Subsystem: Dell Device 0774
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
	Subsystem: Dell Device 0774
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] (rev c5) (prog-if 00 [VGA controller])
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480]
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aaf0
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device aaf0
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk-
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
3c:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
	Subsystem: Bigfoot Networks, Inc. Device 1435
	LnkCtl:	ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
	Kernel driver in use: ath10k_pci
	Kernel modules: ath10k_pci
3d:00.0 Non-Volatile memory controller: Toshiba America Info Systems Device 0115 (rev 01) (prog-if 02 [NVM Express])
	Subsystem: Toshiba America Info Systems Device 0001
	LnkCtl:	ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
	Kernel driver in use: nvme
	Kernel modules: nvme
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0bda:58c2 Realtek Semiconductor Corp. 
Bus 001 Device 003: ID 0cf3:e300 Qualcomm Atheros Communications 
Bus 001 Device 002: ID 187c:0530 Alienware Corporation 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Offline

#2 2017-04-13 08:51:58

Taijian
Member
Registered: 2016-04-10
Posts: 74

Re: Power Management on Alienware 15R3 (Kaby Lake)

Further investigation has led me to this:

$ dmesg | grep amdgpu
[    0.000000] Command line: initrd=\intel-ucode.img initrd=\initramfs-linux-mainline.img cryptdevice=UUID=9efc9734-2965-440b-85f6-ebc4e1bfd35f:olvm:allow-discards root=/dev/mapper/alien-root rw quiet loglevel=3 amdgpu.aspm=1 amdgpu.dpm=1
[    0.000000] Kernel command line: initrd=\intel-ucode.img initrd=\initramfs-linux-mainline.img cryptdevice=UUID=9efc9734-2965-440b-85f6-ebc4e1bfd35f:olvm:allow-discards root=/dev/mapper/alien-root rw quiet loglevel=3 amdgpu.aspm=1 amdgpu.dpm=1
[    2.495551] [drm] amdgpu kernel modesetting enabled.
[    2.496234] amdgpu 0000:01:00.0: enabling device (0000 -> 0003)
[    2.647821] amdgpu 0000:01:00.0: VRAM: 8192M 0x0000000000000000 - 0x00000001FFFFFFFF (8192M used)
[    2.647822] amdgpu 0000:01:00.0: GTT: 8192M 0x0000000200000000 - 0x00000003FFFFFFFF
[    2.647881] [drm] amdgpu: 8192M of VRAM memory ready
[    2.647882] [drm] amdgpu: 8192M of GTT memory ready.
[    2.649093] amdgpu 0000:01:00.0: amdgpu: using MSI.
[    2.649103] [drm] amdgpu: irq initialized.
[    2.649133] amdgpu: [powerplay] amdgpu: powerplay sw initialized
[    2.649460] [drm] amdgpu atom DIG backlight initialized
[    2.649641] amdgpu 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000200000008, cpu addr 0xffff880477363008
[    2.649695] amdgpu 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000200000018, cpu addr 0xffff880477363018
[    2.649715] amdgpu 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000200000028, cpu addr 0xffff880477363028
[    2.649750] amdgpu 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000200000038, cpu addr 0xffff880477363038
[    2.649768] amdgpu 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000200000048, cpu addr 0xffff880477363048
[    2.649791] amdgpu 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000200000058, cpu addr 0xffff880477363058
[    2.649816] amdgpu 0000:01:00.0: fence driver on ring 6 use gpu addr 0x0000000200000068, cpu addr 0xffff880477363068
[    2.649833] amdgpu 0000:01:00.0: fence driver on ring 7 use gpu addr 0x0000000200000078, cpu addr 0xffff880477363078
[    2.649853] amdgpu 0000:01:00.0: fence driver on ring 8 use gpu addr 0x0000000200000088, cpu addr 0xffff880477363088
[    2.649869] amdgpu 0000:01:00.0: fence driver on ring 9 use gpu addr 0x0000000200000098, cpu addr 0xffff880477363098
[    2.649913] amdgpu 0000:01:00.0: fence driver on ring 10 use gpu addr 0x00000002000000a8, cpu addr 0xffff8804773630a8
[    2.649932] amdgpu 0000:01:00.0: fence driver on ring 11 use gpu addr 0x00000002000000b8, cpu addr 0xffff8804773630b8
[    2.650312] amdgpu 0000:01:00.0: fence driver on ring 12 use gpu addr 0x0000000001165420, cpu addr 0xffffc90002a5a420
[    2.650412] amdgpu 0000:01:00.0: fence driver on ring 13 use gpu addr 0x00000002000000d8, cpu addr 0xffff8804773630d8
[    2.650428] amdgpu 0000:01:00.0: fence driver on ring 14 use gpu addr 0x00000002000000e8, cpu addr 0xffff8804773630e8
[    2.690518] amdgpu: [powerplay] [AVFS] Something is broken. See log!
[    2.692410] amdgpu: [powerplay] Can't find requested voltage id in vdd_dep_on_sclk table!
[    3.206787] amdgpu 0000:01:00.0: fb1: amdgpudrmfb frame buffer device
[    3.210050] [drm] Initialized amdgpu 3.10.0 20150101 for 0000:01:00.0 on minor 1
[    9.380785] [drm:amdgpu_suspend [amdgpu]] *ERROR* suspend of IP block <vce_v3_0> failed -110
[    9.937129] amdgpu 0000:01:00.0: GPU pci config reset

So apparently there is some problem with the amdgpu kernel driver - but what can I do about that? Anybody here knowledgeable about these things?

Offline

#3 2017-04-13 09:29:57

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,678

Re: Power Management on Alienware 15R3 (Kaby Lake)

AFAIK (take with a grain of salt) the HQ processors aren't really supposed to be able to go into higher pstates and the higher ones are usually used specifically by the low energy model variants. Some light searching didn't bring up anything on whether this assumption is correct or not

Online

#4 2017-04-13 09:52:35

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Power Management on Alienware 15R3 (Kaby Lake)

My take on HQ cpus is that they allow for a higher TDP which means higher clock speeds, but that doesn't mean they can't make use of deeper package c-states.

Since you have already started using powertop, go to the tunables tab and see if toggling some "bad" tunables will allow your cpu to go into deeper package c-states. What may be preventing your cpu from using more package c-states can be things like sata alpm or a usb device that needs autosuspend to be enabled, or as you suspect the dGPU might have some influence.

Regarding the dgpu not powering down, you might want to look in upstream's bug tracker[1] and submit a bug there if no one has reported a similar problem yet.

[1] https://bugs.freedesktop.org/buglist.cg … esolution=---


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#5 2017-04-13 10:18:16

Taijian
Member
Registered: 2016-04-10
Posts: 74

Re: Power Management on Alienware 15R3 (Kaby Lake)

Unfortunately fiddling with powertop does not seem to do anything w.r.t. c-states (it does lower overall power consumption slightly, but that was not what I was going for, here).

I guess I'll try filing a bug report upstream, then. Thank you!

Offline

Board footer

Powered by FluxBB