From: Tim t. L. <ti...@sc...> - 2007-04-27 11:53:28
|
On Thu, 26 Apr 2007, Arno Klenke wrote: > Hi, > > here is an early test version of an acpi processor driver. It currently > supports the following features (if the hardware supports it, of course): > > *C1 (hlt) and C2 idle states > *The C3 idle state is currently supported on uniprocessor systems. The > same codepath can also be used on intel smp systems and so it should > work with them, too. > *Frequency scaling using the generic acpi method and using the intel msr > registers. First off, the new USB driver doesn't seem to fully agree with my system; kernel.log is flooded with the following message: 0:kernel::usb_hub_thread : USB: get_port_status failed (err = -1) 0:kernel::usb_hub_thread : USB: get_port_status failed (err = -1) 0:kernel::usb_hub_thread : USB: get_hub_status failed My USB mouse and keyboard still work though. The ACPI Processor driver generates the following entries in kernel.log: 0:init::init(-1) : ACPI: Register driver ACPI Processor Driver 0:init::init(-1) : ACPI: Processor [CPU ID: 0x6a APIC ID:0 ACPI ID:1] found 0:init::init(-1) : ACPI: Processor PBLK @ 0x1010 0:init::init(-1) : ACPI: C1 state latency[001] address[0x0] 0:init::init(-1) : ACPI: C2 state latency[080] address[0x1014] 0:init::init(-1) : ACPI: Warning: pstates not supported on this hardware and pmset's output (without arguments): ACPI c-states: [0] C1, 1 ticks latency, usage 49 [1] C2, 80 ticks latency, usage 590534 So the C2 state seems to be actually used! As can be expected from the kernel.log above, pmset complains loudly if you want to set a frequency. I'm not quite sure why the driver thinks pstates aren't supported; a dump from my ACPI tables shows my CPU0 object has _PCT, _PSS and _PPC objects, with _PSS actually showing 5 performance states. Perhaps it's because the _PCT contains only zeroes, thus not indicating a register the OS has to write to to change frequencies? Especially since afaik K7 (and K8?) processors only scale by writing to MSRs, and not by writing to I/O registers. Tim. |