From: mturquette@ti.com (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/29] ARM: omap: clk: use clk_prepare_enable and clk_disable_unprepare
Date: Thu, 14 Jun 2012 12:11:47 -0700 [thread overview]
Message-ID: <20120614191147.GP19410@gmail.com> (raw)
In-Reply-To: <1339678038-23082-5-git-send-email-rnayak@ti.com>
On 20120614-18:16, Rajendra Nayak wrote:
> As we move to Common clk framework use clk_prepare_enable()
> instead of clk_enable() and similarly clk_disable_unprepare()
> instead of clk_disable()
>
> Based on initial changes from Mike turquette.
>
> Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Hi Rajendra,
This change looks good except for two questions I have below, related to
calling prepare in an interrupt context. If those are non-issues then
please add my:
Acked-by: Mike Turquette <mturquette@linaro.org>
(or my Reviewed-by... I can never remember which one is correct)
snip
> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
> index 5fb47a1..e5f8e48 100644
> --- a/arch/arm/mach-omap2/display.c
> +++ b/arch/arm/mach-omap2/display.c
> @@ -471,7 +471,7 @@ int omap_dss_reset(struct omap_hwmod *oh)
>
> for (i = oh->opt_clks_cnt, oc = oh->opt_clks; i > 0; i--, oc++)
> if (oc->_clk)
> - clk_enable(oc->_clk);
> + clk_prepare_enable(oc->_clk);
>
> dispc_disable_outputs();
>
> @@ -498,7 +498,7 @@ int omap_dss_reset(struct omap_hwmod *oh)
>
> for (i = oh->opt_clks_cnt, oc = oh->opt_clks; i > 0; i--, oc++)
> if (oc->_clk)
> - clk_disable(oc->_clk);
> + clk_disable_unprepare(oc->_clk);
>
> r = (c == MAX_MODULE_SOFTRESET_WAIT) ? -ETIMEDOUT : 0;
>
omap_dss_reset gets used by hwmod/omap_device, right? Does the reset
path ever get called in an interrupt context? If so clk_prepare might
sleep, which is bad.
snip
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index bf86f7e..b46ae17 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
> @@ -693,7 +693,7 @@ static int _enable_clocks(struct omap_hwmod *oh)
> pr_debug("omap_hwmod: %s: enabling clocks\n", oh->name);
>
> if (oh->_clk)
> - clk_enable(oh->_clk);
> + clk_prepare_enable(oh->_clk);
>
The same question above applies to basically all of the hwmod function
changes below. I don't know if runtime pm invokes these in an interrupt
context or not, but it is something to think about.
Regards,
Mike
next prev parent reply other threads:[~2012-06-14 19:11 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-14 12:46 [PATCH 00/29] Move OMAP2+ over to use COMMON clock Rajendra Nayak
2012-06-14 12:46 ` [PATCH 01/29] clk: Add support for rate table based dividers Rajendra Nayak
2012-06-18 20:04 ` Mike Turquette
2012-06-19 5:22 ` Rajendra Nayak
2012-06-14 12:46 ` [PATCH 02/29] clk: Add CLK_IS_BASIC flag to identify basic clocks Rajendra Nayak
2012-07-03 12:34 ` Rajendra Nayak
2012-07-04 6:18 ` Turquette, Mike
2012-07-04 6:39 ` Rajendra Nayak
2012-06-14 12:46 ` [PATCH 03/29] ARM: omap4: cm: add bitfield width values Rajendra Nayak
2012-06-14 12:46 ` [PATCH 04/29] ARM: omap: clk: use clk_prepare_enable and clk_disable_unprepare Rajendra Nayak
2012-06-14 19:11 ` Mike Turquette [this message]
2012-06-15 4:56 ` Rajendra Nayak
2012-06-20 11:41 ` Tony Lindgren
2012-06-21 5:36 ` Rajendra Nayak
2012-06-21 5:43 ` Paul Walmsley
2012-06-21 5:49 ` Rajendra Nayak
2012-06-14 12:46 ` [PATCH 05/29] mmc: omap_hsmmc: " Rajendra Nayak
2012-06-14 12:46 ` [PATCH 06/29] hwrng: omap: " Rajendra Nayak
2012-06-14 12:46 ` [PATCH 07/29] mfd: omap-usb: " Rajendra Nayak
2012-07-02 11:18 ` Samuel Ortiz
2012-07-02 11:16 ` Rajendra Nayak
2012-07-02 15:23 ` Samuel Ortiz
2012-06-14 12:46 ` [PATCH 08/29] ARM: omap: hwmod: get rid of all omap_clk_get_by_name usage Rajendra Nayak
2012-06-14 12:46 ` [PATCH 09/29] ARM: omap: clk: Nuke plat/clock.c & reuse struct clk as clk_hw_omap Rajendra Nayak
2012-06-19 1:38 ` Mike Turquette
2012-06-14 12:46 ` [PATCH 10/29] ARM: omap: clk: Remove all direct dereferncing of struct clk Rajendra Nayak
2012-06-14 12:47 ` [PATCH 11/29] ARM: omap: hwmod: Fix up hwmod based clkdm accesses Rajendra Nayak
2012-06-14 12:47 ` [PATCH 12/29] ARM: omap4: clk: Convert to common clk Rajendra Nayak
2012-06-14 12:47 ` [PATCH 13/29] ARM: omap3: " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 14/29] ARM: omap2: " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 15/29] ARM: omap: clk: list all clk_hw_omap clks to enable/disable autoidle Rajendra Nayak
2012-06-14 12:47 ` [PATCH 16/29] ARM: omap: clk: Define a function to enable clocks at init Rajendra Nayak
2012-06-14 12:47 ` [PATCH 17/29] ARM: omap: clock: Get rid of unwanted clkdm assocations within clks Rajendra Nayak
2012-06-14 12:47 ` [PATCH 18/29] ARM: omap4: clk: Add 44xx data using common struct clk Rajendra Nayak
2012-06-14 12:47 ` [PATCH 19/29] ARM: omap3: clk: Add 3xxx " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 20/29] ARM: omap2: clk: Add 24xx " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 21/29] ARM: omap: clk: Switch to COMMON clk Rajendra Nayak
2012-06-14 12:47 ` [PATCH 22/29] ARM: omap: clk: Use plat/clock.c only for OMAP1 Rajendra Nayak
2012-06-14 12:47 ` [PATCH 23/29] ARM: omap: hwmod: Cleanup !CONFIG_COMMON_CLK parts Rajendra Nayak
2012-06-14 12:47 ` [PATCH 24/29] ARM: omap4: clk: " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 25/29] ARM: omap3: " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 26/29] ARM: omap2: " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 27/29] ARM: omap4: clk: Delete old OMAP clock data Rajendra Nayak
2012-06-14 12:47 ` [PATCH 28/29] ARM: omap3: " Rajendra Nayak
2012-06-14 12:47 ` [PATCH 29/29] ARM: omap2: " Rajendra Nayak
2012-06-18 4:27 ` [PATCH 00/29] Move OMAP2+ over to use COMMON clock Paul Walmsley
2012-06-18 11:03 ` Rajendra Nayak
2012-09-11 6:35 ` Paul Walmsley
2012-09-11 9:46 ` Vaibhav Hiremath
2012-09-11 23:10 ` Paul Walmsley
2012-09-12 3:53 ` Hiremath, Vaibhav
2012-09-11 20:09 ` Paul Walmsley
2012-09-15 5:32 ` Paul Walmsley
2012-09-15 5:49 ` Paul Walmsley
2012-09-16 20:36 ` Paul Walmsley
2012-09-17 21:26 ` Tony Lindgren
2012-09-17 22:12 ` Paul Walmsley
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=20120614191147.GP19410@gmail.com \
--to=mturquette@ti.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).