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 |
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)
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 --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)