diff -purN linux-2.6.0-test8/arch/i386/kernel/cpu/cpufreq/acpi.c linux-2.6.0-test8-dbs/arch/i386/kernel/cpu/cpufreq/acpi.c --- linux-2.6.0-test8/arch/i386/kernel/cpu/cpufreq/acpi.c 2003-10-17 14:42:54.000000000 -0700 +++ linux-2.6.0-test8-dbs/arch/i386/kernel/cpu/cpufreq/acpi.c 2003-10-25 13:19:03.000000000 -0700 @@ -267,8 +267,12 @@ acpi_processor_set_performance ( /* cpufreq frequency struct */ cpufreq_freqs.cpu = perf->pr->id; - cpufreq_freqs.old = perf->states[perf->state].core_frequency; - cpufreq_freqs.new = perf->states[state].core_frequency; + /* + * cpufreq_notifier needs to send the freq in KHz. But acpi + * data we have is in MHz + */ + cpufreq_freqs.old = perf->states[perf->state].core_frequency * 1000; + cpufreq_freqs.new = perf->states[state].core_frequency * 1000; /* notify cpufreq */ cpufreq_notify_transition(&cpufreq_freqs, CPUFREQ_PRECHANGE); @@ -581,6 +585,8 @@ acpi_cpufreq_cpu_init ( if (perf->states[i].transition_latency > policy->cpuinfo.transition_latency) policy->cpuinfo.transition_latency = perf->states[i].transition_latency; } + /* policy transition latency is in terms of nS */ + policy->cpuinfo.transition_latency *= 1000; policy->governor = CPUFREQ_DEFAULT_GOVERNOR; policy->cur = perf->states[pr->limit.state.px].core_frequency * 1000; diff -purN linux-2.6.0-test8/arch/i386/kernel/cpu/cpufreq/powernow-k7.c linux-2.6.0-test8-dbs/arch/i386/kernel/cpu/cpufreq/powernow-k7.c --- linux-2.6.0-test8/arch/i386/kernel/cpu/cpufreq/powernow-k7.c 2003-10-17 14:42:53.000000000 -0700 +++ linux-2.6.0-test8-dbs/arch/i386/kernel/cpu/cpufreq/powernow-k7.c 2003-10-25 13:19:03.000000000 -0700 @@ -386,7 +386,8 @@ static int __init powernow_cpu_init (str minimum_speed, maximum_speed); policy->governor = CPUFREQ_DEFAULT_GOVERNOR; - policy->cpuinfo.transition_latency = latency; + /* 'latency' is in terms of 10nS and policy latency in terms of nS */ + policy->cpuinfo.transition_latency = 10 * latency; policy->cur = maximum_speed; return cpufreq_frequency_table_cpuinfo(policy, powernow_table); diff -purN linux-2.6.0-test8/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c linux-2.6.0-test8-dbs/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c --- linux-2.6.0-test8/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2003-10-17 14:43:03.000000000 -0700 +++ linux-2.6.0-test8-dbs/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2003-10-25 13:19:03.000000000 -0700 @@ -202,7 +202,8 @@ static int centrino_cpu_init(struct cpuf freq = get_cur_freq(); policy->governor = CPUFREQ_DEFAULT_GOVERNOR; - policy->cpuinfo.transition_latency = 10; /* 10uS transition latency */ + /* 10uS - policy transition latency is in terms of nS */ + policy->cpuinfo.transition_latency = 1000 * 10; policy->cur = freq; dprintk(KERN_INFO PFX "centrino_cpu_init: policy=%d cur=%dkHz\n",