You are not logged in.

#26 2018-03-09 21:47:41

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,544

Re: Lenovo X1 Carbon Gen6: CPU C states

Did a full reinstall with vanilla settings, using tlp - C8 package state working now.

Updated to 1.12 BIOS, C8 still working.

Offline

#27 2018-03-10 00:01:26

PastExcitement
Member
Registered: 2018-03-01
Posts: 24

Re: Lenovo X1 Carbon Gen6: CPU C states

I'm able to get into pc10 by disabling the memory card device in the BIOS. Reported by PowerTop 2.9 and Arch Linux with 4.15.7-1-ARCH. Could someone else with X1C6 verify?


Processor Idle State Report
Package	0
 	 
 	 
 	 
C2 (pc2)	6.1%
C3 (pc3)	7.9%
C6 (pc6)	1.2%
C7 (pc7)	0.2%
C8 (pc8)	23.3%
C9 (pc9)	1.1%
C10 (pc10)	18.0%
Core 0
 	 
 	 
 	 
 	 
C3 (cc3)	0.0%
C6 (cc6)	0.6%
C7 (cc7)	83.4%
 	 
 	 
 	 
Core 1
 	 
 	 
 	 
 	 
C3 (cc3)	0.0%
C6 (cc6)	0.8%
C7 (cc7)	87.6%
 	 
 	 
 	 
Core 2
 	 
 	 
 	 
 	 
C3 (cc3)	0.1%
C6 (cc6)	1.3%
C7 (cc7)	88.0%
 	 
 	 
 	 
Core 3
 	 
 	 
 	 
 	 
C3 (cc3)	0.0%
C6 (cc6)	0.6%
C7 (cc7)	80.5%
 	 
 	 
 	 
GPU 1661614128
 	 
Powered On	1.9%
RC6	98.1%
RC6p	0.0%
RC6pp	0.0%
 	 
 	 
 	 
 	 
 	 
 	CPU	0	CPU	4
C0 active	0.8%	 	0.8%	 
POLL	0.0%	0.0 ms	0.0%	0.0 ms
C1E	1.0%	4.4 ms	0.0%	0.8 ms
 	 	 	 
C3	0.0%	0.2 ms	0.0%	0.4 ms
C6	0.4%	0.7 ms	0.4%	1.3 ms
C7s	0.0%	0.0 ms	0.0%	1.4 ms
C8	9.5%	3.4 ms	9.6%	5.2 ms
C9	0.0%	0.0 ms	0.0%	0.0 ms
C10	86.0%	15.8 ms	78.6%	15.9 ms
 	CPU	1	CPU	5
C0 active	0.8%	 	0.9%	 
POLL	0.0%	0.0 ms	0.0%	0.0 ms
C1E	0.8%	8.0 ms	0.1%	2.2 ms
 	 	 	 
C3	0.0%	0.2 ms	0.0%	0.1 ms
C6	0.2%	0.8 ms	0.8%	1.1 ms
C7s	0.0%	2.8 ms	0.0%	4.1 ms
C8	9.3%	4.5 ms	8.6%	3.8 ms
C9	0.0%	0.0 ms	0.0%	0.0 ms
C10	82.6%	15.4 ms	86.9%	15.0 ms
 	CPU	2	CPU	6
C0 active	0.9%	 	0.9%	 
POLL	0.0%	0.0 ms	0.0%	0.0 ms
C1E	0.0%	0.0 ms	0.1%	1.4 ms
 	 	 	 
C3	0.1%	0.4 ms	0.0%	0.3 ms
C6	1.1%	1.5 ms	0.5%	1.0 ms
C7s	0.0%	0.1 ms	0.1%	2.1 ms
C8	12.4%	3.8 ms	13.5%	4.1 ms
C9	0.0%	0.0 ms	0.0%	0.0 ms
C10	80.3%	14.5 ms	82.2%	13.7 ms
 	CPU	3	CPU	7
C0 active	1.0%	 	1.0%	 
POLL	0.0%	0.0 ms	0.0%	0.0 ms
C1E	0.0%	0.7 ms	0.0%	0.7 ms
 	 	 	 
C3	0.0%	0.2 ms	0.0%	0.3 ms
C6	0.4%	0.7 ms	0.4%	1.0 ms
C7s	0.0%	0.7 ms	0.0%	4.2 ms
C8	12.3%	4.4 ms	12.8%	4.3 ms
C9	0.0%	1.3 ms	0.0%	0.0 ms
C10	72.0%	14.3 ms	83.1%	12.8 ms
 				

Here is a turbostat exerpt when I just turn the display off with

 xset dpms force off; sleep 1m ; xset dpms force on 
Pkg%pc2	Pkg%pc3	Pkg%pc6	Pkg%pc7	Pkg%pc8	Pkg%pc9	Pk%pc10
4.88	4.35	7.32	0.24	2.57	0.86	70.05
4.88	4.35	7.32	0.24	2.57	0.86	70.05

I also remembered that I also configured some settings for i915 in /etc/modprobe.d/i915.conf:

$ cat /etc/modprobe.d/i915.conf 
options i915 enable_rc6=7 enable_fbc=1 semaphores=1 enable_guc_loading=1 enable_guc_submission=1

Last edited by PastExcitement (2018-03-10 02:00:55)

Offline

#28 2018-03-10 06:10:50

johannesg00
Member
Registered: 2010-11-30
Posts: 74

Re: Lenovo X1 Carbon Gen6: CPU C states

@PastExcitement: Thanks for testing! Did you add the i915.conf to your initramfs? Otherwise HuC/GuC firmware loading doesn't work: https://wiki.archlinux.org/index.php/In … re_loading

Offline

#29 2018-03-10 13:23:32

PastExcitement
Member
Registered: 2018-03-01
Posts: 24

Re: Lenovo X1 Carbon Gen6: CPU C states

@johannesg00: I don't recall needing to do any additional configuration.

From dmesg:

[   34.060840] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
[   34.071392] [drm] GuC: Loaded firmware i915/kbl_guc_ver9_14.bin (version 9.14)
[   34.084528] i915 0000:00:02.0: GuC submission enabled (firmware i915/kbl_guc_ver9_14.bin [version 9.14])
[  140.688240] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
[  140.698546] [drm] GuC: Loaded firmware i915/kbl_guc_ver9_14.bin (version 9.14)
[  140.711673] i915 0000:00:02.0: GuC submission enabled (firmware i915/kbl_guc_ver9_14.bin [version 9.14])

Also,

# cat /sys/kernel/debug/dri/0/i915_huc_load_status
HuC firmware: i915/kbl_huc_ver02_00_1810.bin
	status: fetch SUCCESS, load SUCCESS
	version: wanted 2.0, found 2.0
	header: offset 0, size 128
	uCode: offset 128, size 218304
	RSA: offset 218432, size 256

HuC status 0x00006080:
# cat /sys/kernel/debug/dri/0/i915_guc_load_status
GuC firmware: i915/kbl_guc_ver9_14.bin
	status: fetch SUCCESS, load SUCCESS
	version: wanted 9.14, found 9.14
	header: offset 0, size 128
	uCode: offset 128, size 142272
	RSA: offset 142400, size 256

GuC status 0x800330ed:
	Bootrom status = 0x76
	uKernel status = 0x30
	MIA Core status = 0x3

Scratch registers:
	 0: 	0xf0000000
	 1: 	0x1
	 2: 	0xfede7000
	 3: 	0x5f5e100
	 4: 	0x600
	 5: 	0xcdfd3
	 6: 	0x0
	 7: 	0x8
	 8: 	0x3
	 9: 	0x70240
	10: 	0x0
	11: 	0x0
	12: 	0x0
	13: 	0x0
	14: 	0x0
	15: 	0x0

Offline

#30 2018-03-11 14:26:34

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: Lenovo X1 Carbon Gen6: CPU C states

@PastExcitement: Which memory card device is in the X1G6? Does it work if you disable the cardreader in the sysfs instead of BIOS? By the way, kernel 4.15.8 has this commit:

* 77a4aeb4ce78 mmc: sdhci-pci: Fix S0i3 for Intel BYT-based controllers

Last edited by progandy (2018-03-11 14:27:49)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#31 2018-03-11 19:30:56

PastExcitement
Member
Registered: 2018-03-01
Posts: 24

Re: Lenovo X1 Carbon Gen6: CPU C states

@progandy: The X1C6 appears to have a Realtek Semiconductor Corp. memory card reader. However, I re-enabled it, upgraded the kernel to 4.15.8, and powertop is reporting quite a bit less power used by it (over 2W with 4.15.7 to 286 mW with 4.15.8). I'm not sure if that commit you mentioned was related, but I do see a noticeable decrease it power used by that device (at least based on powertop).

I haven't tried disabling it via sysfs. I suppose I could look into that.

Offline

#32 2018-03-11 19:32:40

johannesg00
Member
Registered: 2010-11-30
Posts: 74

Re: Lenovo X1 Carbon Gen6: CPU C states

@PastExcitement: Can you still enter pc10 with the reader turned on?

Offline

#33 2018-03-11 19:44:40

PastExcitement
Member
Registered: 2018-03-01
Posts: 24

Re: Lenovo X1 Carbon Gen6: CPU C states

Power appears to be 0mW for the memory card reader with the command:

echo "2-3" | sudo tee /sys/bus/usb/drivers/usb/unbind

Offline

#34 2018-03-11 20:07:20

PastExcitement
Member
Registered: 2018-03-01
Posts: 24

Re: Lenovo X1 Carbon Gen6: CPU C states

@johannesg00: With the reader turned on, turbostat is still reporting pc10 when the display is off:

 # sleep 1; xset dpms force off; sleep 1m ; xset dpms force on
# turbostat --show Pkg%pc2,Pkg%pc3,Pkg%pc6,Pkg%pc7,Pkg%pc8,Pkg%pc9,Pkg%pc10
...
Pkg%pc2	Pkg%pc3	Pkg%pc6	Pkg%pc7	Pkg%pc8	Pkg%pc9	Pk%pc10
3.78	3.61	0.11	0.00	5.18	0.00	75.89
3.78	3.61	0.11	0.00	5.18	0.00	75.89

Last edited by PastExcitement (2018-03-11 20:07:54)

Offline

#35 2018-03-11 20:11:43

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: Lenovo X1 Carbon Gen6: CPU C states

So it looks like it should work now pretty well. Now I'll just have to decide if a 14" screen is enough for me, I still prefer 15.6 smile


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#36 2018-03-20 00:24:39

PastExcitement
Member
Registered: 2018-03-01
Posts: 24

Re: Lenovo X1 Carbon Gen6: CPU C states

From https://forums.lenovo.com/t5/Linux-Disc … rue#M10682, after adding the kernel parameter

acpi.ec_no_wakeup=1

my X1C6 went into pc10 almost 100% during s2idle.

Pkg%pc2	Pkg%pc3	Pkg%pc6	Pkg%pc7	Pkg%pc8	Pkg%pc9	Pk%pc10
0.25	0.04	0.04	0.00	1.19	0.00	98.02
0.25	0.04	0.04	0.00	1.19	0.00	98.02

Offline

Board footer

Powered by FluxBB