Project

General

Profile

Actions

Bug #2025

closed

CPU P-States not available to powerd(8)

Added by herrgard over 13 years ago. Updated over 13 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Hi,

My box shows the P-States in dmesg:

cpu_pst0.cpu0.acpi0.nexus0.root0
cpu_pst0: <ACPI CPU P-State> [tentative] on cpu0
cpu_pst0: control reg 127 0
cpu_pst0: status reg 127 0
cpu_pst0: freq 1800, pwr 67000, xlat 100, blat 9, cv e020298a, sv 0000018a
cpu_pst0: freq 1000, pwr 21000, xlat 100, blat 9, cv e0202c82, sv 00000482
cpu_pst0: _PPC 0
cpu_pst0: <ACPI CPU P-State> [attached!] on cpu0

But powerd(8) won't start:

sudo rcforce powerd

Running /etc/rc.d/powerd forcestart
Starting powerd.
hw.acpi.cpu.px_dom* sysctl not available
powerd has failed to start

hw.acpi:

sysctl hw.acpi

hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 1
hw.acpi.disable_on_reboot: 0
hw.acpi.handle_reboot: 0
hw.acpi.reset_video: 1
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu0.cx_supported: C1/0
hw.acpi.cpu0.cx_lowest: C1
hw.acpi.cpu0.cx_usage: 100.00% last 5000us

Verbose dmesg attached.


Files

dmesg (45.2 KB) dmesg herrgard, 03/15/2011 05:29 PM
Actions #1

Updated by sepherosa over 13 years ago

On Wed, Mar 16, 2011 at 1:29 AM, Max Herrgard (via DragonFly issue
tracker) <> wrote:

New submission from Max Herrgard <>:

Hi,

My box shows the P-States in dmesg:

cpu_pst0.cpu0.acpi0.nexus0.root0
cpu_pst0: <ACPI CPU P-State> [tentative] on cpu0
cpu_pst0: control reg 127 0
cpu_pst0: status reg 127 0
cpu_pst0: freq 1800, pwr 67000, xlat 100, blat 9, cv e020298a, sv 0000018a
cpu_pst0: freq 1000, pwr 21000, xlat 100, blat 9, cv e0202c82, sv 00000482
cpu_pst0: _PPC 0
cpu_pst0: <ACPI CPU P-State> [attached!] on cpu0

But powerd(8) won't start:

sudo rcforce powerd

Running /etc/rc.d/powerd forcestart
Starting powerd.
hw.acpi.cpu.px_dom* sysctl not available
powerd has failed to start

hw.acpi:

sysctl hw.acpi

hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 1
hw.acpi.disable_on_reboot: 0
hw.acpi.handle_reboot: 0
hw.acpi.reset_video: 1
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu0.cx_supported: C1/0
hw.acpi.cpu0.cx_lowest: C1
hw.acpi.cpu0.cx_usage: 100.00% last 5000us

Verbose dmesg attached.

Invalid FID is detected (later in the dmesg):
cpu0: Invalid FID 0x2 [0xa, 0xa]
ACPI: domain0 P-State configuration check failed

Well, the check logic for the max/min P-states probably should be
different from the check logic for intermediate P-states. I will push
a fix tonight.

Best Regards,
sephe

Actions #2

Updated by sepherosa over 13 years ago

Please test the latest master

Actions #3

Updated by herrgard over 13 years ago

Yes, now it shows this:

cpu_cst0: <ACPI CPU C-State> [tentative] on cpu0
cpu_cst0: switching to generic Cx mode
cpu_cst0: <ACPI CPU C-State> [attached!] on cpu0
cpu_pst0.cpu0.acpi0.nexus0.root0
cpu_pst0: <ACPI CPU P-State> [tentative] on cpu0
cpu_pst0: control reg 127 0
cpu_pst0: status reg 127 0
cpu_pst0: freq 1800, pwr 67000, xlat 100, blat 9, cv e020298a, sv 0000018a
cpu_pst0: freq 1000, pwr 21000, xlat 100, blat 9, cv e0202c82, sv 00000482
cpu_pst0: _PPC 0
cpu_pst0: <ACPI CPU P-State> [attached!] on cpu0
...
cpu0: only one P-State is supported
ACPI: domain0 P-State configuration check failed

So I guess my box doesn't support it. But why does it then print two available
frequencies (1000 MHz and 1800 MHz)?

Actions #4

Updated by sepherosa over 13 years ago

On Thu, Mar 17, 2011 at 1:33 AM, Max Herrgard (via DragonFly issue
tracker) <> wrote:

Max Herrgard <> added the comment:

Yes, now it shows this:

cpu_cst0: <ACPI CPU C-State> [tentative] on cpu0
cpu_cst0: switching to generic Cx mode
cpu_cst0: <ACPI CPU C-State> [attached!] on cpu0
cpu_pst0.cpu0.acpi0.nexus0.root0
cpu_pst0: <ACPI CPU P-State> [tentative] on cpu0
cpu_pst0: control reg 127 0
cpu_pst0: status reg 127 0
cpu_pst0: freq 1800, pwr 67000, xlat 100, blat 9, cv e020298a, sv 0000018a
cpu_pst0: freq 1000, pwr 21000, xlat 100, blat 9, cv e0202c82, sv 00000482
cpu_pst0: _PPC 0
cpu_pst0: <ACPI CPU P-State> [attached!] on cpu0
...
cpu0: only one P-State is supported
ACPI: domain0 P-State configuration check failed

So I guess my box doesn't support it. But why does it then print two available
frequencies (1000 MHz and 1800 MHz)?

The check is conducted according to AMD #32559 page 300.

Well, try this patch:
http://leaf.dragonflybsd.org/~sephe/0Fh_fid.diff

It may be dangerous, if BIOS does generate wrong P-States.

Best Regards,
sephe

Actions #5

Updated by herrgard over 13 years ago

Sepherosa Ziehau wrote:

On Thu, Mar 17, 2011 at 1:33 AM, Max Herrgard (via DragonFly issue
tracker)<> wrote:

...
So I guess my box doesn't support it. But why does it then print two available
frequencies (1000 MHz and 1800 MHz)?

The check is conducted according to AMD #32559 page 300.

Well, try this patch:
http://leaf.dragonflybsd.org/~sephe/0Fh_fid.diff

It may be dangerous, if BIOS does generate wrong P-States.

Okay, no luck, patch didn't change anything.

But with powernow.ko loaded I get speeds:

Cool`n'Quiet speeds: 1800 1000 MHz

  1. sysctl machdep.powernow
    machdep.powernow.frequency.target: 1800
    machdep.powernow.frequency.current: 1800
    machdep.powernow.frequency.available: 1800 1000

Max

Actions #6

Updated by sepherosa over 13 years ago

On Fri, Mar 18, 2011 at 1:21 AM, Max Herrgard (via DragonFly issue
tracker) <> wrote:

Max Herrgard <> added the comment:

Sepherosa Ziehau wrote:

On Thu, Mar 17, 2011 at 1:33 AM, Max Herrgard (via DragonFly issue
tracker)<>  wrote:

...
So I guess my box doesn't support it. But why does it then print two available
frequencies (1000 MHz and 1800 MHz)?

The check is conducted according to AMD #32559 page 300.

Well, try this patch:
http://leaf.dragonflybsd.org/~sephe/0Fh_fid.diff

It may be dangerous, if BIOS does generate wrong P-States.

Okay, no luck, patch didn't change anything.

Grrr, you are running x86_64, try following patch:
http://leaf.dragonflybsd.org/~sephe/0Fh_fid64.diff

Best Regards,
sephe

Actions #7

Updated by herrgard over 13 years ago

Sepherosa Ziehau wrote:

Grrr, you are running x86_64, try following patch:
http://leaf.dragonflybsd.org/~sephe/0Fh_fid64.diff

Yey \o/

cpu0: only one P-State is supported
cpu0: min VID mismatch real 18, lim 6
cpu0: min FID mismatch real 2, lim 10

  1. sysctl hw.acpi.cpu
    hw.acpi.cpu.cx_lowest: C1
    hw.acpi.cpu.px_dom0.available: 1800 1000
    hw.acpi.cpu.px_dom0.members: cpu0(1000)
    hw.acpi.cpu.px_dom0.select: 1000
    hw.acpi.cpu.px_global: 1800

powerd(8) works now :)

//Max

Actions #8

Updated by herrgard over 13 years ago

Fixed with 5e06f1b908d047b141d46ed744d8fcf6e26a0787

Actions

Also available in: Atom PDF