Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Oct 2022 11:52:47 -0400
From:      Lester <lesterz@gmail.com>
To:        freebsd-acpi@freebsd.org
Subject:   How to get deeper C states working?
Message-ID:  <CABSuQKNKDCs7ZTehiKSy5_df5kFFVoHZihoBODPeBg%2BVfr=0Fg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--000000000000c3b10b05ec2e5f4d
Content-Type: text/plain; charset="UTF-8"

Hi,

I'm using FreeBSD 13.1 on a Thinkpad T420 and noticed 1) with AC plugged in
I only get C1 and C2 recognized 2) with only battery I get C1, C2 and C3. I
also have Debian Linux installed on the same machine, under which I can get
C6 and C7 too (I noticed there's a ssdt6 for Cpu0Cst which defines all the
C states).

I was wondering if Debian has some SSDT override that provides the
additional states? From reading FreeBSD's acpi doc, I got the sense that I
can override the DSDT, but don't know what I need to change, and how to get
all the override files combined into a single aml file...

Questions: 1) How can I get C3 working on AC? 2) How can I get C6 and C7
working too? I'm sharing my acpidump results in this folder:
https://drive.google.com/drive/folders/1q0pY_2fO96RcQCN929sLLtYPpiokVTC3?usp=sharing

Many thanks!

== AC
hw.acpi.cpu.cx_lowest: C8
dev.cpu.1.cx_method: C1/hlt C2/io
dev.cpu.1.cx_usage_counters: 124 817
dev.cpu.1.cx_usage: 13.17% 86.82% last 54us
dev.cpu.1.cx_lowest: C8
dev.cpu.1.cx_supported: C1/1/1 C2/3/104
dev.cpu.0.cx_method: C1/hlt C2/io
dev.cpu.0.cx_usage_counters: 70 520
dev.cpu.0.cx_usage: 11.86% 88.13% last 5508us
dev.cpu.0.cx_lowest: C8
dev.cpu.0.cx_supported: C1/1/1 C2/3/104

== Battery
hw.acpi.cpu.cx_lowest: C8
dev.cpu.1.cx_method: C1/hlt C2/io C3/io
dev.cpu.1.cx_usage_counters: 1946 106 11173
dev.cpu.1.cx_usage: 14.71% 0.80% 84.48% last 85us
dev.cpu.1.cx_lowest: C8
dev.cpu.1.cx_supported: C1/1/1 C2/2/80 C3/3/109
dev.cpu.0.cx_method: C1/hlt C2/io C3/io
dev.cpu.0.cx_usage_counters: 1767 105 7127
dev.cpu.0.cx_usage: 19.63% 1.16% 79.19% last 15us
dev.cpu.0.cx_lowest: C8
dev.cpu.0.cx_supported: C1/1/1 C2/2/80 C3/3/109


== Linux
cpupower idle-info
CPUidle driver: intel_idle
CPUidle governor: menu
analyzing CPU 0:

Number of idle states: 6
Available idle states: POLL C1 C1E C3 C6 C7
POLL:
Flags/Description: CPUIDLE CORE POLL IDLE
Latency: 0
Usage: 16099
Duration: 264781
C1:
Flags/Description: MWAIT 0x00
Latency: 2
Usage: 7103
Duration: 1039428
C1E:
Flags/Description: MWAIT 0x01
Latency: 10
Usage: 30433
Duration: 6118359
C3:
Flags/Description: MWAIT 0x10
Latency: 80
Usage: 11891
Duration: 4311399
C6:
Flags/Description: MWAIT 0x20
Latency: 104
Usage: 77
Duration: 26683
C7:
Flags/Description: MWAIT 0x30
Latency: 109
Usage: 157291
Duration: 433120357

--000000000000c3b10b05ec2e5f4d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I&#39;m using FreeBSD 13.1 on a Thi=
nkpad T420 and noticed 1) with AC plugged in I only get C1 and C2 recognize=
d 2) with only battery I get C1, C2 and C3. I also have Debian Linux instal=
led on the same machine, under which I can get C6 and C7 too (I noticed the=
re&#39;s a ssdt6 for Cpu0Cst which defines all the C states).</div><div><br=
></div><div>I was wondering if Debian has some SSDT override that provides =
the additional states? From reading FreeBSD&#39;s acpi doc, I got the sense=
 that I can override the DSDT, but don&#39;t know what I need to change, an=
d how to get all the override files combined into a single aml file...</div=
><div><br></div><div>Questions: 1) How can I get C3 working on AC? 2) How c=
an I get C6 and C7 working too? I&#39;m sharing my acpidump results in this=
 folder:=C2=A0<a href=3D"https://drive.google.com/drive/folders/1q0pY_2fO96=
RcQCN929sLLtYPpiokVTC3?usp=3Dsharing">https://drive.google.com/drive/folder=
s/1q0pY_2fO96RcQCN929sLLtYPpiokVTC3?usp=3Dsharing</a></div><div><br></div><=
div>Many=C2=A0thanks!</div><div><br></div><div>=3D=3D AC</div><div>hw.acpi.=
cpu.cx_lowest: C8<br>dev.cpu.1.cx_method: C1/hlt C2/io<br>dev.cpu.1.cx_usag=
e_counters: 124 817<br>dev.cpu.1.cx_usage: 13.17% 86.82% last 54us<br>dev.c=
pu.1.cx_lowest: C8<br>dev.cpu.1.cx_supported: C1/1/1 C2/3/104<br>dev.cpu.0.=
cx_method: C1/hlt C2/io<br>dev.cpu.0.cx_usage_counters: 70 520<br>dev.cpu.0=
.cx_usage: 11.86% 88.13% last 5508us<br>dev.cpu.0.cx_lowest: C8<br>dev.cpu.=
0.cx_supported: C1/1/1 C2/3/104<br></div><div><br></div><div>=3D=3D Battery=
</div><div>hw.acpi.cpu.cx_lowest: C8<br>dev.cpu.1.cx_method: C1/hlt C2/io C=
3/io<br>dev.cpu.1.cx_usage_counters: 1946 106 11173<br>dev.cpu.1.cx_usage: =
14.71% 0.80% 84.48% last 85us<br>dev.cpu.1.cx_lowest: C8<br>dev.cpu.1.cx_su=
pported: C1/1/1 C2/2/80 C3/3/109<br>dev.cpu.0.cx_method: C1/hlt C2/io C3/io=
<br>dev.cpu.0.cx_usage_counters: 1767 105 7127<br>dev.cpu.0.cx_usage: 19.63=
% 1.16% 79.19% last 15us<br>dev.cpu.0.cx_lowest: C8<br>dev.cpu.0.cx_support=
ed: C1/1/1 C2/2/80 C3/3/109<br></div><div><br></div><div><br></div><div>=3D=
=3D Linux</div><div>cpupower idle-info<br>CPUidle driver: intel_idle<br>CPU=
idle governor: menu<br>analyzing CPU 0:<br><br>Number of idle states: 6<br>=
Available idle states: POLL C1 C1E C3 C6 C7<br></div><div>POLL:<br>Flags/De=
scription: CPUIDLE CORE POLL IDLE<br>Latency: 0<br>Usage: 16099<br>Duration=
: 264781<br>C1:<br>Flags/Description: MWAIT 0x00<br>Latency: 2<br>Usage: 71=
03<br>Duration: 1039428<br>C1E:<br>Flags/Description: MWAIT 0x01<br>Latency=
: 10<br>Usage: 30433<br>Duration: 6118359<br>C3:<br>Flags/Description: MWAI=
T 0x10<br>Latency: 80<br>Usage: 11891<br>Duration: 4311399<br>C6:<br>Flags/=
Description: MWAIT 0x20<br>Latency: 104<br>Usage: 77<br>Duration: 26683<br>=
C7:<br>Flags/Description: MWAIT 0x30<br>Latency: 109<br>Usage: 157291<br>Du=
ration: 433120357<br></div></div>

--000000000000c3b10b05ec2e5f4d--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABSuQKNKDCs7ZTehiKSy5_df5kFFVoHZihoBODPeBg%2BVfr=0Fg>