Merge "qcom-cpufreq: Remove save/restore of scheduling policy"
This commit is contained in:
commit
f470377fc4
|
@ -1,9 +1,9 @@
|
|||
/* arch/arm/mach-msm/cpufreq.c
|
||||
/* drivers/cpufreq/qcom-cpufreq.c
|
||||
*
|
||||
* MSM architecture cpufreq driver
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
* Copyright (c) 2007-2014, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2007-2015, The Linux Foundation. All rights reserved.
|
||||
* Author: Mike A. Chan <mikechan@google.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
|
@ -22,8 +22,6 @@
|
|||
#include <linux/cpufreq.h>
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/rt.h>
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
|
@ -49,27 +47,13 @@ static int set_cpu_freq(struct cpufreq_policy *policy, unsigned int new_freq,
|
|||
unsigned int index)
|
||||
{
|
||||
int ret = 0;
|
||||
int saved_sched_policy = -EINVAL;
|
||||
int saved_sched_rt_prio = -EINVAL;
|
||||
struct cpufreq_freqs freqs;
|
||||
struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
|
||||
unsigned long rate;
|
||||
|
||||
freqs.old = policy->cur;
|
||||
freqs.new = new_freq;
|
||||
freqs.cpu = policy->cpu;
|
||||
|
||||
/*
|
||||
* Put the caller into SCHED_FIFO priority to avoid cpu starvation
|
||||
* while increasing frequencies
|
||||
*/
|
||||
|
||||
if (freqs.new > freqs.old && current->policy != SCHED_FIFO) {
|
||||
saved_sched_policy = current->policy;
|
||||
saved_sched_rt_prio = current->rt_priority;
|
||||
sched_setscheduler_nocheck(current, SCHED_FIFO, ¶m);
|
||||
}
|
||||
|
||||
cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
|
||||
|
||||
trace_cpu_frequency_switch_start(freqs.old, freqs.new, policy->cpu);
|
||||
|
@ -82,11 +66,6 @@ static int set_cpu_freq(struct cpufreq_policy *policy, unsigned int new_freq,
|
|||
trace_cpu_frequency_switch_end(policy->cpu);
|
||||
}
|
||||
|
||||
/* Restore priority after clock ramp-up */
|
||||
if (freqs.new > freqs.old && saved_sched_policy >= 0) {
|
||||
param.sched_priority = saved_sched_rt_prio;
|
||||
sched_setscheduler_nocheck(current, saved_sched_policy, ¶m);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue