All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rajendra Nayak <rnayak@ti.com>
To: Tero Kristo <t-kristo@ti.com>
Cc: linux-omap@vger.kernel.org, paul@pwsan.com, khilman@ti.com,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv4 7/8] ARM: OMAP: clockdomain: add support for preventing autodep delete
Date: Mon, 16 Jul 2012 16:30:35 +0530	[thread overview]
Message-ID: <5003F453.9020903@ti.com> (raw)
In-Reply-To: <1342189185-5306-8-git-send-email-t-kristo@ti.com>

Hi Tero,

On Friday 13 July 2012 07:49 PM, Tero Kristo wrote:
> Some clockdomains bug out if their autodeps are deleted before idle.
> This happens namely with OMAP3 PER domain, it will bug out if it
> doesn't have wakedeps enabled when it enters off-mode. This patch
> adds support for new flag 'CLKDM_NO_AUTODEP_DISABLE' which does this.

I had one more thought on how we could handle this (without adding a new
flag :-))
How about marking OMAP3 PER with a CLKDM_NO_AUTODEPS (already existing
flag) and setting a sleep/wakeup dependency of OMAP3 PER with MPU and
IVA one time sometime during late PM init. Because thats what we intent
to do, which is have a sleep/wakeup dependency set *always* and never
try to remove it, right?

regards,
Rajendra

>
> Signed-off-by: Tero Kristo<t-kristo@ti.com>
> ---
>   arch/arm/mach-omap2/clockdomain.c |    3 +++
>   arch/arm/mach-omap2/clockdomain.h |    4 ++++
>   2 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
> index 7f5423e..56cef58 100644
> --- a/arch/arm/mach-omap2/clockdomain.c
> +++ b/arch/arm/mach-omap2/clockdomain.c
> @@ -201,6 +201,9 @@ void _clkdm_del_autodeps(struct clockdomain *clkdm)
>   	if (!autodeps || clkdm->flags&  CLKDM_NO_AUTODEPS)
>   		return;
>
> +	if (clkdm->flags&  CLKDM_NO_AUTODEP_DISABLE)
> +		return;
> +
>   	for (autodep = autodeps; autodep->clkdm.ptr; autodep++) {
>   		if (IS_ERR(autodep->clkdm.ptr))
>   			continue;
> diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h
> index 373399a..1fc5314 100644
> --- a/arch/arm/mach-omap2/clockdomain.h
> +++ b/arch/arm/mach-omap2/clockdomain.h
> @@ -31,12 +31,16 @@
>    *
>    * CLKDM_NO_AUTODEPS: Prevent "autodeps" from being added/removed from this
>    *     clockdomain.  (Currently, this applies to OMAP3 clockdomains only.)
> + * CLKDM_NO_AUTODEP_DISABLE: Prevent clockdomain code from deleting autodeps.
> + *     Needed for PER domain on omap3, as it will bug out with off-mode if
> + *     wakedeps are removed.
>    */
>   #define CLKDM_CAN_FORCE_SLEEP			(1<<  0)
>   #define CLKDM_CAN_FORCE_WAKEUP			(1<<  1)
>   #define CLKDM_CAN_ENABLE_AUTO			(1<<  2)
>   #define CLKDM_CAN_DISABLE_AUTO			(1<<  3)
>   #define CLKDM_NO_AUTODEPS			(1<<  4)
> +#define CLKDM_NO_AUTODEP_DISABLE		(1<<  5)
>
>   #define CLKDM_CAN_HWSUP		(CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_DISABLE_AUTO)
>   #define CLKDM_CAN_SWSUP		(CLKDM_CAN_FORCE_SLEEP | CLKDM_CAN_FORCE_WAKEUP)


WARNING: multiple messages have this Message-ID (diff)
From: rnayak@ti.com (Rajendra Nayak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv4 7/8] ARM: OMAP: clockdomain: add support for preventing autodep delete
Date: Mon, 16 Jul 2012 16:30:35 +0530	[thread overview]
Message-ID: <5003F453.9020903@ti.com> (raw)
In-Reply-To: <1342189185-5306-8-git-send-email-t-kristo@ti.com>

Hi Tero,

On Friday 13 July 2012 07:49 PM, Tero Kristo wrote:
> Some clockdomains bug out if their autodeps are deleted before idle.
> This happens namely with OMAP3 PER domain, it will bug out if it
> doesn't have wakedeps enabled when it enters off-mode. This patch
> adds support for new flag 'CLKDM_NO_AUTODEP_DISABLE' which does this.

I had one more thought on how we could handle this (without adding a new
flag :-))
How about marking OMAP3 PER with a CLKDM_NO_AUTODEPS (already existing
flag) and setting a sleep/wakeup dependency of OMAP3 PER with MPU and
IVA one time sometime during late PM init. Because thats what we intent
to do, which is have a sleep/wakeup dependency set *always* and never
try to remove it, right?

regards,
Rajendra

>
> Signed-off-by: Tero Kristo<t-kristo@ti.com>
> ---
>   arch/arm/mach-omap2/clockdomain.c |    3 +++
>   arch/arm/mach-omap2/clockdomain.h |    4 ++++
>   2 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
> index 7f5423e..56cef58 100644
> --- a/arch/arm/mach-omap2/clockdomain.c
> +++ b/arch/arm/mach-omap2/clockdomain.c
> @@ -201,6 +201,9 @@ void _clkdm_del_autodeps(struct clockdomain *clkdm)
>   	if (!autodeps || clkdm->flags&  CLKDM_NO_AUTODEPS)
>   		return;
>
> +	if (clkdm->flags&  CLKDM_NO_AUTODEP_DISABLE)
> +		return;
> +
>   	for (autodep = autodeps; autodep->clkdm.ptr; autodep++) {
>   		if (IS_ERR(autodep->clkdm.ptr))
>   			continue;
> diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h
> index 373399a..1fc5314 100644
> --- a/arch/arm/mach-omap2/clockdomain.h
> +++ b/arch/arm/mach-omap2/clockdomain.h
> @@ -31,12 +31,16 @@
>    *
>    * CLKDM_NO_AUTODEPS: Prevent "autodeps" from being added/removed from this
>    *     clockdomain.  (Currently, this applies to OMAP3 clockdomains only.)
> + * CLKDM_NO_AUTODEP_DISABLE: Prevent clockdomain code from deleting autodeps.
> + *     Needed for PER domain on omap3, as it will bug out with off-mode if
> + *     wakedeps are removed.
>    */
>   #define CLKDM_CAN_FORCE_SLEEP			(1<<  0)
>   #define CLKDM_CAN_FORCE_WAKEUP			(1<<  1)
>   #define CLKDM_CAN_ENABLE_AUTO			(1<<  2)
>   #define CLKDM_CAN_DISABLE_AUTO			(1<<  3)
>   #define CLKDM_NO_AUTODEPS			(1<<  4)
> +#define CLKDM_NO_AUTODEP_DISABLE		(1<<  5)
>
>   #define CLKDM_CAN_HWSUP		(CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_DISABLE_AUTO)
>   #define CLKDM_CAN_SWSUP		(CLKDM_CAN_FORCE_SLEEP | CLKDM_CAN_FORCE_WAKEUP)

  reply	other threads:[~2012-07-16 11:00 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-13 14:19 [PATCHv4 0/8] ARM: OMAP: pm: usecounting changes Tero Kristo
2012-07-13 14:19 ` Tero Kristo
2012-07-13 14:19 ` [PATCHv4 1/8] ARM: OMAP: clk: add support for omap_clk_for_each Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-07-16 10:04   ` Rajendra Nayak
2012-07-16 10:04     ` Rajendra Nayak
2012-07-16 11:42     ` Tero Kristo
2012-07-16 11:42       ` Tero Kristo
2012-07-13 14:19 ` [PATCHv4 2/8] ARM: OMAP3+: voltage/pwrdm/clkdm/clock add recursive usecount tracking Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-07-16 10:15   ` Rajendra Nayak
2012-07-16 10:15     ` Rajendra Nayak
2012-07-27 19:14   ` Kevin Hilman
2012-07-27 19:14     ` Kevin Hilman
2012-08-06 23:31   ` Kevin Hilman
2012-08-06 23:31     ` Kevin Hilman
2012-09-07  9:23     ` Tero Kristo
2012-09-07  9:23       ` Tero Kristo
2012-07-13 14:19 ` [PATCHv4 3/8] ARM: OMAP3+: voltage: add support for voltagedomain usecounts Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-07-16 10:23   ` Rajendra Nayak
2012-07-16 10:23     ` Rajendra Nayak
2012-07-24 20:58   ` Vishwanath Sripathy
2012-07-24 20:58     ` Vishwanath Sripathy
2012-07-25  8:07     ` Tero Kristo
2012-07-25  8:07       ` Tero Kristo
2012-07-13 14:19 ` [PATCHv4 4/8] ARM: OMAP3: add manual control for mpu / core pwrdm usecounting Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-07-16 10:30   ` Rajendra Nayak
2012-07-16 10:30     ` Rajendra Nayak
2012-07-27 19:36   ` Kevin Hilman
2012-07-27 19:36     ` Kevin Hilman
2012-07-30  8:40     ` Tero Kristo
2012-07-30  8:40       ` Tero Kristo
2012-08-06 10:14       ` Jean Pihet
2012-08-06 10:14         ` Jean Pihet
2012-09-07  9:30         ` Tero Kristo
2012-09-07  9:30           ` Tero Kristo
2012-09-07 21:48           ` Kevin Hilman
2012-09-07 21:48             ` Kevin Hilman
2012-08-06 23:32     ` Kevin Hilman
2012-08-06 23:32       ` Kevin Hilman
2012-07-13 14:19 ` [PATCHv4 5/8] ARM: OMAP3: set autoidle flag for sdrc_ick Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-07-16 10:39   ` Rajendra Nayak
2012-07-16 10:39     ` Rajendra Nayak
2012-07-13 14:19 ` [PATCHv4 6/8] ARM: OMAP: pm-debug: enhanced usecount debug support Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-07-16 10:50   ` Rajendra Nayak
2012-07-16 10:50     ` Rajendra Nayak
2012-07-16 11:45     ` Tero Kristo
2012-07-16 11:45       ` Tero Kristo
2012-07-16 12:14       ` Rajendra Nayak
2012-07-16 12:14         ` Rajendra Nayak
2012-07-27 19:55   ` Kevin Hilman
2012-07-27 19:55     ` Kevin Hilman
2012-07-30  8:36     ` Tero Kristo
2012-07-30  8:36       ` Tero Kristo
2012-07-13 14:19 ` [PATCHv4 7/8] ARM: OMAP: clockdomain: add support for preventing autodep delete Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-07-16 11:00   ` Rajendra Nayak [this message]
2012-07-16 11:00     ` Rajendra Nayak
2012-07-17 14:56     ` Tero Kristo
2012-07-17 14:56       ` Tero Kristo
2012-07-17 21:31       ` Paul Walmsley
2012-07-17 21:31         ` Paul Walmsley
2012-07-18  7:15       ` Rajendra Nayak
2012-07-18  7:15         ` Rajendra Nayak
2012-07-18  8:05         ` Tero Kristo
2012-07-18  8:05           ` Tero Kristo
2012-07-18  9:04           ` Rajendra Nayak
2012-07-18  9:04             ` Rajendra Nayak
2012-07-18  9:16             ` Tero Kristo
2012-07-18  9:16               ` Tero Kristo
2012-07-27 20:12             ` Kevin Hilman
2012-07-27 20:12               ` Kevin Hilman
2012-07-13 14:19 ` [PATCHv4 8/8] ARM: OMAP3: do not delete per_clkdm autodeps during idle Tero Kristo
2012-07-13 14:19   ` Tero Kristo
2012-09-18 22:25   ` Paul Walmsley
2012-09-18 22:25     ` Paul Walmsley
2012-09-18 22:43     ` Paul Walmsley
2012-09-18 22:43       ` Paul Walmsley
2012-09-19 22:15       ` Kevin Hilman
2012-09-19 22:15         ` Kevin Hilman
2012-10-16  7:29         ` Paul Walmsley
2012-10-16  7:29           ` Paul Walmsley
2012-10-17  0:39           ` Kevin Hilman
2012-10-17  0:39             ` Kevin Hilman
2012-10-31 11:59           ` Tero Kristo
2012-10-31 11:59             ` Tero Kristo
2012-09-19  9:06     ` Tero Kristo
2012-09-19  9:06       ` Tero Kristo

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=5003F453.9020903@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 \
    /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.