diff mbox series

[V2] cpufreq: imx6q: Only disabling 792MHz OPP for i.MX6ULL types below 792MHz

Message ID 20231122134113.63670-1-cniedermaier@dh-electronics.com (mailing list archive)
State New, archived
Delegated to: viresh kumar
Headers show
Series [V2] cpufreq: imx6q: Only disabling 792MHz OPP for i.MX6ULL types below 792MHz | expand

Commit Message

Christoph Niedermaier Nov. 22, 2023, 1:41 p.m. UTC
For a 900MHz i.MX6ULL CPU the 792MHz OPP is disabled. There is no
convincing reason to disable this OPP. If a CPU can run at 900MHz,
it should also be able to cope with 792MHz. Looking at the voltage
level of 792MHz in [1] (page 24, table 10. "Operating Ranges") the
current defined OPP is above the minimum. So the voltage level
shouldn't be a problem. However in [2] (page 24, table 10.
"Operating Ranges"), it is not mentioned that 792MHz OPP isn't
allowed. Change it to only disable 792MHz OPP for i.MX6ULL types
below 792 MHz.

[1] https://www.nxp.com/docs/en/data-sheet/IMX6ULLIEC.pdf
[2] https://www.nxp.com/docs/en/data-sheet/IMX6ULLCEC.pdf

Fixes: 0aa9abd4c212 ("cpufreq: imx6q: check speed grades for i.MX6ULL")
Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
---
V2: - Improve the commit message
    - Add Fixes tag
    - Add Reviewed-by tag
---
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
To: linux-arm-kernel@lists.infradead.org
---
 drivers/cpufreq/imx6q-cpufreq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Viresh Kumar Nov. 23, 2023, 7:28 a.m. UTC | #1
On 22-11-23, 14:41, Christoph Niedermaier wrote:
> For a 900MHz i.MX6ULL CPU the 792MHz OPP is disabled. There is no
> convincing reason to disable this OPP. If a CPU can run at 900MHz,
> it should also be able to cope with 792MHz. Looking at the voltage
> level of 792MHz in [1] (page 24, table 10. "Operating Ranges") the
> current defined OPP is above the minimum. So the voltage level
> shouldn't be a problem. However in [2] (page 24, table 10.
> "Operating Ranges"), it is not mentioned that 792MHz OPP isn't
> allowed. Change it to only disable 792MHz OPP for i.MX6ULL types
> below 792 MHz.
> 
> [1] https://www.nxp.com/docs/en/data-sheet/IMX6ULLIEC.pdf
> [2] https://www.nxp.com/docs/en/data-sheet/IMX6ULLCEC.pdf
> 
> Fixes: 0aa9abd4c212 ("cpufreq: imx6q: check speed grades for i.MX6ULL")
> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> Reviewed-by: Marek Vasut <marex@denx.de>
> Reviewed-by: Fabio Estevam <festevam@denx.de>
> ---
> V2: - Improve the commit message
>     - Add Fixes tag
>     - Add Reviewed-by tag
> ---
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> Cc: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Fabio Estevam <festevam@denx.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: linux-pm@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> To: linux-arm-kernel@lists.infradead.org
> ---
>  drivers/cpufreq/imx6q-cpufreq.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c
> index 494d044b9e72..33728c242f66 100644
> --- a/drivers/cpufreq/imx6q-cpufreq.c
> +++ b/drivers/cpufreq/imx6q-cpufreq.c
> @@ -327,7 +327,7 @@ static int imx6ul_opp_check_speed_grading(struct device *dev)
>  			imx6x_disable_freq_in_opp(dev, 696000000);
>  
>  	if (of_machine_is_compatible("fsl,imx6ull")) {
> -		if (val != OCOTP_CFG3_6ULL_SPEED_792MHZ)
> +		if (val < OCOTP_CFG3_6ULL_SPEED_792MHZ)
>  			imx6x_disable_freq_in_opp(dev, 792000000);
>  
>  		if (val != OCOTP_CFG3_6ULL_SPEED_900MHZ)

What about another similar check ?

		if (val != OCOTP_CFG3_6ULL_SPEED_900MHZ)
Viresh Kumar Nov. 23, 2023, 7:33 a.m. UTC | #2
On 23-11-23, 12:58, Viresh Kumar wrote:
> On 22-11-23, 14:41, Christoph Niedermaier wrote:
> > For a 900MHz i.MX6ULL CPU the 792MHz OPP is disabled. There is no
> > convincing reason to disable this OPP. If a CPU can run at 900MHz,
> > it should also be able to cope with 792MHz. Looking at the voltage
> > level of 792MHz in [1] (page 24, table 10. "Operating Ranges") the
> > current defined OPP is above the minimum. So the voltage level
> > shouldn't be a problem. However in [2] (page 24, table 10.
> > "Operating Ranges"), it is not mentioned that 792MHz OPP isn't
> > allowed. Change it to only disable 792MHz OPP for i.MX6ULL types
> > below 792 MHz.
> > 
> > [1] https://www.nxp.com/docs/en/data-sheet/IMX6ULLIEC.pdf
> > [2] https://www.nxp.com/docs/en/data-sheet/IMX6ULLCEC.pdf
> > 
> > Fixes: 0aa9abd4c212 ("cpufreq: imx6q: check speed grades for i.MX6ULL")
> > Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> > Reviewed-by: Marek Vasut <marex@denx.de>
> > Reviewed-by: Fabio Estevam <festevam@denx.de>
> > ---
> > V2: - Improve the commit message
> >     - Add Fixes tag
> >     - Add Reviewed-by tag
> > ---
> > Cc: Viresh Kumar <viresh.kumar@linaro.org>
> > Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> > Cc: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
> > Cc: Stefan Agner <stefan@agner.ch>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> > Cc: Marek Vasut <marex@denx.de>
> > Cc: Fabio Estevam <festevam@denx.de>
> > Cc: NXP Linux Team <linux-imx@nxp.com>
> > Cc: linux-pm@vger.kernel.org
> > Cc: linux-kernel@vger.kernel.org
> > To: linux-arm-kernel@lists.infradead.org
> > ---
> >  drivers/cpufreq/imx6q-cpufreq.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c
> > index 494d044b9e72..33728c242f66 100644
> > --- a/drivers/cpufreq/imx6q-cpufreq.c
> > +++ b/drivers/cpufreq/imx6q-cpufreq.c
> > @@ -327,7 +327,7 @@ static int imx6ul_opp_check_speed_grading(struct device *dev)
> >  			imx6x_disable_freq_in_opp(dev, 696000000);
> >  
> >  	if (of_machine_is_compatible("fsl,imx6ull")) {
> > -		if (val != OCOTP_CFG3_6ULL_SPEED_792MHZ)
> > +		if (val < OCOTP_CFG3_6ULL_SPEED_792MHZ)
> >  			imx6x_disable_freq_in_opp(dev, 792000000);
> >  
> >  		if (val != OCOTP_CFG3_6ULL_SPEED_900MHZ)
> 
> What about another similar check ?
> 
> 		if (val != OCOTP_CFG3_6ULL_SPEED_900MHZ)

Yeah, that isn't required I guess.

Applied. Thanks.
diff mbox series

Patch

diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c
index 494d044b9e72..33728c242f66 100644
--- a/drivers/cpufreq/imx6q-cpufreq.c
+++ b/drivers/cpufreq/imx6q-cpufreq.c
@@ -327,7 +327,7 @@  static int imx6ul_opp_check_speed_grading(struct device *dev)
 			imx6x_disable_freq_in_opp(dev, 696000000);
 
 	if (of_machine_is_compatible("fsl,imx6ull")) {
-		if (val != OCOTP_CFG3_6ULL_SPEED_792MHZ)
+		if (val < OCOTP_CFG3_6ULL_SPEED_792MHZ)
 			imx6x_disable_freq_in_opp(dev, 792000000);
 
 		if (val != OCOTP_CFG3_6ULL_SPEED_900MHZ)