linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers
@ 2018-02-26  5:08 Viresh Kumar
  2018-02-26  5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
  2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
  0 siblings, 2 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26  5:08 UTC (permalink / raw)
  To: Rafael Wysocki, bcm-kernel-feedback-list, Benjamin Herrenschmidt,
	Brian Norris, Florian Fainelli, Gregory Fong, Jonathan Hunter,
	Krzysztof Kozlowski, Kukjin Kim, Markus Mayer, Matthias Brugger,
	Michael Ellerman, Paul Mackerras, Sudeep Holla, Thierry Reding
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, linux-arm-kernel,
	linux-mediatek, linuxppc-dev, linux-samsung-soc, linux-tegra

Hi,

A patchset [1] sent last week already updated the cpufreq core to start
validating cpufreq table if the policy contains a valid
"policy->freq_table" pointer.

This series updates all such drivers to stop validating the cpufreq
table directly and let only the core handle it.

It depends on the previous series [1] and two cleanup patches [2][3] and
is rebased over 4.16-rc3.

It is already tested by the 0-day testing infrastructure and no issues
were reported.

--
viresh

[1] https://lkml.kernel.org/r/bd8c6133ad0bdd56c936802bcf26878d7cbdb679.1519279148.git.viresh.kumar@linaro.org
[2] https://lkml.kernel.org/r/77d470741dab32c2076a35253b9c0c2f0136583b.1519293292.git.viresh.kumar@linaro.org
[3] https://lkml.kernel.org/r/6b737a9c285840b4b2036fa51b692ee835664ec8.1519358505.git.viresh.kumar@linaro.org

Viresh Kumar (27):
  cpufreq: imx6q: Find max freq from frequency table itself
  cpufreq: Don't validate cpufreq table from cpufreq_generic_init()
  cpufreq: acpi: Don't validate the frequency table twice
  cpufreq: arm_big_little: Don't validate the frequency table twice
  cpufreq: blackfin: Don't validate the frequency table twice
  cpufreq: brcmstb: Don't validate the frequency table twice
  cpufreq: cpufreq-dt: Don't validate the frequency table twice
  cpufreq: e_powersaver: Don't validate the frequency table twice
  cpufreq: elanfreq: Don't validate the frequency table twice
  cpufreq: ia64-acpi: Don't validate the frequency table twice
  cpufreq: longhaul: Don't validate the frequency table twice
  cpufreq: mediatek: Don't validate the frequency table twice
  cpufreq: p4-clockmod: Don't validate the frequency table twice
  cpufreq: powernow: Don't validate the frequency table twice
  cpufreq: powerenv: Don't validate the frequency table twice
  cpufreq: ppc_cbe: Don't validate the frequency table twice
  cpufreq: pxa: Don't validate the frequency table twice
  cpufreq: qoirq: Don't validate the frequency table twice
  cpufreq: s3c24xx: Don't validate the frequency table twice
  cpufreq: sc520: Don't validate the frequency table twice
  cpufreq: scpi: Don't validate the frequency table twice
  cpufreq: sfi: Don't validate the frequency table twice
  cpufreq: sh: Don't validate the frequency table twice
  cpufreq: sparc: Don't validate the frequency table twice
  cpufreq: speedstep: Don't validate the frequency table twice
  cpufreq: tegra186: Don't validate the frequency table twice
  cpufreq: Drop cpufreq_table_validate_and_show()

 Documentation/cpu-freq/core.txt        | 12 +++++-------
 Documentation/cpu-freq/cpu-drivers.txt |  6 ++----
 drivers/cpufreq/acpi-cpufreq.c         | 20 +++++++++++---------
 drivers/cpufreq/arm_big_little.c       |  9 +--------
 drivers/cpufreq/blackfin-cpufreq.c     |  3 ++-
 drivers/cpufreq/brcmstb-avs-cpufreq.c  |  6 +-----
 drivers/cpufreq/cpufreq-dt.c           |  8 +-------
 drivers/cpufreq/cpufreq.c              |  9 +--------
 drivers/cpufreq/e_powersaver.c         |  8 +-------
 drivers/cpufreq/elanfreq.c             |  3 ++-
 drivers/cpufreq/freq_table.c           | 14 --------------
 drivers/cpufreq/ia64-acpi-cpufreq.c    |  7 +------
 drivers/cpufreq/imx6q-cpufreq.c        |  7 ++++---
 drivers/cpufreq/longhaul.c             |  3 ++-
 drivers/cpufreq/mediatek-cpufreq.c     | 11 +----------
 drivers/cpufreq/p4-clockmod.c          |  3 ++-
 drivers/cpufreq/powernow-k6.c          |  3 ++-
 drivers/cpufreq/powernow-k7.c          |  3 ++-
 drivers/cpufreq/powernow-k8.c          | 10 +---------
 drivers/cpufreq/powernv-cpufreq.c      | 11 +++--------
 drivers/cpufreq/ppc_cbe_cpufreq.c      |  5 ++---
 drivers/cpufreq/pxa2xx-cpufreq.c       |  4 ++--
 drivers/cpufreq/pxa3xx-cpufreq.c       |  4 +++-
 drivers/cpufreq/qoriq-cpufreq.c        | 13 ++-----------
 drivers/cpufreq/s3c24xx-cpufreq.c      |  5 +----
 drivers/cpufreq/sc520_freq.c           |  3 ++-
 drivers/cpufreq/scpi-cpufreq.c         | 10 +---------
 drivers/cpufreq/sfi-cpufreq.c          |  3 ++-
 drivers/cpufreq/sh-cpufreq.c           | 22 ++++++++++++----------
 drivers/cpufreq/sparc-us2e-cpufreq.c   |  3 ++-
 drivers/cpufreq/sparc-us3-cpufreq.c    |  3 ++-
 drivers/cpufreq/speedstep-centrino.c   |  4 ++--
 drivers/cpufreq/speedstep-ich.c        |  4 +++-
 drivers/cpufreq/speedstep-smi.c        |  4 +++-
 drivers/cpufreq/tegra186-cpufreq.c     |  2 +-
 include/linux/cpufreq.h                |  2 --
 36 files changed, 85 insertions(+), 162 deletions(-)

-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
  2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
@ 2018-02-26  5:08 ` Viresh Kumar
  2018-02-26 11:53   ` Michael Ellerman
  2018-03-05  4:19   ` [PATCH V2 15/27] cpufreq: powernv: " Viresh Kumar
  2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
  1 sibling, 2 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26  5:08 UTC (permalink / raw)
  To: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, linuxppc-dev

The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.

Stop validating the frequency table from powerenv driver.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/cpufreq/powernv-cpufreq.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 29cdec198657..0591874856d3 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -812,7 +812,7 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy,
 
 static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
 {
-	int base, i, ret;
+	int base, i;
 	struct kernfs_node *kn;
 	struct global_pstate_info *gpstates;
 
@@ -848,15 +848,10 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
 	gpstates->timer.expires = jiffies +
 				msecs_to_jiffies(GPSTATE_TIMER_INTERVAL);
 	spin_lock_init(&gpstates->gpstate_lock);
-	ret = cpufreq_table_validate_and_show(policy, powernv_freqs);
-
-	if (ret < 0) {
-		kfree(policy->driver_data);
-		return ret;
-	}
 
+	policy->freq_table = powernv_freqs;
 	policy->fast_switch_possible = true;
-	return ret;
+	return 0;
 }
 
 static int powernv_cpufreq_cpu_exit(struct cpufreq_policy *policy)
-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
  2018-02-26  5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
@ 2018-02-26 11:53   ` Michael Ellerman
  2018-02-27  3:45     ` Viresh Kumar
  2018-03-05  4:19   ` [PATCH V2 15/27] cpufreq: powernv: " Viresh Kumar
  1 sibling, 1 reply; 7+ messages in thread
From: Michael Ellerman @ 2018-02-26 11:53 UTC (permalink / raw)
  To: Viresh Kumar, Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, linuxppc-dev

Viresh Kumar <viresh.kumar@linaro.org> writes:
> Subject: Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
                                           ^
                                      powernv

> The cpufreq core is already validating the CPU frequency table after
> calling the ->init() callback of the cpufreq drivers and the drivers
> don't need to do the same anymore. Though they need to set the
> policy->freq_table field directly from the ->init() callback now.
>
> Stop validating the frequency table from powerenv driver.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  drivers/cpufreq/powernv-cpufreq.c | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
> index 29cdec198657..0591874856d3 100644
> --- a/drivers/cpufreq/powernv-cpufreq.c
> +++ b/drivers/cpufreq/powernv-cpufreq.c
> @@ -812,7 +812,7 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy,
>  
>  static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
>  {
> -	int base, i, ret;
> +	int base, i;
>  	struct kernfs_node *kn;
>  	struct global_pstate_info *gpstates;

Confusingly this function has two variables called ret, but the other
one is declared inside an if block below in context not shown.

So this hunk is correct.

> @@ -848,15 +848,10 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
>  	gpstates->timer.expires = jiffies +
>  				msecs_to_jiffies(GPSTATE_TIMER_INTERVAL);
>  	spin_lock_init(&gpstates->gpstate_lock);
> -	ret = cpufreq_table_validate_and_show(policy, powernv_freqs);
> -
> -	if (ret < 0) {
> -		kfree(policy->driver_data);
> -		return ret;
> -	}
>  
> +	policy->freq_table = powernv_freqs;
>  	policy->fast_switch_possible = true;
> -	return ret;
> +	return 0;
>  }

LGTM.

cheers

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
  2018-02-26 11:53   ` Michael Ellerman
@ 2018-02-27  3:45     ` Viresh Kumar
  2018-02-28 10:45       ` Michael Ellerman
  0 siblings, 1 reply; 7+ messages in thread
From: Viresh Kumar @ 2018-02-27  3:45 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, linux-pm,
	Vincent Guittot, linuxppc-dev

On 26-02-18, 22:53, Michael Ellerman wrote:
> Viresh Kumar <viresh.kumar@linaro.org> writes:
> > Subject: Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
>                                            ^
>                                       powernv
> 
> > The cpufreq core is already validating the CPU frequency table after
> > calling the ->init() callback of the cpufreq drivers and the drivers
> > don't need to do the same anymore. Though they need to set the
> > policy->freq_table field directly from the ->init() callback now.
> >
> > Stop validating the frequency table from powerenv driver.

                                             powernv :)

Will fix both of them.

-- 
viresh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
  2018-02-27  3:45     ` Viresh Kumar
@ 2018-02-28 10:45       ` Michael Ellerman
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Ellerman @ 2018-02-28 10:45 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, linux-pm,
	Vincent Guittot, linuxppc-dev

Viresh Kumar <viresh.kumar@linaro.org> writes:

> On 26-02-18, 22:53, Michael Ellerman wrote:
>> Viresh Kumar <viresh.kumar@linaro.org> writes:
>> > Subject: Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
>>                                            ^
>>                                       powernv
>> 
>> > The cpufreq core is already validating the CPU frequency table after
>> > calling the ->init() callback of the cpufreq drivers and the drivers
>> > don't need to do the same anymore. Though they need to set the
>> > policy->freq_table field directly from the ->init() callback now.
>> >
>> > Stop validating the frequency table from powerenv driver.
>
>                                              powernv :)
>
> Will fix both of them.

Thanks :)

cheers

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH V2 15/27] cpufreq: powernv: Don't validate the frequency table twice
  2018-02-26  5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
  2018-02-26 11:53   ` Michael Ellerman
@ 2018-03-05  4:19   ` Viresh Kumar
  1 sibling, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-03-05  4:19 UTC (permalink / raw)
  To: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, linuxppc-dev

The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.

Stop validating the frequency table from powernv driver.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V1->V2:
- s/powerenv/powernv/

 drivers/cpufreq/powernv-cpufreq.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 29cdec198657..0591874856d3 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -812,7 +812,7 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy,
 
 static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
 {
-	int base, i, ret;
+	int base, i;
 	struct kernfs_node *kn;
 	struct global_pstate_info *gpstates;
 
@@ -848,15 +848,10 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
 	gpstates->timer.expires = jiffies +
 				msecs_to_jiffies(GPSTATE_TIMER_INTERVAL);
 	spin_lock_init(&gpstates->gpstate_lock);
-	ret = cpufreq_table_validate_and_show(policy, powernv_freqs);
-
-	if (ret < 0) {
-		kfree(policy->driver_data);
-		return ret;
-	}
 
+	policy->freq_table = powernv_freqs;
 	policy->fast_switch_possible = true;
-	return ret;
+	return 0;
 }
 
 static int powernv_cpufreq_cpu_exit(struct cpufreq_policy *policy)
-- 
2.15.0.194.g9af6a3dea062

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers
  2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
  2018-02-26  5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
@ 2018-03-09 10:00 ` Viresh Kumar
  1 sibling, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-03-09 10:00 UTC (permalink / raw)
  To: Rafael Wysocki, bcm-kernel-feedback-list, Benjamin Herrenschmidt,
	Brian Norris, Florian Fainelli, Gregory Fong, Jonathan Hunter,
	Krzysztof Kozlowski, Kukjin Kim, Markus Mayer, Matthias Brugger,
	Michael Ellerman, Paul Mackerras, Sudeep Holla, Thierry Reding
  Cc: linux-pm, Vincent Guittot, linux-arm-kernel, linux-mediatek,
	linuxppc-dev, linux-samsung-soc, linux-tegra

On 26-02-18, 10:38, Viresh Kumar wrote:
> Hi,
> 
> A patchset [1] sent last week already updated the cpufreq core to start
> validating cpufreq table if the policy contains a valid
> "policy->freq_table" pointer.
> 
> This series updates all such drivers to stop validating the cpufreq
> table directly and let only the core handle it.
> 
> It depends on the previous series [1] and two cleanup patches [2][3] and
> is rebased over 4.16-rc3.
> 
> It is already tested by the 0-day testing infrastructure and no issues
> were reported.

We will assume no objections or concerns if you (cc'd here and on the individual
commits) don't respond and the series will then get merged into linux-next next
week.

Thanks.

--
viresh

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-03-09 10:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-26  5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
2018-02-26  5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
2018-02-26 11:53   ` Michael Ellerman
2018-02-27  3:45     ` Viresh Kumar
2018-02-28 10:45       ` Michael Ellerman
2018-03-05  4:19   ` [PATCH V2 15/27] cpufreq: powernv: " Viresh Kumar
2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).