diff options
author | Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> | 2006-06-26 00:34:43 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-06-26 00:34:43 -0400 |
commit | 46f18e3a28295a9e11a6ffa4478241c19bc93735 (patch) | |
tree | f563b12a18cadd6583925ce1dbc3bc79538ac866 /arch/i386/kernel/cpu | |
parent | 3448097fccdce4ea8f0fcad4f37f502a8cd72e68 (diff) |
ACPI: HW P-state coordination support
Treat HW coordination as independent CPUs.
This enables per-cpu monintoring of P-states
http://bugzilla.kernel.org/show_bug.cgi?id=5737
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/i386/kernel/cpu')
-rw-r--r-- | arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c | 8 | ||||
-rw-r--r-- | arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c index 5fd65325b81a..cf0ddc9ee0cd 100644 --- a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c +++ b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c | |||
@@ -418,8 +418,14 @@ acpi_cpufreq_cpu_init ( | |||
418 | goto err_free; | 418 | goto err_free; |
419 | 419 | ||
420 | perf = data->acpi_data; | 420 | perf = data->acpi_data; |
421 | policy->cpus = perf->shared_cpu_map; | ||
422 | policy->shared_type = perf->shared_type; | 421 | policy->shared_type = perf->shared_type; |
422 | /* | ||
423 | * Will let policy->cpus know about dependency only when software | ||
424 | * coordination is required. | ||
425 | */ | ||
426 | if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL || | ||
427 | policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) | ||
428 | policy->cpus = perf->shared_cpu_map; | ||
423 | 429 | ||
424 | if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) { | 430 | if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) { |
425 | acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS; | 431 | acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS; |
diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c index f7e4356f6820..8d765509ef59 100644 --- a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c +++ b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c | |||
@@ -399,8 +399,14 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy) | |||
399 | dprintk(PFX "obtaining ACPI data failed\n"); | 399 | dprintk(PFX "obtaining ACPI data failed\n"); |
400 | return -EIO; | 400 | return -EIO; |
401 | } | 401 | } |
402 | policy->cpus = p->shared_cpu_map; | ||
403 | policy->shared_type = p->shared_type; | 402 | policy->shared_type = p->shared_type; |
403 | /* | ||
404 | * Will let policy->cpus know about dependency only when software | ||
405 | * coordination is required. | ||
406 | */ | ||
407 | if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL || | ||
408 | policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) | ||
409 | policy->cpus = p->shared_cpu_map; | ||
404 | 410 | ||
405 | /* verify the acpi_data */ | 411 | /* verify the acpi_data */ |
406 | if (p->state_count <= 1) { | 412 | if (p->state_count <= 1) { |