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'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'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's acpi doc, I got the sense= that I can override the DSDT, but don'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'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>