Bug 8955 - cpufreq scaling not available (Sumicom S635F, 945GM, PhoenixAward 6.00, CoreDuo L2400)
Summary: cpufreq scaling not available (Sumicom S635F, 945GM, PhoenixAward 6.00, CoreD...
Status: CLOSED INVALID
Alias: None
Product: ACPI
Classification: Unclassified
Component: BIOS (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Venkatesh Pallipadi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-29 08:29 UTC by Armin Thiele
Modified: 2007-09-05 18:37 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.*
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
acpidump (84.42 KB, text/plain)
2007-08-29 08:33 UTC, Armin Thiele
Details
Output of iasl: 2 Errors (1.60 KB, text/plain)
2007-08-29 08:36 UTC, Armin Thiele
Details
cat /proc/cpuinfo (1.09 KB, text/plain)
2007-08-29 12:55 UTC, Armin Thiele
Details
DSDT.dsl (171.57 KB, text/plain)
2007-08-30 12:23 UTC, Armin Thiele
Details

Description Armin Thiele 2007-08-29 08:29:47 UTC
Most recent kernel where this bug did not occur:Always
Distribution:Gentoo (2007.0, gentoo-2.6.20-r8)
Hardware Environment:Sumicom S635F, 945GM/ICH7M, CoreDuo L2400
Software Environment: Gentoo Linux, Bios PhoenixAward 6.00
Problem Description: Cannot register cpufreq driver

How can I add attachments to this message?

Unfortunately I can't check whether frequency scaling is working on Windows.
There's no Windows at hand. If somebody points me to a windows tool I can
run under wine, I will do so.

Same result with kernel versions 2.6.19, 2.6.20, 2.6.21, 2.6.22
Same result with compiled in or module cpufreq drivers, tried
all reasonable combinations of kernel options, patched sources
with linux-phc as described at forums.gentoo: No luck.

Built kernel with:

[*] ACPI Support
  [*]   Procfs interface (deprecated) (NEW)
  <*>   AC Adapter
  <*>   Button
  <*>   Processor
  <*>     Thermal Zone
         [*]   Debug Statements
[*] CPU Frequency scaling
  [*]   Enable CPUfreq debugging
     <*>   CPU frequency translation statistics
  Default CPUFreq governor (userspace)  --->
     <*>   'performance' governor
     <*>   'powersave' governor
     ---   'userspace' governor for userspace frequency scaling
     <*>   'ondemand' cpufreq policy governor
     <*>   'conservative' cpufreq governor
     ---   CPUFreq processor drivers
        <M>   ACPI Processor P-States driver
        <M>   Intel Enhanced SpeedStep
           [(*)]     Use ACPI tables to decode valid frequency/voltage (deprecated)
           ---     Built-in tables for Banias CPUs
        <M>   Intel Speedstep on ICH-M chipsets (ioport interface)
    ---   shared options
    [(*)]   /proc/acpi/processor/../performance interface (deprecated)
    [(*)]   Relaxed speedstep capability checks

(*) means: Tried with and without.


dmesg | grep -e 'ACPI' -e 'CPU'
 BIOS-e820: 000000007f6e0000 - 000000007f6e3000 (ACPI NVS)
 BIOS-e820: 000000007f6e3000 - 000000007f6f0000 (ACPI data)
ACPI: RSDP (v000 IntelR                                ) @ 0x000f8ba0
ACPI: RSDT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x7f6e3040
ACPI: FADT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x7f6e30c0
ACPI: MCFG (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x7f6e79c0
ACPI: MADT (v001 IntelR AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x7f6e7900
ACPI: DSDT (v001 INTELR AWRDACPI 0x00001000 MSFT 0x03000000) @ 0x00000000
ACPI: PM-Timer IO Port: 0x408
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Using ACPI (MADT) for SMP configuration information
Initializing CPU#0
CPU: After generic identify, caps: bfe9fbff 00000000 00000000 00000000 0000c1a9 00000000 00000000
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU: After all inits, caps: bfe9fbff 00000000 00000000 00002940 0000c1a9 00000000 00000000
Intel machine check reporting enabled on CPU#0.
ACPI: Core revision 20060707
 tbxface-0107 [01] load_tables           : ACPI Tables successfully acquired
ACPI Namespace successfully loaded at root c050ab90
evxfevnt-0089 [02] enable                : Transition to ACPI mode successful
CPU0: Intel Genuine Intel(R) CPU           L2400  @ 1.66GHz stepping 08
Initializing CPU#1
CPU: After generic identify, caps: bfe9fbff 00000000 00000000 00000000 0000c1a9 00000000 00000000
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
CPU: After all inits, caps: bfe9fbff 00000000 00000000 00002940 0000c1a9 00000000 00000000
Intel machine check reporting enabled on CPU#1.
CPU1: Intel Genuine Intel(R) CPU           L2400  @ 1.66GHz stepping 08
checking TSC synchronization across 2 CPUs: passed.
Brought up 2 CPUs
ACPI: bus type pci registered
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI quirk: region 0400-047f claimed by ICH6 ACPI/GPIO/TCO
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
Initializing CPU#1
CPU: After generic identify, caps: bfe9fbff 00000000 00000000 00000000 0000c1a9 00000000 00000000
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
CPU: After all inits, caps: bfe9fbff 00000000 00000000 00002940 0000c1a9 00000000 00000000
Intel machine check reporting enabled on CPU#1.
CPU1: Intel Genuine Intel(R) CPU           L2400  @ 1.66GHz stepping 08
checking TSC synchronization across 2 CPUs: passed.
Brought up 2 CPUs
ACPI: bus type pci registered
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI quirk: region 0400-047f claimed by ICH6 ACPI/GPIO/TCO
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 *9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 *7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNK1] (IRQs *3 4 5 7 9 10 11 12 14 15)
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16
ACPI: PCI Interrupt 0000:00:02.0[A] -> GSI 16 (level, low) -> IRQ 16
ACPI: Power Button (FF) [PWRF]
ACPI: Power Button (CM) [PWRB]
ACPI: Thermal Zone [THRM] (25 C)
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 17
ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 18
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 18
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 17
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 19
ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 16 (level, low) -> IRQ 16
ACPI: PCI Interrupt 0000:00:1e.2[A] -> GSI 17 (level, low) -> IRQ 20
ACPI: PCI Interrupt 0000:02:03.0[A] -> GSI 19 (level, low) -> IRQ 17
ACPI: PCI Interrupt 0000:00:1f.3[B] -> GSI 19 (level, low) -> IRQ 17
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16


'cpufreq.debug=7', trying to load cpufreq drivers via modprobe:

dmesg
acpi-cpufreq: acpi_cpufreq_init
acpi-cpufreq: acpi_cpufreq_early_init
cpufreq-core: trying to register driver acpi-cpufreq
cpufreq-core: adding CPU 0
acpi-cpufreq: acpi_cpufreq_cpu_init
cpufreq-core: initialization failed
cpufreq-core: adding CPU 1
acpi-cpufreq: acpi_cpufreq_cpu_init
cpufreq-core: initialization failed
cpufreq-core: no CPU initialized for driver acpi-cpufreq
cpufreq-core: unregistering CPU 0
cpufreq-core: unregistering CPU 1
cpufreq-core: trying to register driver centrino
cpufreq-core: adding CPU 0
speedstep-centrino: speedstep-centrino: obtaining ACPI data failed
speedstep-centrino: found unsupported CPU with Enhanced SpeedStep: send /proc/cpuinfo to cpufreq@li$
cpufreq-core: initialization failed
cpufreq-core: adding CPU 1
speedstep-centrino: speedstep-centrino: obtaining ACPI data failed
cpufreq-core: initialization failed
cpufreq-core: no CPU initialized for driver centrino
cpufreq-core: unregistering CPU 0
cpufreq-core: unregistering CPU 1
speedstep-lib: x86: 6, model: e
speedstep-ich: Intel(R) SpeedStep(TM) capable processor not found


Ok, I'll stop it here. Hope to learn how attachments are used.
Result of iasl and acpidump will follow. 

TIA
Armin
Comment 1 Armin Thiele 2007-08-29 08:33:42 UTC
Created attachment 12617 [details]
acpidump
Comment 2 Armin Thiele 2007-08-29 08:36:12 UTC
Created attachment 12618 [details]
Output of iasl: 2 Errors
Comment 3 Armin Thiele 2007-08-29 12:55:49 UTC
Created attachment 12621 [details]
cat /proc/cpuinfo
Comment 4 Armin Thiele 2007-08-30 12:23:51 UTC
Created attachment 12638 [details]
DSDT.dsl

I tried to learn from bug 7578, especially #58 from Zhang Rui: "... performance control(P-state) is implemented through three optional objects(_PCT,_PSS and _PPC)"

These objects are not present in my disassembled DSDT. Does this mean bios is 
not supporting speedstep at all? If so, are there any cances left to get it
work? 

TIA
Armin
Comment 5 Len Brown 2007-08-31 13:49:58 UTC
re: comment #4
that is correct, if ACPI the BIOS doesn't have _PCT and _PPC,
then it doesn't have P-state support.
Further, this BIOS has no SSDT, no _PDC
and no Load() instructions, so what you see is what you get.

> Genuine Intel(R) CPU           L2400  @ 1.66GHz
The specs for the L2400 do say that it has
Enhanced Intel Speedstep® Technology
http://processorfinder.intel.com/Details.aspx?sSpec=SL8VW

so the processor hardware does support P-states.

note that it is conceivable (though I've never seen it on a notebook)
that the reason that the BIOS doesn't have support is because the
motherboard doesn't have support.

I think if the notebook as a Centrino sticker on the outside,
that it is likely that it is required to support P-states.

So your best bet is to check for the latest BIOS from the
laptop supplier.  Also, it is possible that they disabled
this by default and there are some BIOS SETUP options that
will give you what you are looking for.
Comment 6 Armin Thiele 2007-09-05 16:08:01 UTC
(In reply to comment #5)
Thank you for your answer.
Manufacturer (King Young, TW) confirmed that Sumicom products do not
support Speedstep. 
HTH
Armin

Note You need to log in before you can comment on or make changes to this bug.