* [PATCH] ARM: imx: correct usecount of IPG, ARM and MMDC clk on i.mx6sl
@ 2014-01-20 10:44 Anson Huang
2014-01-21 10:05 ` Lucas Stach
0 siblings, 1 reply; 3+ messages in thread
From: Anson Huang @ 2014-01-20 10:44 UTC (permalink / raw)
To: linux-arm-kernel
IPG, ARM and MMDC's clock should be enabled during kernel boot up,
so we need to maintain their use count, otherwise, they may be
disabled unexpectedly if their children's clock are turned off,
which is not allowed.
Signed-off-by: Anson Huang <b20788@freescale.com>
---
arch/arm/mach-imx/clk-imx6sl.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c
index 78f3bd6..8d720f9 100644
--- a/arch/arm/mach-imx/clk-imx6sl.c
+++ b/arch/arm/mach-imx/clk-imx6sl.c
@@ -291,6 +291,21 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
pr_warn("%s: failed to set AHB clock rate %d!\n",
__func__, ret);
+ /* Correct usecount of IPG clk */
+ ret = clk_prepare_enable(clks[IMX6SL_CLK_IPG]);
+ if (ret)
+ pr_warn("%s: failed to enable IPG clock %d\n", __func__, ret);
+
+ /* Correct usecount of ARM clk */
+ ret = clk_prepare_enable(clks[IMX6SL_CLK_ARM]);
+ if (ret)
+ pr_warn("%s: failed to enable ARM clock %d\n", __func__, ret);
+
+ /* Correct usecount of MMDC clk */
+ ret = clk_prepare_enable(clks[IMX6SL_CLK_MMDC_ROOT]);
+ if (ret)
+ pr_warn("%s: failed to enable MMDC clock %d\n", __func__, ret);
+
if (IS_ENABLED(CONFIG_USB_MXS_PHY)) {
clk_prepare_enable(clks[IMX6SL_CLK_USBPHY1_GATE]);
clk_prepare_enable(clks[IMX6SL_CLK_USBPHY2_GATE]);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH] ARM: imx: correct usecount of IPG, ARM and MMDC clk on i.mx6sl
2014-01-20 10:44 [PATCH] ARM: imx: correct usecount of IPG, ARM and MMDC clk on i.mx6sl Anson Huang
@ 2014-01-21 10:05 ` Lucas Stach
2014-01-21 10:52 ` Anson.Huang at freescale.com
0 siblings, 1 reply; 3+ messages in thread
From: Lucas Stach @ 2014-01-21 10:05 UTC (permalink / raw)
To: linux-arm-kernel
Am Montag, den 20.01.2014, 18:44 +0800 schrieb Anson Huang:
> IPG, ARM and MMDC's clock should be enabled during kernel boot up,
> so we need to maintain their use count, otherwise, they may be
> disabled unexpectedly if their children's clock are turned off,
> which is not allowed.
>
> Signed-off-by: Anson Huang <b20788@freescale.com>
> ---
> arch/arm/mach-imx/clk-imx6sl.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c
> index 78f3bd6..8d720f9 100644
> --- a/arch/arm/mach-imx/clk-imx6sl.c
> +++ b/arch/arm/mach-imx/clk-imx6sl.c
> @@ -291,6 +291,21 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
> pr_warn("%s: failed to set AHB clock rate %d!\n",
> __func__, ret);
>
> + /* Correct usecount of IPG clk */
You don't really correct anything here, so this comment is misleading.
If those are always on clocks, like you suggest in the commit message,
please put this in the comment instead.
Regards,
Lucas
> + ret = clk_prepare_enable(clks[IMX6SL_CLK_IPG]);
> + if (ret)
> + pr_warn("%s: failed to enable IPG clock %d\n", __func__, ret);
> +
> + /* Correct usecount of ARM clk */
> + ret = clk_prepare_enable(clks[IMX6SL_CLK_ARM]);
> + if (ret)
> + pr_warn("%s: failed to enable ARM clock %d\n", __func__, ret);
> +
> + /* Correct usecount of MMDC clk */
> + ret = clk_prepare_enable(clks[IMX6SL_CLK_MMDC_ROOT]);
> + if (ret)
> + pr_warn("%s: failed to enable MMDC clock %d\n", __func__, ret);
> +
> if (IS_ENABLED(CONFIG_USB_MXS_PHY)) {
> clk_prepare_enable(clks[IMX6SL_CLK_USBPHY1_GATE]);
> clk_prepare_enable(clks[IMX6SL_CLK_USBPHY2_GATE]);
--
Pengutronix e.K. | Lucas Stach |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-5076 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] ARM: imx: correct usecount of IPG, ARM and MMDC clk on i.mx6sl
2014-01-21 10:05 ` Lucas Stach
@ 2014-01-21 10:52 ` Anson.Huang at freescale.com
0 siblings, 0 replies; 3+ messages in thread
From: Anson.Huang at freescale.com @ 2014-01-21 10:52 UTC (permalink / raw)
To: linux-arm-kernel
Hi, Lucas
Thanks for the comment, already improved the comment in V2 patch.
Best Regards.
Anson huang ???
?
Freescale Semiconductor Shanghai
?????????192?A?2?
201203
Tel:021-28937058
>-----Original Message-----
>From: Lucas Stach [mailto:l.stach at pengutronix.de]
>Sent: Tuesday, January 21, 2014 6:05 PM
>To: Huang Yongcai-B20788
>Cc: shawn.guo at linaro.org; kernel at pengutronix.de; linux-arm-
>kernel at lists.infradead.org
>Subject: Re: [PATCH] ARM: imx: correct usecount of IPG, ARM and MMDC clk on
>i.mx6sl
>
>Am Montag, den 20.01.2014, 18:44 +0800 schrieb Anson Huang:
>> IPG, ARM and MMDC's clock should be enabled during kernel boot up, so
>> we need to maintain their use count, otherwise, they may be disabled
>> unexpectedly if their children's clock are turned off, which is not
>> allowed.
>>
>> Signed-off-by: Anson Huang <b20788@freescale.com>
>> ---
>> arch/arm/mach-imx/clk-imx6sl.c | 15 +++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>> diff --git a/arch/arm/mach-imx/clk-imx6sl.c
>> b/arch/arm/mach-imx/clk-imx6sl.c index 78f3bd6..8d720f9 100644
>> --- a/arch/arm/mach-imx/clk-imx6sl.c
>> +++ b/arch/arm/mach-imx/clk-imx6sl.c
>> @@ -291,6 +291,21 @@ static void __init imx6sl_clocks_init(struct
>device_node *ccm_node)
>> pr_warn("%s: failed to set AHB clock rate %d!\n",
>> __func__, ret);
>>
>> + /* Correct usecount of IPG clk */
>
>You don't really correct anything here, so this comment is misleading.
>If those are always on clocks, like you suggest in the commit message, please
>put this in the comment instead.
>
>Regards,
>Lucas
>
>> + ret = clk_prepare_enable(clks[IMX6SL_CLK_IPG]);
>> + if (ret)
>> + pr_warn("%s: failed to enable IPG clock %d\n", __func__, ret);
>> +
>> + /* Correct usecount of ARM clk */
>> + ret = clk_prepare_enable(clks[IMX6SL_CLK_ARM]);
>> + if (ret)
>> + pr_warn("%s: failed to enable ARM clock %d\n", __func__, ret);
>> +
>> + /* Correct usecount of MMDC clk */
>> + ret = clk_prepare_enable(clks[IMX6SL_CLK_MMDC_ROOT]);
>> + if (ret)
>> + pr_warn("%s: failed to enable MMDC clock %d\n", __func__, ret);
>> +
>> if (IS_ENABLED(CONFIG_USB_MXS_PHY)) {
>> clk_prepare_enable(clks[IMX6SL_CLK_USBPHY1_GATE]);
>> clk_prepare_enable(clks[IMX6SL_CLK_USBPHY2_GATE]);
>
>--
>Pengutronix e.K. | Lucas Stach |
>Industrial Linux Solutions | http://www.pengutronix.de/ |
>Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-5076 |
>Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-21 10:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-20 10:44 [PATCH] ARM: imx: correct usecount of IPG, ARM and MMDC clk on i.mx6sl Anson Huang
2014-01-21 10:05 ` Lucas Stach
2014-01-21 10:52 ` Anson.Huang at freescale.com
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.