diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-04-09 08:52:43 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-04-09 08:52:43 +0100 |
commit | 002c5bcdbe112c70718ebc81ba95290210fa7f0d (patch) | |
tree | 79b6f996ecc5d1dd2d5f847acdf4525e4be768e2 /xen/include/acpi | |
parent | e136054cedf0b8d9395d35b8d3e5334eb514c47d (diff) | |
download | xen-002c5bcdbe112c70718ebc81ba95290210fa7f0d.tar.gz xen-002c5bcdbe112c70718ebc81ba95290210fa7f0d.tar.bz2 xen-002c5bcdbe112c70718ebc81ba95290210fa7f0d.zip |
Refactor Xen Support for Intel Turbo Boost
Refactor the existing code that supports the Intel Turbo feature to
move all the driver specific bits in the cpufreq driver. Create
a tri-state interface for the Turbo feature that can distinguish
amongst enabled Turbo, disabled Turbo, and processors that don't
support Turbo at all.
Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Diffstat (limited to 'xen/include/acpi')
-rw-r--r-- | xen/include/acpi/cpufreq/cpufreq.h | 14 | ||||
-rw-r--r-- | xen/include/acpi/cpufreq/processor_perf.h | 1 |
2 files changed, 11 insertions, 4 deletions
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h index 4bdc74e0ac..53c9a0d314 100644 --- a/xen/include/acpi/cpufreq/cpufreq.h +++ b/xen/include/acpi/cpufreq/cpufreq.h @@ -55,6 +55,9 @@ struct cpufreq_policy { unsigned int resume; /* flag for cpufreq 1st run * S3 wakeup, hotplug cpu, etc */ + int turbo; /* tristate flag: 0 for unsupported + * -1 for disable, 1 for enabled + * See CPUFREQ_TURBO_* below for defines */ }; extern struct cpufreq_policy *cpufreq_cpu_policy[NR_CPUS]; @@ -114,6 +117,14 @@ extern int __cpufreq_driver_target(struct cpufreq_policy *policy, #define USR_GETAVG 2 extern int cpufreq_driver_getavg(unsigned int cpu, unsigned int flag); +#define CPUFREQ_TURBO_DISABLED -1 +#define CPUFREQ_TURBO_UNSUPPORTED 0 +#define CPUFREQ_TURBO_ENABLED 1 + +extern void cpufreq_enable_turbo(int cpuid); +extern void cpufreq_disable_turbo(int cpuid); +extern int cpufreq_get_turbo_status(int cpuid); + static __inline__ int __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event) { @@ -241,7 +252,4 @@ int write_userspace_scaling_setspeed(unsigned int cpu, unsigned int freq); void cpufreq_dbs_timer_suspend(void); void cpufreq_dbs_timer_resume(void); -void cpufreq_dbs_enable_turbo(int cpuid); -void cpufreq_dbs_disable_turbo(int cpuid); -unsigned int cpufreq_dbs_get_turbo_status(int cpuid); #endif /* __XEN_CPUFREQ_PM_H__ */ diff --git a/xen/include/acpi/cpufreq/processor_perf.h b/xen/include/acpi/cpufreq/processor_perf.h index 72b55ead82..40b3a7103b 100644 --- a/xen/include/acpi/cpufreq/processor_perf.h +++ b/xen/include/acpi/cpufreq/processor_perf.h @@ -9,7 +9,6 @@ int get_cpu_id(u8); int powernow_cpufreq_init(void); unsigned int powernow_register_driver(void); - void cpufreq_residency_update(unsigned int, uint8_t); void cpufreq_statistic_update(unsigned int, uint8_t, uint8_t); int cpufreq_statistic_init(unsigned int); |