cpufreq: add different freqs variable for big&little core [1/1]

PD#SWPL-15315

Problem:
add different freqs variable for big&little core

Solution:
add different freqs variable for big&little core

Verify:
test pass on g12b_w400

Change-Id: I2a5e00b5bbd4a1d084b925733a051497c6e92b0b
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
This commit is contained in:
Hong Guo
2019-10-15 17:02:02 +08:00
committed by Jianxin Pan
parent 66ae13d7c1
commit 9d1e44535c
2 changed files with 10 additions and 9 deletions

View File

@@ -208,6 +208,7 @@ static int meson_cpufreq_set_target(struct cpufreq_policy *policy,
struct meson_cpufreq_driver_data *cpufreq_data;
struct device *cpu_dev;
struct regulator *cpu_reg;
struct cpufreq_freqs freqs[MAX_CLUSTERS];
int ret = 0;
if (!policy) {
@@ -260,9 +261,9 @@ static int meson_cpufreq_set_target(struct cpufreq_policy *policy,
}
}
freqs.old = freq_old / 1000;
freqs.new = freq_new / 1000;
cpufreq_freq_transition_begin(policy, &freqs);
freqs[cur_cluster].old = freq_old / 1000;
freqs[cur_cluster].new = freq_new / 1000;
cpufreq_freq_transition_begin(policy, &freqs[cur_cluster]);
/*scale clock frequency*/
ret = meson_cpufreq_set_rate(policy, cur_cluster,
freq_new / 1000);
@@ -277,7 +278,7 @@ static int meson_cpufreq_set_target(struct cpufreq_policy *policy,
return ret;
}
cpufreq_freq_transition_end(policy, &freqs, ret);
cpufreq_freq_transition_end(policy, &freqs[cur_cluster], ret);
/*cpufreq down,change voltage after frequency*/
if (freq_new < freq_old) {
ret = meson_regulator_set_volate(cpu_reg, volt_old,
@@ -285,14 +286,15 @@ static int meson_cpufreq_set_target(struct cpufreq_policy *policy,
if (ret) {
pr_err("failed to scale volt %u %u down: %d\n",
volt_new, volt_tol, ret);
freqs.old = freq_new / 1000;
freqs.new = freq_old / 1000;
cpufreq_freq_transition_begin(policy, &freqs);
freqs[cur_cluster].old = freq_new / 1000;
freqs[cur_cluster].new = freq_old / 1000;
cpufreq_freq_transition_begin(policy,
&freqs[cur_cluster]);
ret = meson_cpufreq_set_rate(policy, cur_cluster,
freq_old / 1000);
cpufreq_freq_transition_end(policy,
&freqs, ret);
&freqs[cur_cluster], ret);
}
}

View File

@@ -42,7 +42,6 @@ static struct cpufreq_frequency_table *freq_table[MAX_CLUSTERS];
/*mid rate for set parent,Khz*/
static unsigned int mid_rate = (1000 * 1000);
static unsigned int gap_rate = (10 * 1000 * 1000);
static struct cpufreq_freqs freqs;
/*
* DSU_LOW_RATE:cpu clk less than DSU_LOW_RATE(1.2G)