ARM: OMAP2+: hwmod_core: enable optional clocks before main clock
Subsystems (4)
PATCH 1/1 ARM: OMAP2+: hwmod_core: enable optional clocks before main clock
The optional clocks must be enabled before the main clock after the transition to clkctrl controlled clocks is done. Otherwise the module we attempt to enable might be stuck in transition.
---
Hi Tony,
This patch fixes a regression seen in linux-next, where certain peripherals fail to enable after the clkctrl changes are in. The case seen has been with mcasp3, where it fails to transition to enabled during the audio driver probe. Not sure where you want to pick this up, maybe as early rc fixes if its too late to push this to linux-next?
arch/arm/mach-omap2/omap_hwmod.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
arch/arm/mach-omap2/omap_hwmod.c +3 -3
@@ -976,6 +976,9 @@ static int _enable_clocks(struct omap_hwmod *oh)pr_debug ("omap_hwmod: %s: enabling clocks\n" , oh->name); +if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) +_enable_optional_clocks (oh); +if (oh->_clk)clk_enable (oh->_clk);
@@ -984,9 +987,6 @@ static int _enable_clocks(struct omap_hwmod *oh)clk_enable (os->_clk); } -if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) -_enable_optional_clocks (oh); -/* The opt clocks are controlled by the device driver. */ return 0 ;
Signature · 4 lines
1.9.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
PATCH 1/1 ARM: OMAP2+: hwmod_core: enable optional clocks before main clock
Quoted 6 lines · Tero Kristo
The optional clocks must be enabled before the main clock after the transition to clkctrl controlled clocks is done. Otherwise the module we attempt to enable might be stuck in transition.
Reported-by Keerthy <[email protected]>Signed-off-by Tero Kristo <[email protected]>
Tested the patch on both DRA7-EVM and DRA72-EVM. I no longer see the issue:
Quoted 37 lines
---
Hi Tony,This patch fixes a regression seen in linux-next, where certain peripherals fail to enable after the clkctrl changes are in. The case seen has been with mcasp3, where it fails to transition to enabled during the audio driver probe. Not sure where you want to pick this up, maybe as early rc fixes if its too late to push this to linux-next?
arch/arm/mach-omap2/omap_hwmod.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)arch/arm/mach-omap2/omap_hwmod.c +3
-3@@ -976,6 +976,9 @@ static int _enable_clocks(struct omap_hwmod *oh)pr_debug ("omap_hwmod: %s: enabling clocks\n" , oh->name); +if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) +_enable_optional_clocks (oh); +if (oh->_clk)clk_enable (oh->_clk);@@ -984,9 +987,6 @@ static int _enable_clocks(struct omap_hwmod *oh)clk_enable (os->_clk); } -if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) -_enable_optional_clocks (oh); -/* The opt clocks are controlled by the device driver. */ return 0 ;
Tony Lindgren
maintainerPATCH 1/1 ARM: OMAP2+: hwmod_core: enable optional clocks before main clock
Quoted 7 lines · Keerthy
Quoted 4 lines · Tero Kristo
The optional clocks must be enabled before the main clock after the transition to clkctrl controlled clocks is done. Otherwise the module we attempt to enable might be stuck in transition.
Quoted 15 lines
Quoted 2 lines
Reported-by Keerthy <[email protected]>Signed-off-by Tero Kristo <[email protected]>Tested the patch on both DRA7-EVM and DRA72-EVM. I no longer see the issue:
Tested-by Keerthy <[email protected]>Quoted 8 lines
---
Hi Tony,This patch fixes a regression seen in linux-next, where certain peripherals fail to enable after the clkctrl changes are in. The case seen has been with mcasp3, where it fails to transition to enabled during the audio driver probe. Not sure where you want to pick this up, maybe as early rc fixes if its too late to push this to linux-next?
Thanks applying into omap-for-v4.16/soc, yeah we should get it merged during the merge window as a fix.
Regards,
Tony
Quoted 28 lines
Quoted 28 lines
arch/arm/mach-omap2/omap_hwmod.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)arch/arm/mach-omap2/omap_hwmod.c +3
-3@@ -976,6 +976,9 @@ static int _enable_clocks(struct omap_hwmod *oh)pr_debug ("omap_hwmod: %s: enabling clocks\n" , oh->name); +if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) +_enable_optional_clocks (oh); +if (oh->_clk)clk_enable (oh->_clk);@@ -984,9 +987,6 @@ static int _enable_clocks(struct omap_hwmod *oh)clk_enable (os->_clk); } -if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) -_enable_optional_clocks (oh); -/* The opt clocks are controlled by the device driver. */ return 0 ;
PATCH 1/1 ARM: OMAP2+: hwmod_core: enable optional clocks before main clock
Quoted 18 lines · Tony Lindgren
Quoted 17 lines · Keerthy
Quoted 6 lines · Tero Kristo
The optional clocks must be enabled before the main clock after the transition to clkctrl controlled clocks is done. Otherwise the module we attempt to enable might be stuck in transition.
Reported-by Keerthy <[email protected]>Signed-off-by Tero Kristo <[email protected]>Tested the patch on both DRA7-EVM and DRA72-EVM. I no longer see the issue:
Tested-by Keerthy <[email protected]>Quoted 3 lines
---
Hi Tony,
Quoted 8 lines
Quoted 5 lines
Quoted 5 lines
This patch fixes a regression seen in linux-next, where certain peripherals fail to enable after the clkctrl changes are in. The case seen has been with mcasp3, where it fails to transition to enabled during the audio driver probe. Not sure where you want to pick this up, maybe as early rc fixes if its too late to push this to linux-next?
Thanks applying into omap-for-v4.16/soc, yeah we should get it merged during the merge window as a fix.
Tony,
I think this missed the merge for some reason? Can you queue this up as a fix as its still needed?
-Tero
Quoted 28 lines
Regards,
Tony
Quoted 21 lines
Quoted 21 lines
arch/arm/mach-omap2/omap_hwmod.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)arch/arm/mach-omap2/omap_hwmod.c +3
-0@@ -976,6 +976,9 @@ static int _enable_clocks(struct omap_hwmod *oh)pr_debug ("omap_hwmod: %s: enabling clocks\n" , oh->name); +if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) +_enable_optional_clocks (oh); +if (oh->_clk)clk_enable (oh->_clk);@@ -984,9 +987,6 @@ static int _enable_clocks(struct omap_hwmod *oh)clk_enable (os->_clk); }
Quoted 7 lines
Quoted 7 lines
arch/arm/mach-omap2/omap_hwmod.c static int _enable_clocks(struct omap_hwmod *oh) · line 992
Quoted 7 lines
arch/arm/mach-omap2/omap_hwmod.c +0
-3-if (oh->flags &HWMOD_OPT_CLKS_NEEDED ) -_enable_optional_clocks (oh); -/* The opt clocks are controlled by the device driver. */ return 0 ;
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Tony Lindgren
maintainerPATCH 1/1 ARM: OMAP2+: hwmod_core: enable optional clocks before main clock
Quoted 2 lines · Tero Kristo
I think this missed the merge for some reason? Can you queue this up as a fix as its still needed?
Yes sorry I noticed too it missed the merge window. I sent a pull request for that last week in the fixes:
[GIT PULL] omap fixes for v4.16-rc cycle
So it should get there hopefully this week.
Regards,
Tony