From: Dong Aisheng <dongas86@gmail.com>
To: Dong Aisheng <aisheng.dong@nxp.com>
Cc: linux-clk@vger.kernel.org, anson.huang@nxp.com,
mturquette@baylibre.com, sboyd@codeaurora.org,
linux-kernel@vger.kernel.org, shawnguo@kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [RESEND PATCH 0/8] clk: core: support clocks which requires parents on
Date: Thu, 2 Jun 2016 23:20:59 +0800 [thread overview]
Message-ID: <20160602152059.GC31124@shlinux2> (raw)
In-Reply-To: <1461144880-8724-1-git-send-email-aisheng.dong@nxp.com>
On Wed, Apr 20, 2016 at 05:34:32PM +0800, Dong Aisheng wrote:
> This is a RESEND patch series.
> The original one can be found at here:
> http://www.spinics.net/lists/arm-kernel/msg435136.html
> It has no functional changes but improve the commit message and
> comments a bit.
>
> This patch series adds support in clock framework for clocks which all the
> operations like gate/ungate, set_rate, set_parent must require its parent
> clock on.
>
> This special HW requirement can be found on Freescale i.MX7D platform.
> Besides i.MX7D, it seems lpc18xx clock has a similar requirement.
> (see: http://www.spinics.net/lists/arm-kernel/msg439307.html)
> And there may be other SoCs in the same situation.
>
> Current clock core can not support such type of clock well.
>
> This patch introduce a new flag CLK_SET_PARENT_ON to handle this special
> case in clock core that enable its parent clock firstly for each operation
> and disable it later after operation complete.
>
> There're two special cases for handling this issue:
>
> One is fixing the possible disabling clocks while its parent is already off
> during kernel booting phase in clk_disable_unused_subtree()
> Since this state misalign only happens during booting time,
> so we simply enable the parent clocks before disable it if flag is set.
> For normal clk_disable after kernel booting, there's no such issue
> since the clock tree is already created which makes sure no such issue exist.
>
> Another special case is for set_parent() operation.
> It requires both parent, old one and new one, to be enabled at the same
> time during the operation.
>
> Patch 1~4 does this work.
>
> After clk core supports mx7d type clocks, we don't have to enable all clock
> by default anymore, then we remove the enable of all clocks code and instead
> only enable set of minimum required clocks.
>
> Patch 5~8 does this work.
>
> The whole patch series is based on for-next branch of clock tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git
>
Hi Stephen,
Could you give some comments about this patch series?
Regards
Dong Aisheng
> Dong Aisheng (8):
> clk: introduce clk_core_enable_lock and clk_core_disable_lock
> functions
> clk: move clk_disable_unused after clk_core_disable_unprepare function
> clk: core: support clocks which requires parents on (part 1)
> clk: core: support clocks which requires parents on (part 2)
> clk: imx: re-order and concentrate the same type of clk api
> clk: imx: add clk api for supporting clk_OPS_PARENT_ON clocks
> clk: imx7d: using api with flag CLK_OPS_PARENT_ON
> clk: imx7d: only enable minimum required clocks
>
> drivers/clk/clk.c | 329 +++++++++++--------
> drivers/clk/imx/clk-imx7d.c | 732 ++++++++++++++++++++++---------------------
> drivers/clk/imx/clk.h | 90 ++++--
> include/linux/clk-provider.h | 2 +
> 4 files changed, 623 insertions(+), 530 deletions(-)
>
> --
> 1.9.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: dongas86@gmail.com (Dong Aisheng)
To: linux-arm-kernel@lists.infradead.org
Subject: [RESEND PATCH 0/8] clk: core: support clocks which requires parents on
Date: Thu, 2 Jun 2016 23:20:59 +0800 [thread overview]
Message-ID: <20160602152059.GC31124@shlinux2> (raw)
In-Reply-To: <1461144880-8724-1-git-send-email-aisheng.dong@nxp.com>
On Wed, Apr 20, 2016 at 05:34:32PM +0800, Dong Aisheng wrote:
> This is a RESEND patch series.
> The original one can be found at here:
> http://www.spinics.net/lists/arm-kernel/msg435136.html
> It has no functional changes but improve the commit message and
> comments a bit.
>
> This patch series adds support in clock framework for clocks which all the
> operations like gate/ungate, set_rate, set_parent must require its parent
> clock on.
>
> This special HW requirement can be found on Freescale i.MX7D platform.
> Besides i.MX7D, it seems lpc18xx clock has a similar requirement.
> (see: http://www.spinics.net/lists/arm-kernel/msg439307.html)
> And there may be other SoCs in the same situation.
>
> Current clock core can not support such type of clock well.
>
> This patch introduce a new flag CLK_SET_PARENT_ON to handle this special
> case in clock core that enable its parent clock firstly for each operation
> and disable it later after operation complete.
>
> There're two special cases for handling this issue:
>
> One is fixing the possible disabling clocks while its parent is already off
> during kernel booting phase in clk_disable_unused_subtree()
> Since this state misalign only happens during booting time,
> so we simply enable the parent clocks before disable it if flag is set.
> For normal clk_disable after kernel booting, there's no such issue
> since the clock tree is already created which makes sure no such issue exist.
>
> Another special case is for set_parent() operation.
> It requires both parent, old one and new one, to be enabled at the same
> time during the operation.
>
> Patch 1~4 does this work.
>
> After clk core supports mx7d type clocks, we don't have to enable all clock
> by default anymore, then we remove the enable of all clocks code and instead
> only enable set of minimum required clocks.
>
> Patch 5~8 does this work.
>
> The whole patch series is based on for-next branch of clock tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git
>
Hi Stephen,
Could you give some comments about this patch series?
Regards
Dong Aisheng
> Dong Aisheng (8):
> clk: introduce clk_core_enable_lock and clk_core_disable_lock
> functions
> clk: move clk_disable_unused after clk_core_disable_unprepare function
> clk: core: support clocks which requires parents on (part 1)
> clk: core: support clocks which requires parents on (part 2)
> clk: imx: re-order and concentrate the same type of clk api
> clk: imx: add clk api for supporting clk_OPS_PARENT_ON clocks
> clk: imx7d: using api with flag CLK_OPS_PARENT_ON
> clk: imx7d: only enable minimum required clocks
>
> drivers/clk/clk.c | 329 +++++++++++--------
> drivers/clk/imx/clk-imx7d.c | 732 ++++++++++++++++++++++---------------------
> drivers/clk/imx/clk.h | 90 ++++--
> include/linux/clk-provider.h | 2 +
> 4 files changed, 623 insertions(+), 530 deletions(-)
>
> --
> 1.9.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2016-06-02 15:20 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-20 9:34 [RESEND PATCH 0/8] clk: core: support clocks which requires parents on Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 1/8] clk: introduce clk_core_enable_lock and clk_core_disable_lock functions Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 2/8] clk: move clk_disable_unused after clk_core_disable_unprepare function Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 3/8] clk: core: support clocks which requires parents on (part 1) Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-06-24 23:52 ` Michael Turquette
2016-06-24 23:52 ` Michael Turquette
2016-06-24 23:52 ` Michael Turquette
2016-06-29 13:57 ` Dong Aisheng
2016-06-29 13:57 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 4/8] clk: core: support clocks which requires parents on (part 2) Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-06-24 23:52 ` Michael Turquette
2016-06-24 23:52 ` Michael Turquette
2016-06-24 23:52 ` Michael Turquette
2016-06-29 13:59 ` Dong Aisheng
2016-06-29 13:59 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 5/8] clk: imx: re-order and concentrate the same type of clk api Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 6/8] clk: imx: add clk api for supporting clk_OPS_PARENT_ON clocks Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 7/8] clk: imx7d: using api with flag CLK_OPS_PARENT_ON Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-04-20 9:34 ` [RESEND PATCH 8/8] clk: imx7d: only enable minimum required clocks Dong Aisheng
2016-04-20 9:34 ` Dong Aisheng
2016-06-02 15:20 ` Dong Aisheng [this message]
2016-06-02 15:20 ` [RESEND PATCH 0/8] clk: core: support clocks which requires parents on Dong Aisheng
2016-06-12 14:58 ` Dong Aisheng
2016-06-12 14:58 ` Dong Aisheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160602152059.GC31124@shlinux2 \
--to=dongas86@gmail.com \
--cc=aisheng.dong@nxp.com \
--cc=anson.huang@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=sboyd@codeaurora.org \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.