From: rnayak@ti.com (Rajendra Nayak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/29] ARM: omap: clk: use clk_prepare_enable and clk_disable_unprepare
Date: Fri, 15 Jun 2012 10:26:26 +0530 [thread overview]
Message-ID: <4FDAC07A.7020702@ti.com> (raw)
In-Reply-To: <20120614191147.GP19410@gmail.com>
On Friday 15 June 2012 12:41 AM, Mike Turquette wrote:
> 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.
right, I completely missed this. Will take a look at these and others
too. thanks.
regards,
Rajendra
>
> 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-15 4:56 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
2012-06-15 4:56 ` Rajendra Nayak [this message]
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=4FDAC07A.7020702@ti.com \
--to=rnayak@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).