From: Nishanth Menon <nm@ti.com>
To: Vishwanath Sripathy <vishwanath.bs@ti.com>
Cc: linux-omap <linux-omap@vger.kernel.org>,
Eduardo Valentin <eduardo.valentin@nokia.com>,
Kevin Hilman <khilman@deeprootsystems.com>,
Tony Lindgren <tony@atomide.com>
Subject: Re: [PATCH 5/5 v3] OMAP3630: PM: Erratum i583: disable coreoff if < ES1.2
Date: Mon, 13 Dec 2010 08:04:54 -0600 [thread overview]
Message-ID: <4D062806.6090201@ti.com> (raw)
In-Reply-To: <d5e397dafb68b41ec5d7af591a18b044@mail.gmail.com>
Vishwanath Sripathy had written, on 12/13/2010 07:54 AM, the following:
> Nishant,
>
>> -----Original Message-----
>> From: Nishanth Menon [mailto:nm@ti.com]
>> Sent: Monday, December 13, 2010 7:13 PM
>> To: Vishwanath Sripathy
>> Cc: linux-omap; Eduardo Valentin; Kevin Hilman; Tony Lindgren
>> Subject: Re: [PATCH 5/5 v3] OMAP3630: PM: Erratum i583: disable
>> coreoff if < ES1.2
>>
>> Vishwanath Sripathy had written, on 12/13/2010 07:35 AM, the
>> following:
>>> Nishant,
>>>
>>>> -----Original Message-----
>>>> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
>>>> owner@vger.kernel.org] On Behalf Of Nishanth Menon
>>>> Sent: Friday, December 03, 2010 10:34 PM
>>>> To: linux-omap
>>>> Cc: Eduardo Valentin; Kevin Hilman; Tony Lindgren; Nishanth Menon
>>>> Subject: [PATCH 5/5 v3] OMAP3630: PM: Erratum i583: disable
>> coreoff if
>>>> < ES1.2
>>>>
>>>> From: Eduardo Valentin <eduardo.valentin@nokia.com>
>>>>
>>>> Limitation i583: Self_Refresh Exit issue after OFF mode
>>>>
>>>> Issue:
>>>> When device is waking up from OFF mode, then SDRC state machine
>>>> sends
>>>> inappropriate sequence violating JEDEC standards.
>>>>
>>>> Impact:
>>>> OMAP3630 < ES1.2 is impacted as follows depending on the
>> platform:
>>>> CS0: for 38.4MHz as internal sysclk, DDR content seen to be stable,
>>>> while
>>>> for all other sysclk frequencies, varied levels of instability
>>>> seen based on varied parameters.
>>>> CS1: impacted
>>>>
>>>> This patch takes option #3 as recommended by the Silicon erratum:
>>>> Avoid core power domain transitioning to OFF mode. Power
>> consumption
>>>> impact is expected in this case.
>>>> To do this, we route OFF requests to RET request on the impacted
>>>> revisions
>>>> of silicon.
>>>>
>>>> Cc: Kevin Hilman <khilman@deeprootsystems.com>
>>>> Cc: Tony Lindgren <tony@atomide.com>
>>>>
>>>> [nm@ti.com: rebased the code to 2.6.37-rc2- short circuit code
>> changed
>>>> a bit]
>>>> Signed-off-by: Nishanth Menon <nm@ti.com>
>>>> Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
>>>> ---
>>>> v3: no functional change in erratum wa implementation, just
>> registration
>>>> of
>>>> erratum is collated to a single cpu detection and version check
>>>> v2: https://patchwork.kernel.org/patch/365262/
>>>> rebased to this patch series instead of depending on hs changes
>>>> fix typo for macro definition
>>>> v1: http://marc.info/?l=linux-omap&m=129013173425266&w=2
>>>> arch/arm/mach-omap2/pm34xx.c | 14 ++++++++++++++
>>>> 1 files changed, 14 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-
>>>> omap2/pm34xx.c
>>>> index b49e02b..ba3c0d6 100644
>>>> --- a/arch/arm/mach-omap2/pm34xx.c
>>>> +++ b/arch/arm/mach-omap2/pm34xx.c
>>>> @@ -56,6 +56,7 @@
>>>> #define OMAP343X_CONTROL_REG_VALUE_OFFSET 0xc8
>>>>
>>>> #define RTA_ERRATUM_i608 (1 << 0)
>>>> +#define SDRC_WAKEUP_ERRATUM_i583 (1 << 1)
>>>> static u16 pm34xx_errata;
>>>> #define IS_PM34XX_ERRATUM(id) (pm34xx_errata & (id))
>>>>
>>>> @@ -406,6 +407,17 @@ void omap_sram_idle(void)
>>>> }
>>>>
>>>> /* CORE */
>>>> + /*
>>>> + * Erratum i583: implementation for ES rev < Es1.2 on 3630
>>>> + * We cannot enable OFF mode in a stable form for previous
>>>> + * revisions, transition instead to RET
>>>> + */
>>>> + if (IS_PM34XX_ERRATUM(SDRC_WAKEUP_ERRATUM_i583) &&
>>>> + (core_next_state == PWRDM_POWER_OFF)) {
>>>> + pwrdm_set_next_pwrst(core_pwrdm,
>>>> PWRDM_POWER_RET);
>>>> + core_next_state = PWRDM_POWER_RET;
>>>> + }
>>> Since next_state in pwrst_list (for core) is not updated, this is
> throwing
>>> up an error "Powerdomain (core_pwrdm) didn't enter target state 0"
>> when
>>> you off mode is enabled for ES1.1 or lesser (in suspend path). It's
> not
>>> really true that Core has not entered target state. It has entered
>>> Retention state which is the actual target state set in
> omap_sram_idle.
>>> However it did not enter the state that was passed by
>> omap3_pm_suspend. Is
>>> this expected behavior?
>> we could go both ways on this - this patch will(as you noticed) indicate
>> that the transition failed on <ES1.2, or we could make it entirely
>> transparent(by modifying the the pwrst_list - claim we achieved off,
>> while not really hitting off - I personally dont think that is correct.
> The point I am making is that you cannot distinguish between genuine off
> /retention failure since this message is thrown for both pass and fail.
> May be an additional trace message indicating that system entered
> retention instead of off (for ES<1.2) will be useful.
hmm... good point there.
two issues here:
a) omap3_pm_suspend should probably state which state was achieved as
well in the error message (trivial fix).
b) how do we notify users that it was due to SDRC_WAKEUP_ERRATUM_i583
that core-off was denied. -> do this in omap3_pm_suspend(when user
attempts actual OFF) OR omap3_pm_off_mode_enable(when user attempts to
enable OFF mode)?
Any suggestions to allow the same uImage boot on all silicon + allow
cpu_idle + suspend paths not to spew pr_info messages(aka cant add
prints in sram_idle)?
--
Regards,
Nishanth Menon
next prev parent reply other threads:[~2010-12-13 14:04 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-03 17:03 [PATCH 0/5 v3] OMAP: idle path errata fixes Nishanth Menon
2010-12-03 17:03 ` [PATCH 1/5 v2] OMAP3: PM: Update clean_l2 to use v7_flush_dcache_all Nishanth Menon
2010-12-03 17:03 ` [PATCH 2/5 v2] OMAP3: PM: Erratum i581 support: dll kick strategy Nishanth Menon
2010-12-03 17:03 ` [PATCH 3/5 v3] OMAP3630: PM: Erratum i608: disable RTA Nishanth Menon
2010-12-14 3:28 ` Kevin Hilman
2010-12-15 22:13 ` Nishanth Menon
2010-12-16 0:01 ` Kevin Hilman
2010-12-03 17:03 ` [PATCH 4/5 v3] OMAP3630: PM: Disable L2 cache while invalidating L2 cache Nishanth Menon
2010-12-03 17:03 ` [PATCH 5/5 v3] OMAP3630: PM: Erratum i583: disable coreoff if < ES1.2 Nishanth Menon
2010-12-13 13:35 ` Vishwanath Sripathy
2010-12-13 13:43 ` Nishanth Menon
2010-12-13 13:54 ` Vishwanath Sripathy
2010-12-13 14:04 ` Nishanth Menon [this message]
2010-12-13 14:25 ` Vishwanath Sripathy
2010-12-13 14:36 ` Nishanth Menon
2010-12-13 14:43 ` Nishanth Menon
2010-12-13 14:48 ` Vishwanath Sripathy
2010-12-13 14:52 ` Nishanth Menon
2010-12-13 14:58 ` Vishwanath Sripathy
2010-12-13 15:02 ` Nishanth Menon
2010-12-14 3:42 ` Kevin Hilman
2010-12-15 21:31 ` Nishanth Menon
2010-12-15 23:47 ` Kevin Hilman
2010-12-16 0:05 ` Nishanth Menon
2010-12-16 1:30 ` Nishanth Menon
2010-12-16 18:57 ` Kevin Hilman
2010-12-17 1:07 ` Nishanth Menon
2010-12-17 22:54 ` Kevin Hilman
2010-12-17 23:09 ` Nishanth Menon
2010-12-20 16:51 ` Kevin Hilman
2010-12-13 14:45 ` Vishwanath Sripathy
2010-12-13 14:47 ` Nishanth Menon
2010-12-08 23:03 ` [PATCH 0/5 v3] OMAP: idle path errata fixes Nishanth Menon
2010-12-14 3:49 ` Kevin Hilman
2010-12-15 21:40 ` Nishanth Menon
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=4D062806.6090201@ti.com \
--to=nm@ti.com \
--cc=eduardo.valentin@nokia.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.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 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).