>From 1ba7af20a37b72a4375d3e3ddd33a033f204ee21 Mon Sep 17 00:00:00 2001 From: Mark Langsdorf <mark.langsdorf@xxxxxxx> Date: Wed, 3 Mar 2010 14:34:47 -0600 Subject: [PATCH 2/2] cpufreq: add sysfs knob for toggling core performance boost Signed-off-by: Borislav Petkov <borislav.petkov@xxxxxxx> Tested-by: Mark Langsdorf <mark.langsdorf@xxxxxxx> --- drivers/cpufreq/cpufreq.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 67bc2ec..e0fe93f 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -662,6 +662,30 @@ static ssize_t show_bios_limit(struct cpufreq_policy *policy, char *buf) return sprintf(buf, "%u\n", policy->cpuinfo.max_freq); } +static ssize_t store_cpb(struct cpufreq_policy *policy, const char *buf, + size_t count) +{ + int ret = -EINVAL; + unsigned long val = 0; + + ret = strict_strtoul(buf, 10, &val); + if (!ret && (val == 0 || val == 1)) + policy->flags.cpb = val; + else + return -EINVAL; + + ret = __cpufreq_driver_target(policy, policy->cur, CPUFREQ_RELATION_H); + if (ret) + return -EINVAL; + + return count; +} + +static ssize_t show_cpb(struct cpufreq_policy *policy, char *buf) +{ + return sprintf(buf, "%u\n", policy->flags.cpb); +} + #define define_one_ro(_name) \ static struct freq_attr _name = \ __ATTR(_name, 0444, show_##_name, NULL) @@ -688,6 +712,7 @@ define_one_rw(scaling_min_freq); define_one_rw(scaling_max_freq); define_one_rw(scaling_governor); define_one_rw(scaling_setspeed); +define_one_rw(cpb); static struct attribute *default_attrs[] = { &cpuinfo_min_freq.attr, @@ -701,6 +726,7 @@ static struct attribute *default_attrs[] = { &scaling_driver.attr, &scaling_available_governors.attr, &scaling_setspeed.attr, + &cpb.attr, NULL }; -- 1.6.0.2 -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html