From: Rajendra Nayak <rnayak@ti.com>
To: Tero Kristo <t-kristo@ti.com>
Cc: linux-omap@vger.kernel.org, khilman@ti.com, paul@pwsan.com,
linux-arm-kernel@lists.infradead.org,
Vishwanath BS <vishwanath.bs@ti.com>
Subject: Re: [PATCHv5 5/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux
Date: Fri, 22 Jun 2012 17:15:19 +0530 [thread overview]
Message-ID: <4FE45ACF.3070200@ti.com> (raw)
In-Reply-To: <1331046702-2472-6-git-send-email-t-kristo@ti.com>
Hi,
On Tuesday 06 March 2012 08:41 PM, Tero Kristo wrote:
> From: Vishwanath BS<vishwanath.bs@ti.com>
>
> IO Daisychain feature has to be triggered whenever there is a change in
> device's mux configuration (See section 3.9.4 in OMAP4 Public TRM vP).
>
> Now devices can idle independent of the powerdomain, there can be a
> window where device is idled and corresponding powerdomain can be
> ON/INACTIVE state. In such situations, since both module wake up is
> enabled at padlevel as well as io daisychain sequence is triggered,
> there will be 2 PRCM interrupts (Module async wake up via swakeup and
> IO Pad interrupt). But as PRCM Interrupt handler clears the Module
> Padlevel WKST bit in the first interrupt, module specific interrupt
> handler will not triggered for the second time
>
> Also look at detailed explanation given by Rajendra at
> http://www.spinics.net/lists/linux-serial/msg04480.html
>
> Signed-off-by: Vishwanath BS<vishwanath.bs@ti.com>
> Signed-off-by: Tero Kristo<t-kristo@ti.com>
> ---
> arch/arm/mach-omap2/omap_hwmod.c | 9 +++++++--
> arch/arm/mach-omap2/pm.c | 21 +++++++++++++++++++++
> arch/arm/mach-omap2/pm.h | 1 +
> 3 files changed, 29 insertions(+), 2 deletions(-)
>
> /* Types of sleep_switch used in omap_set_pwrdm_state */
> #define FORCEWAKEUP_SWITCH 0
> #define LOWPOWERSTATE_SWITCH 1
> @@ -221,6 +236,12 @@ static int __init omap2_common_pm_init(void)
> omap2_init_processor_devices();
> omap_pm_if_init();
>
> + if (cpu_is_omap34xx()&& omap3_has_io_chain_ctrl())
> + io_chain_trigger_func = omap3_trigger_io_chain;
While testing with one of Tero's OMAP4 OFF mode support branches (which
also include these patches) I found a OMAP4 standalone build fails
here..
CC arch/arm/mach-omap2/omap_hwmod.o
arch/arm/mach-omap2/omap_hwmod.c: In function '_reconfigure_io_chain':
arch/arm/mach-omap2/omap_hwmod.c:1797: error: implicit declaration of
function 'omap3xxx_prm_reconfigure_io_chain'
make[1]: *** [arch/arm/mach-omap2/omap_hwmod.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2
regards,
Rajendra
> +
> + if (cpu_is_omap44xx())
> + io_chain_trigger_func = omap4_trigger_io_chain;
> +
> return 0;
> }
> postcore_initcall(omap2_common_pm_init);
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index b737b11..f9dac40 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -22,6 +22,7 @@ extern int omap3_can_sleep(void);
> extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
> extern int omap3_idle_init(void);
> extern int omap4_idle_init(void);
> +extern void omap_trigger_io_chain(void);
>
> #if defined(CONFIG_PM_OPP)
> extern int omap3_opp_init(void);
WARNING: multiple messages have this Message-ID (diff)
From: rnayak@ti.com (Rajendra Nayak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv5 5/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux
Date: Fri, 22 Jun 2012 17:15:19 +0530 [thread overview]
Message-ID: <4FE45ACF.3070200@ti.com> (raw)
In-Reply-To: <1331046702-2472-6-git-send-email-t-kristo@ti.com>
Hi,
On Tuesday 06 March 2012 08:41 PM, Tero Kristo wrote:
> From: Vishwanath BS<vishwanath.bs@ti.com>
>
> IO Daisychain feature has to be triggered whenever there is a change in
> device's mux configuration (See section 3.9.4 in OMAP4 Public TRM vP).
>
> Now devices can idle independent of the powerdomain, there can be a
> window where device is idled and corresponding powerdomain can be
> ON/INACTIVE state. In such situations, since both module wake up is
> enabled at padlevel as well as io daisychain sequence is triggered,
> there will be 2 PRCM interrupts (Module async wake up via swakeup and
> IO Pad interrupt). But as PRCM Interrupt handler clears the Module
> Padlevel WKST bit in the first interrupt, module specific interrupt
> handler will not triggered for the second time
>
> Also look at detailed explanation given by Rajendra at
> http://www.spinics.net/lists/linux-serial/msg04480.html
>
> Signed-off-by: Vishwanath BS<vishwanath.bs@ti.com>
> Signed-off-by: Tero Kristo<t-kristo@ti.com>
> ---
> arch/arm/mach-omap2/omap_hwmod.c | 9 +++++++--
> arch/arm/mach-omap2/pm.c | 21 +++++++++++++++++++++
> arch/arm/mach-omap2/pm.h | 1 +
> 3 files changed, 29 insertions(+), 2 deletions(-)
>
> /* Types of sleep_switch used in omap_set_pwrdm_state */
> #define FORCEWAKEUP_SWITCH 0
> #define LOWPOWERSTATE_SWITCH 1
> @@ -221,6 +236,12 @@ static int __init omap2_common_pm_init(void)
> omap2_init_processor_devices();
> omap_pm_if_init();
>
> + if (cpu_is_omap34xx()&& omap3_has_io_chain_ctrl())
> + io_chain_trigger_func = omap3_trigger_io_chain;
While testing with one of Tero's OMAP4 OFF mode support branches (which
also include these patches) I found a OMAP4 standalone build fails
here..
CC arch/arm/mach-omap2/omap_hwmod.o
arch/arm/mach-omap2/omap_hwmod.c: In function '_reconfigure_io_chain':
arch/arm/mach-omap2/omap_hwmod.c:1797: error: implicit declaration of
function 'omap3xxx_prm_reconfigure_io_chain'
make[1]: *** [arch/arm/mach-omap2/omap_hwmod.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2
regards,
Rajendra
> +
> + if (cpu_is_omap44xx())
> + io_chain_trigger_func = omap4_trigger_io_chain;
> +
> return 0;
> }
> postcore_initcall(omap2_common_pm_init);
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index b737b11..f9dac40 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -22,6 +22,7 @@ extern int omap3_can_sleep(void);
> extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
> extern int omap3_idle_init(void);
> extern int omap4_idle_init(void);
> +extern void omap_trigger_io_chain(void);
>
> #if defined(CONFIG_PM_OPP)
> extern int omap3_opp_init(void);
next prev parent reply other threads:[~2012-06-22 11:45 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-06 15:11 [PATCHv5 0/6] ARM: OMAP3+: IO daisy chain support fixes Tero Kristo
2012-03-06 15:11 ` Tero Kristo
2012-03-06 15:11 ` [PATCHv5 1/6] ARM: OMAP3 PM: correct enable/disable of daisy io chain Tero Kristo
2012-03-06 15:11 ` Tero Kristo
2012-03-10 3:48 ` Paul Walmsley
2012-03-10 3:48 ` Paul Walmsley
2012-03-06 15:11 ` [PATCHv5 2/6] ARM: OMAP3 PM: Move IO Daisychain function to omap3 prm file Tero Kristo
2012-03-06 15:11 ` Tero Kristo
2012-03-06 15:57 ` Nishanth Menon
2012-03-06 15:57 ` Nishanth Menon
2012-03-06 16:05 ` Tero Kristo
2012-03-06 16:05 ` Tero Kristo
2012-03-10 0:40 ` Paul Walmsley
2012-03-10 0:40 ` Paul Walmsley
2012-03-12 5:50 ` Rajendra Nayak
2012-03-12 5:50 ` Rajendra Nayak
2012-03-12 9:19 ` Tero Kristo
2012-03-12 9:19 ` Tero Kristo
2012-03-12 10:15 ` Rajendra Nayak
2012-03-12 10:15 ` Rajendra Nayak
2012-03-10 3:50 ` Paul Walmsley
2012-03-10 3:50 ` Paul Walmsley
2012-03-06 15:11 ` [PATCHv5 3/6] ARM: OMAP4 PM: Add IO Daisychain support Tero Kristo
2012-03-06 15:11 ` Tero Kristo
2012-03-10 3:59 ` Paul Walmsley
2012-03-10 3:59 ` Paul Walmsley
2012-03-12 5:52 ` Rajendra Nayak
2012-03-12 5:52 ` Rajendra Nayak
2012-03-12 6:10 ` Rajendra Nayak
2012-03-12 6:10 ` Rajendra Nayak
2012-03-12 6:51 ` Paul Walmsley
2012-03-12 6:51 ` Paul Walmsley
2012-03-06 15:11 ` [PATCHv5 4/6] ARM: OMAP3+: PRM: Enable IO wake up Tero Kristo
2012-03-06 15:11 ` Tero Kristo
2012-03-10 4:00 ` Paul Walmsley
2012-03-10 4:00 ` Paul Walmsley
2012-03-06 15:11 ` [PATCHv5 5/6] ARM: OMAP3PLUS PM: Add IO Daisychain support via hwmod mux Tero Kristo
2012-03-06 15:11 ` Tero Kristo
2012-03-10 4:01 ` Paul Walmsley
2012-03-10 4:01 ` Paul Walmsley
2012-06-22 11:45 ` Rajendra Nayak [this message]
2012-06-22 11:45 ` Rajendra Nayak
2012-06-22 18:39 ` Paul Walmsley
2012-06-22 18:39 ` Paul Walmsley
2012-03-06 15:11 ` [PATCHv5 6/6] ARM: OMAP3 PM: Remove IO Daisychain control from cpuidle Tero Kristo
2012-03-06 15:11 ` Tero Kristo
2012-03-10 4:02 ` Paul Walmsley
2012-03-10 4:02 ` Paul Walmsley
2012-03-10 4:05 ` [PATCHv5 0/6] ARM: OMAP3+: IO daisy chain support fixes Paul Walmsley
2012-03-10 4:05 ` Paul Walmsley
2012-03-12 5:53 ` Rajendra Nayak
2012-03-12 5:53 ` Rajendra Nayak
2012-03-12 10:00 ` Tero Kristo
2012-03-12 10:00 ` Tero Kristo
2012-03-12 10:13 ` Paul Walmsley
2012-03-12 10:13 ` Paul Walmsley
2012-03-10 21:29 ` Paul Walmsley
2012-03-10 21:29 ` Paul Walmsley
2012-03-12 5:55 ` Rajendra Nayak
2012-03-12 5:55 ` Rajendra Nayak
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=4FE45ACF.3070200@ti.com \
--to=rnayak@ti.com \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=t-kristo@ti.com \
--cc=vishwanath.bs@ti.com \
/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.