All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Tero.Kristo@nokia.com
Cc: girishsg@ti.com, r-woodruff2@ti.com, linux-omap@vger.kernel.org,
	jouni.hogander@nokia.com
Subject: Re: [PATCH 12/17] OMAP2/3: Do not enable AUTOIDLE in interrupt controller
Date: Tue, 20 Oct 2009 09:01:38 -0700	[thread overview]
Message-ID: <87oco2njfh.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1F18D6510CF0474A8C9500565A7E41A210F69EEFFB@NOK-EUMSG-02.mgdnok.nokia.com> (Tero Kristo's message of "Mon\, 19 Oct 2009 12\:18\:34 +0200")

<Tero.Kristo@nokia.com> writes:

>>> 
>>> There was one report from a custom board when it made a 
>>difference.  I've not tried to double check
>>> this data.  I don't have the reporters setup so there is no 
>>guarantee I could reproduce anyway.  In
>>> general optimization seemed to make sense.
>>
>>I second it.
>>
>>
>>Regards,
>>Girish
>>
>>
>
> Is there errata number available for this issue by the way? I could attach this to the patch.
>
> Anyway, I guess the optimization would look something like this:
>
> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
> index 210a806..7a98321 100644
> --- a/arch/arm/mach-omap2/pm34xx.c
> +++ b/arch/arm/mach-omap2/pm34xx.c
> @@ -93,6 +93,8 @@ u32 voltage_off_while_idle;
>                 OMAP3430_ST_GPT5_MASK|OMAP3430_ST_GPT4_MASK|\
>                 OMAP3430_ST_GPT3_MASK|OMAP3430_ST_GPT2_MASK)
>
> +#define INTC_SYSCONFIG                 0x10
> +
>  struct power_state {
>         struct powerdomain *pwrdm;
>         u32 next_state;
> @@ -505,6 +507,12 @@ void omap_sram_idle(void)
>                 prm_set_mod_reg_bits(OMAP3430_EN_IO, WKUP_MOD, PM_WKEN);
>                 omap3_enable_io_chain();
>         }
> +       /*
> +        * Disable INTC autoidle as it can cause interrupt controller
> +        * to enter unknown state with right combination of sleep / wakeup
> +        * transitions
> +        */
> +       omap_writel(0x0, OMAP34XX_IC_BASE + INTC_SYSCONFIG);

Except omap_write* functions are deprecated.

I'd rather see a call into the interrupt code.  Something like
omap_intc_prepare_idle()

Also, isn't this only needed if CORE != ON?

>         /*
>         * On EMU/HS devices ROM code restores a SRDC value
> @@ -561,6 +569,8 @@ void omap_sram_idle(void)
>                                                 OMAP3430_GR_MOD,
>                                                 OMAP3_PRM_VOLTCTRL_OFFSET);
>         }
> +       /* Re-enable interrupt controller autoidle */
> +       omap_writel(OMAP3430_AUTOIDLE, OMAP34XX_IC_BASE + INTC_SYSCONFIG);

and omap_intc_resume_idle()

Kevin

  parent reply	other threads:[~2009-10-20 16:01 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-16 10:48 [PATCH 00/17] Misc PM patches Tero Kristo
2009-10-16 10:48 ` [PATCH 01/17] PM: fix suspend control for IVA2 Tero Kristo
2009-10-16 10:48   ` [PATCH 02/17] OMAP3: PM: Dynamic check for CORE target state Tero Kristo
2009-10-16 10:48     ` [PATCH 03/17] PM: Block CORE off when DSS is active Tero Kristo
2009-10-16 10:48       ` [PATCH 04/17] OMAP3: PM: Do not enable IO wake-up on boot Tero Kristo
2009-10-16 10:48         ` [PATCH 05/17] OMAP:PM: Precedence fix Tero Kristo
2009-10-16 10:48           ` [PATCH 06/17] OMAP3: PM: Added next state check for IVA2, USB and PER into idle loop Tero Kristo
2009-10-16 10:49             ` [PATCH 07/17] OMAP3: Disable Smartreflex before pwrdm enters RET Tero Kristo
2009-10-16 10:49               ` [PATCH 08/17] OMAP2/3: GPTIMER: Clear pending interrupts when entering suspend Tero Kristo
2009-10-16 10:49                 ` [PATCH 09/17] OMAP3: PM: Ack pending interrupts before " Tero Kristo
2009-10-16 10:49                   ` [PATCH 10/17] OMAP3: PM: Enable system control module autoidle Tero Kristo
2009-10-16 10:49                     ` [PATCH 11/17] Make USBHOST powerdomain go to sleep after warm reset Tero Kristo
2009-10-16 10:49                       ` [PATCH 12/17] OMAP2/3: Do not enable AUTOIDLE in interrupt controller Tero Kristo
2009-10-16 10:49                         ` [PATCH 13/17] OMAP3: Fixed ARM aux ctrl register save/restore Tero Kristo
2009-10-16 10:49                           ` [PATCH 14/17] OMAP3: PM: Disabled I2C4 repeated start operation mode Tero Kristo
2009-10-16 10:49                             ` [PATCH 15/17] OMAP3: PM: Added support for L2 aux ctrl register save and restore Tero Kristo
2009-10-16 10:49                               ` [PATCH 16/17] OMAP3: PM: Write voltage and clock setup times dynamically in idle loop Tero Kristo
2009-10-16 10:49                                 ` [PATCH 17/17] OMAP3: PM: Force disable OTG autoidle Tero Kristo
2009-10-20 18:44                                   ` Kevin Hilman
2009-10-21 10:21                                     ` Tero.Kristo
2009-10-20 17:47                                 ` [PATCH 16/17] OMAP3: PM: Write voltage and clock setup times dynamically in idle loop Kevin Hilman
2009-10-21  9:55                                   ` Tero.Kristo
2009-10-21 14:15                                     ` Kevin Hilman
2009-10-21 15:37                                       ` Tero.Kristo
2009-10-16 14:39                         ` [PATCH 12/17] OMAP2/3: Do not enable AUTOIDLE in interrupt controller Woodruff, Richard
2009-10-16 17:47                           ` Girish S G
2009-10-16 18:04                             ` Woodruff, Richard
     [not found]                               ` <005001ca4e8b$ea107c10$3d1018ac@am.dhcp.ti! .com>
2009-10-16 18:10                               ` Girish S G
2009-10-19 10:18                                 ` Tero.Kristo
2009-10-19 17:21                                   ` Woodruff, Richard
2009-10-19 18:31                                   ` Girish S G
2009-10-20 16:01                                   ` Kevin Hilman [this message]
2009-10-20 16:15                                     ` Tero.Kristo
2009-10-20 16:32                                       ` Kevin Hilman
2009-10-21  4:37                                         ` Gopinath, Thara
2009-10-21 15:25                                           ` Girish S G
2009-10-20 16:19                                     ` Girish S G
2009-10-20 17:39                       ` [PATCH 11/17] Make USBHOST powerdomain go to sleep after warm reset Kevin Hilman
2009-10-20 17:30                   ` [PATCH 09/17] OMAP3: PM: Ack pending interrupts before entering suspend Kevin Hilman
2009-10-21 10:03                     ` Tero.Kristo
2009-10-21 14:19                       ` Kevin Hilman
2009-10-21 16:01                         ` Tero.Kristo
2009-10-20 17:36                 ` [PATCH 08/17] OMAP2/3: GPTIMER: Clear pending interrupts when " Kevin Hilman
2009-10-21 10:09                   ` Tero.Kristo
2009-10-16 13:16             ` [PATCH 06/17] OMAP3: PM: Added next state check for IVA2, USB and PER into idle loop Sripathy, Vishwanath
2009-10-16 13:35               ` Tero.Kristo
2009-10-16 14:57               ` Cousson, Benoit
2009-10-20 19:04             ` Kevin Hilman
2009-10-20 17:23           ` [PATCH 05/17] OMAP:PM: Precedence fix Kevin Hilman
2009-10-20 17:21         ` [PATCH 04/17] OMAP3: PM: Do not enable IO wake-up on boot Kevin Hilman
2009-10-16 15:27       ` [PATCH 03/17] PM: Block CORE off when DSS is active Cousson, Benoit
2009-10-19  9:37         ` Tero.Kristo
2009-10-20 17:19           ` Kevin Hilman
2009-10-20 16:16     ` [PATCH 02/17] OMAP3: PM: Dynamic check for CORE target state Kevin Hilman
2009-10-16 17:16   ` [PATCH 01/17] PM: fix suspend control for IVA2 Girish S G
2009-10-19  9:22     ` Tero.Kristo
2009-10-19 18:26       ` Girish S G
2009-10-20 16:10       ` Kevin Hilman
2009-10-22 10:24   ` Paul Walmsley
2009-10-22 21:21     ` Woodruff, Richard
2009-10-23  5:22       ` Artem Bityutskiy

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=87oco2njfh.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=Tero.Kristo@nokia.com \
    --cc=girishsg@ti.com \
    --cc=jouni.hogander@nokia.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=r-woodruff2@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.