]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fix up backport of cpufreq-intel_pstate-fix-epp-setting-via-sysfs-in-ac.patch
authorSasha Levin <sashal@kernel.org>
Sun, 30 Aug 2020 22:58:00 +0000 (18:58 -0400)
committerSasha Levin <sashal@kernel.org>
Sun, 30 Aug 2020 23:40:51 +0000 (19:40 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.4/cpufreq-intel_pstate-fix-epp-setting-via-sysfs-in-ac.patch
queue-5.8/cpufreq-intel_pstate-fix-epp-setting-via-sysfs-in-ac.patch

index 124a76840746587992edd9f62107255a14e8de0d..f7a7101407d0fdc8f3055e0174ffc3129c95bb76 100644 (file)
@@ -1,4 +1,4 @@
-From 19289c2bceec65a4f5424e32409c06390ec6a06a Mon Sep 17 00:00:00 2001
+From cdb19922ce9e61b52ad3fc33324fe78a75bb2b25 Mon Sep 17 00:00:00 2001
 From: Sasha Levin <sashal@kernel.org>
 Date: Tue, 28 Jul 2020 19:09:32 +0200
 Subject: cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode
@@ -29,11 +29,11 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
 Reviewed-by: Francisco Jerez <currojerez@riseup.net>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/cpufreq/intel_pstate.c | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
+ drivers/cpufreq/intel_pstate.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
-index 53dc0fd6f6d3c..270ad1b5ae61b 100644
+index c7540ad28995b..8c730a47e0537 100644
 --- a/drivers/cpufreq/intel_pstate.c
 +++ b/drivers/cpufreq/intel_pstate.c
 @@ -649,11 +649,12 @@ static int intel_pstate_set_energy_pref_index(struct cpudata *cpu_data,
@@ -54,7 +54,7 @@ index 53dc0fd6f6d3c..270ad1b5ae61b 100644
  
                value &= ~GENMASK_ULL(31, 24);
  
-@@ -661,6 +662,12 @@ static int intel_pstate_set_energy_pref_index(struct cpudata *cpu_data,
+@@ -661,13 +662,18 @@ static int intel_pstate_set_energy_pref_index(struct cpudata *cpu_data,
                        epp = epp_values[pref_index - 1];
  
                value |= (u64)epp << 24;
@@ -67,6 +67,13 @@ index 53dc0fd6f6d3c..270ad1b5ae61b 100644
                ret = wrmsrl_on_cpu(cpu_data->cpu, MSR_HWP_REQUEST, value);
        } else {
                if (epp == -EINVAL)
+                       epp = (pref_index - 1) << 2;
+               ret = intel_pstate_set_epb(cpu_data->cpu, epp);
+       }
+-return_pref:
+       mutex_unlock(&intel_pstate_limits_lock);
+       return ret;
 -- 
 2.25.1
 
index 40f3c02a30ab002cadd95672a32c12f13fa27ec8..f7a7101407d0fdc8f3055e0174ffc3129c95bb76 100644 (file)
@@ -1,4 +1,4 @@
-From b4abe2ece016e7d9e65f8c20448ca9fc18f99599 Mon Sep 17 00:00:00 2001
+From cdb19922ce9e61b52ad3fc33324fe78a75bb2b25 Mon Sep 17 00:00:00 2001
 From: Sasha Levin <sashal@kernel.org>
 Date: Tue, 28 Jul 2020 19:09:32 +0200
 Subject: cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode
@@ -29,11 +29,11 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
 Reviewed-by: Francisco Jerez <currojerez@riseup.net>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/cpufreq/intel_pstate.c | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
+ drivers/cpufreq/intel_pstate.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
-index c7540ad28995b..2eea6db98cb5e 100644
+index c7540ad28995b..8c730a47e0537 100644
 --- a/drivers/cpufreq/intel_pstate.c
 +++ b/drivers/cpufreq/intel_pstate.c
 @@ -649,11 +649,12 @@ static int intel_pstate_set_energy_pref_index(struct cpudata *cpu_data,
@@ -54,7 +54,7 @@ index c7540ad28995b..2eea6db98cb5e 100644
  
                value &= ~GENMASK_ULL(31, 24);
  
-@@ -661,6 +662,12 @@ static int intel_pstate_set_energy_pref_index(struct cpudata *cpu_data,
+@@ -661,13 +662,18 @@ static int intel_pstate_set_energy_pref_index(struct cpudata *cpu_data,
                        epp = epp_values[pref_index - 1];
  
                value |= (u64)epp << 24;
@@ -67,6 +67,13 @@ index c7540ad28995b..2eea6db98cb5e 100644
                ret = wrmsrl_on_cpu(cpu_data->cpu, MSR_HWP_REQUEST, value);
        } else {
                if (epp == -EINVAL)
+                       epp = (pref_index - 1) << 2;
+               ret = intel_pstate_set_epb(cpu_data->cpu, epp);
+       }
+-return_pref:
+       mutex_unlock(&intel_pstate_limits_lock);
+       return ret;
 -- 
 2.25.1