diff options
author | Bharat Nihalani <bnihalani@nvidia.com> | 2013-12-30 20:30:28 +0530 |
---|---|---|
committer | Bharat Nihalani <bnihalani@nvidia.com> | 2013-12-30 20:30:28 +0530 |
commit | 546f63c2a5ecbf08064d9a65b799906832dbe2e6 (patch) | |
tree | b4e9b8eb333935f83109fac0426ec3dfac21c85a /drivers/cpufreq | |
parent | b9695b63896bea96cf2ad192673429eac7f9f467 (diff) | |
parent | c5149b1e38ecd5c3f3d3add7fc118fb47b719929 (diff) |
Merge branch 'remotes/android/android-3.10' into dev-kernel-3.10
Change-Id: I0c919e55654e0c224a5f8a5df80d9f49e92dbb37
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/cpufreq_interactive.c | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c index 4d6c0de2ebee..d7adb0f421eb 100644 --- a/drivers/cpufreq/cpufreq_interactive.c +++ b/drivers/cpufreq/cpufreq_interactive.c @@ -62,12 +62,10 @@ static cpumask_t speedchange_cpumask; static spinlock_t speedchange_cpumask_lock; static struct mutex gov_lock; +/* Target load. Lower values result in higher CPU speeds. */ #define DEFAULT_TARGET_LOAD 90 static unsigned int default_target_loads[] = {DEFAULT_TARGET_LOAD}; -/* - * The sample rate of the timer used to increase frequency - */ #define DEFAULT_TIMER_RATE (20 * USEC_PER_MSEC) #define DEFAULT_ABOVE_HISPEED_DELAY DEFAULT_TIMER_RATE @@ -150,15 +148,15 @@ static void cpufreq_interactive_timer_resched( spin_lock_irqsave(&pcpu->load_lock, flags); pcpu->time_in_idle = get_cpu_idle_time(smp_processor_id(), - &pcpu->time_in_idle_timestamp, - tunables->io_is_busy); + &pcpu->time_in_idle_timestamp, + tunables->io_is_busy); pcpu->cputime_speedadj = 0; pcpu->cputime_speedadj_timestamp = pcpu->time_in_idle_timestamp; expires = jiffies + usecs_to_jiffies(tunables->timer_rate); mod_timer_pinned(&pcpu->cpu_timer, expires); if (tunables->timer_slack_val >= 0 && - pcpu->target_freq > pcpu->policy->min) { + pcpu->target_freq > pcpu->policy->min) { expires += usecs_to_jiffies(tunables->timer_slack_val); mod_timer_pinned(&pcpu->cpu_slack_timer, expires); } @@ -171,16 +169,17 @@ static void cpufreq_interactive_timer_resched( * function. */ static void cpufreq_interactive_timer_start( - struct cpufreq_interactive_tunables *tunables, int cpu) + struct cpufreq_interactive_tunables *tunables, int cpu) { struct cpufreq_interactive_cpuinfo *pcpu = &per_cpu(cpuinfo, cpu); - unsigned long expires = jiffies + usecs_to_jiffies(tunables->timer_rate); + unsigned long expires = jiffies + + usecs_to_jiffies(tunables->timer_rate); unsigned long flags; pcpu->cpu_timer.expires = expires; add_timer_on(&pcpu->cpu_timer, cpu); if (tunables->timer_slack_val >= 0 && - pcpu->target_freq > pcpu->policy->min) { + pcpu->target_freq > pcpu->policy->min) { expires += usecs_to_jiffies(tunables->timer_slack_val); pcpu->cpu_slack_timer.expires = expires; add_timer_on(&pcpu->cpu_slack_timer, cpu); @@ -196,8 +195,8 @@ static void cpufreq_interactive_timer_start( } static unsigned int freq_to_above_hispeed_delay( - struct cpufreq_interactive_tunables *tunables, - unsigned int freq) + struct cpufreq_interactive_tunables *tunables, + unsigned int freq) { int i; unsigned int ret; @@ -214,8 +213,8 @@ static unsigned int freq_to_above_hispeed_delay( return ret; } -static unsigned int freq_to_targetload(struct cpufreq_interactive_tunables - *tunables, unsigned int freq) +static unsigned int freq_to_targetload( + struct cpufreq_interactive_tunables *tunables, unsigned int freq) { int i; unsigned int ret; @@ -224,7 +223,7 @@ static unsigned int freq_to_targetload(struct cpufreq_interactive_tunables spin_lock_irqsave(&tunables->target_loads_lock, flags); for (i = 0; i < tunables->ntarget_loads - 1 && - freq >= tunables->target_loads[i+1]; i += 2) + freq >= tunables->target_loads[i+1]; i += 2) ; ret = tunables->target_loads[i]; @@ -728,8 +727,9 @@ err: return ERR_PTR(err); } -static ssize_t show_target_loads(struct cpufreq_interactive_tunables *tunables, - char *buf) +static ssize_t show_target_loads( + struct cpufreq_interactive_tunables *tunables, + char *buf) { int i; ssize_t ret = 0; @@ -741,13 +741,14 @@ static ssize_t show_target_loads(struct cpufreq_interactive_tunables *tunables, ret += sprintf(buf + ret, "%u%s", tunables->target_loads[i], i & 0x1 ? ":" : " "); - ret += sprintf(buf + ret, "\n"); + ret += sprintf(buf + --ret, "\n"); spin_unlock_irqrestore(&tunables->target_loads_lock, flags); return ret; } -static ssize_t store_target_loads(struct cpufreq_interactive_tunables *tunables, - const char *buf, size_t count) +static ssize_t store_target_loads( + struct cpufreq_interactive_tunables *tunables, + const char *buf, size_t count) { int ntokens; unsigned int *new_target_loads = NULL; @@ -766,8 +767,8 @@ static ssize_t store_target_loads(struct cpufreq_interactive_tunables *tunables, return count; } -static ssize_t show_above_hispeed_delay(struct cpufreq_interactive_tunables - *tunables, char *buf) +static ssize_t show_above_hispeed_delay( + struct cpufreq_interactive_tunables *tunables, char *buf) { int i; ssize_t ret = 0; @@ -780,13 +781,14 @@ static ssize_t show_above_hispeed_delay(struct cpufreq_interactive_tunables tunables->above_hispeed_delay[i], i & 0x1 ? ":" : " "); - ret += sprintf(buf + ret, "\n"); + ret += sprintf(buf + --ret, "\n"); spin_unlock_irqrestore(&tunables->above_hispeed_delay_lock, flags); return ret; } -static ssize_t store_above_hispeed_delay(struct cpufreq_interactive_tunables - *tunables, const char *buf, size_t count) +static ssize_t store_above_hispeed_delay( + struct cpufreq_interactive_tunables *tunables, + const char *buf, size_t count) { int ntokens; unsigned int *new_above_hispeed_delay = NULL; |