aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch
diff options
context:
space:
mode:
authorKoen Vandeputte <koen.vandeputte@ncentric.com>2018-05-23 16:44:09 +0200
committerJohn Crispin <john@phrozen.org>2018-05-24 08:58:17 +0200
commit467b07e00c5ead98848587b8e06db61f7b33d3a8 (patch)
tree6d9b1bf52932e5824299ecff4528759a0630f502 /target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch
parent82cf3c7c6199d5da88ff6872f288ec7f97afe184 (diff)
downloadupstream-467b07e00c5ead98848587b8e06db61f7b33d3a8.tar.gz
upstream-467b07e00c5ead98848587b8e06db61f7b33d3a8.tar.bz2
upstream-467b07e00c5ead98848587b8e06db61f7b33d3a8.zip
kernel: bump 4.14 to 4.14.43
Refreshed all patches Compile-tested on: cns3xxx, imx6, x86_64 Runtime-tested on: cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Michael Yartys <michael.yartys@protonmail.com>
Diffstat (limited to 'target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch')
-rw-r--r--target/linux/ipq806x/patches-4.14/0046-cpufreq-qcom-independent-core-clocks.patch29
1 files changed, 15 insertions, 14 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 d7211e1559..1d2fbf9db5 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
@@ -29,31 +29,31 @@ 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
- }
-
- if (fallback) {
+ }
+
+ if (fallback) {
- cpumask_setall(policy->cpus);
+ struct cpufreq_dt_platform_data *pd = cpufreq_get_driver_data();
+
+ if (!pd || !pd->independent_clocks)
+ cpumask_setall(policy->cpus);
-
- /*
- * OPP tables are initialized only for policy->cpu, do it for
+
+ /*
+ * OPP tables are initialized only for policy->cpu, do it for
@@ -372,6 +375,8 @@ static int dt_cpufreq_probe(struct platf
- if (data && data->have_governor_per_policy)
- dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY;
-
+ if (data && data->have_governor_per_policy)
+ dt_cpufreq_driver.flags |= CPUFREQ_HAVE_GOVERNOR_PER_POLICY;
+
+ dt_cpufreq_driver.driver_data = data;
+
- ret = cpufreq_register_driver(&dt_cpufreq_driver);
- if (ret)
- dev_err(&pdev->dev, "failed register driver: %d\n", ret);
+ ret = cpufreq_register_driver(&dt_cpufreq_driver);
+ if (ret)
+ dev_err(&pdev->dev, "failed register driver: %d\n", ret);
--- a/drivers/cpufreq/cpufreq-dt.h
+++ b/drivers/cpufreq/cpufreq-dt.h
@@ -13,6 +13,12 @@
#include <linux/types.h>
-
+
struct cpufreq_dt_platform_data {
+ /*
+ * True when each CPU has its own clock to control its
@@ -61,5 +61,6 @@ Signed-off-by: Sricharan R <sricharan@codeaurora.org>
+ * clock.
+ */
+ bool independent_clocks;
- bool have_governor_per_policy;
+ bool have_governor_per_policy;
};
+