aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/acpi
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-04-09 08:52:43 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-04-09 08:52:43 +0100
commit002c5bcdbe112c70718ebc81ba95290210fa7f0d (patch)
tree79b6f996ecc5d1dd2d5f847acdf4525e4be768e2 /xen/include/acpi
parente136054cedf0b8d9395d35b8d3e5334eb514c47d (diff)
downloadxen-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.h14
-rw-r--r--xen/include/acpi/cpufreq/processor_perf.h1
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);