diff options
Diffstat (limited to 'target/linux/ipq806x')
4 files changed, 16 insertions, 19 deletions
diff --git a/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch b/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch index 1d2fbf9db5..b3b3072bcb 100644 --- a/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch +++ b/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch @@ -28,7 +28,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org> --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -220,7 +220,10 @@ static int cpufreq_init(struct cpufreq_p +@@ -231,7 +231,10 @@ static int cpufreq_init(struct cpufreq_p } if (fallback) { @@ -40,7 +40,7 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org> /* * OPP tables are initialized only for policy->cpu, do it for -@@ -372,6 +375,8 @@ static int dt_cpufreq_probe(struct platf +@@ -376,6 +379,8 @@ static int dt_cpufreq_probe(struct platf if (data && data->have_governor_per_policy) dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY; diff --git a/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch b/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch index 969adfe4b5..dcf0bcd3f2 100644 --- a/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch +++ b/target/linux/ipq806x/patches-4.14/0054-cpufreq-dt-Handle-OPP-voltage-adjust-events.patch @@ -32,10 +32,10 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> + struct notifier_block opp_nb; + struct mutex lock; + unsigned long opp_freq; + bool have_static_opps; }; - static struct freq_attr *cpufreq_dt_attr[] = { -@@ -43,9 +46,16 @@ static struct freq_attr *cpufreq_dt_attr +@@ -44,9 +47,16 @@ static struct freq_attr *cpufreq_dt_attr static int set_target(struct cpufreq_policy *policy, unsigned int index) { struct private_data *priv = policy->driver_data; @@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> } /* -@@ -86,6 +96,39 @@ node_put: +@@ -87,6 +97,39 @@ node_put: return name; } @@ -94,7 +94,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> static int resources_available(void) { struct device *cpu_dev; -@@ -152,6 +195,7 @@ static int cpufreq_init(struct cpufreq_p +@@ -153,6 +196,7 @@ static int cpufreq_init(struct cpufreq_p bool fallback = false; const char *name; int ret; @@ -102,30 +102,27 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> cpu_dev = get_cpu_device(policy->cpu); if (!cpu_dev) { -@@ -241,13 +285,16 @@ static int cpufreq_init(struct cpufreq_p - goto out_free_opp; +@@ -246,10 +290,13 @@ static int cpufreq_init(struct cpufreq_p + __func__, ret); } + mutex_init(&priv->lock); + dev_pm_opp_register_notifier(cpu_dev, &priv->opp_nb); + - priv->reg_name = name; - priv->opp_table = opp_table; - ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table); if (ret) { dev_err(cpu_dev, "failed to init cpufreq table: %d\n", ret); -- goto out_free_priv; +- goto out_free_opp; + goto out_unregister_nb; } priv->cpu_dev = cpu_dev; -@@ -283,6 +330,8 @@ static int cpufreq_init(struct cpufreq_p +@@ -285,6 +332,8 @@ static int cpufreq_init(struct cpufreq_p out_free_cpufreq_table: dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table); +out_unregister_nb: + dev_pm_opp_unregister_notifier(cpu_dev, &priv->opp_nb); - out_free_priv: - kfree(priv); out_free_opp: + if (priv->have_static_opps) + dev_pm_opp_of_cpumask_remove_table(policy->cpus); diff --git a/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch b/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch index 26ea9f3c14..1c26650b78 100644 --- a/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch +++ b/target/linux/ipq806x/patches-4.14/0055-cpufreq-dt-Add-L2-frequency-scaling-support.patch @@ -11,7 +11,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -48,11 +48,41 @@ static int set_target(struct cpufreq_pol +@@ -49,11 +49,41 @@ static int set_target(struct cpufreq_pol struct private_data *priv = policy->driver_data; int ret; unsigned long target_freq = policy->freq_table[index].frequency * 1000; @@ -54,7 +54,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> mutex_unlock(&priv->lock); return ret; -@@ -196,6 +226,8 @@ static int cpufreq_init(struct cpufreq_p +@@ -197,6 +227,8 @@ static int cpufreq_init(struct cpufreq_p const char *name; int ret; struct srcu_notifier_head *opp_srcu_head; @@ -63,7 +63,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> cpu_dev = get_cpu_device(policy->cpu); if (!cpu_dev) { -@@ -303,6 +335,13 @@ static int cpufreq_init(struct cpufreq_p +@@ -305,6 +337,13 @@ static int cpufreq_init(struct cpufreq_p policy->suspend_freq = dev_pm_opp_get_suspend_opp_freq(cpu_dev) / 1000; diff --git a/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch b/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch index c0eb2eb3cd..d9d76e409b 100644 --- a/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch +++ b/target/linux/ipq806x/patches-4.14/0056-cpufreq-dt-Add-missing-rcu-locks.patch @@ -10,7 +10,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c -@@ -143,8 +143,10 @@ static int opp_notifier(struct notifier_ +@@ -144,8 +144,10 @@ static int opp_notifier(struct notifier_ ret = PTR_ERR(cpu_reg); goto out; } |