All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Tero.Kristo@nokia.com
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH] PM OMAP3: Change omap3_save_secure_ram to be called only during init
Date: Thu, 13 Aug 2009 08:15:47 -0700	[thread overview]
Message-ID: <87r5vfhhi4.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1F18D6510CF0474A8C9500565A7E41A2054BB54E81@NOK-EUMSG-02.mgdnok.nokia.com> (Tero Kristo's message of "Thu\, 13 Aug 2009 17\:06\:20 +0200")

<Tero.Kristo@nokia.com> writes:

>  
>
>>-----Original Message-----
>>From: ext Kevin Hilman [mailto:khilman@deeprootsystems.com]
>>Sent: 13 August, 2009 17:17
>>To: Kristo Tero (Nokia-D/Tampere)
>>Cc: linux-omap@vger.kernel.org
>>Subject: Re: [PATCH] PM OMAP3: Change omap3_save_secure_ram to
>>be called only during init
>>
>>Tero Kristo <tero.kristo@nokia.com> writes:
>>
>>> This function is now called only once during the
>>initialization of the device
>>> and consequent sleep cycles will re-use the same saved
>>contents for secure
>>> RAM. Users who need secure services should do secure RAM
>>saving before
>>> entering off-mode, if a secure service has been accessed
>>after last save.
>>> Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
>>
>>You explain what you're doing, but you don't explain why.
>>
>>Is there a large latency involved in this save/restore that you're
>>trying to eliminate for the no-secure-services case?
>
> There are both latency and reliability issues. The context save uses a
> hardware resource which takes an order of hundreds of milliseconds to
> initialize after a wake up from off-mode, and also there is no way of
> checking whether it is ready from kernel side or not. It just crashes
> if you use it too quickly.

Tero,

OK, makes sense.  Thanks or the clarification.  I'll add this to the
changelog and push to PM branch.

Kevin

>>
>>Kevin
>>
>>> --- arch/arm/mach-omap2/pm34xx.c | 19 ++++++++++++++++++- 1 files
>>> changed, 18 insertions(+), 1 deletions(-)
>>> diff --git a/arch/arm/mach-omap2/pm34xx.c
>>b/arch/arm/mach-omap2/pm34xx.c
>>> index 4223622..b8cf5f2 100644 --- a/arch/arm/mach-omap2/pm34xx.c
>>> +++ b/arch/arm/mach-omap2/pm34xx.c
>>> @@ -127,6 +127,12 @@ static void omap3_core_restore_context(void)
>>> omap_dma_global_context_restore(); }
>>>  
>>> +/* * FIXME: This function should be called before entering
>>off-mode after
>>> + * OMAP3 secure services have been accessed. Currently it
>>is only called
>>> + * once during boot sequence, but this works as we are not
>>using secure
>>> + * services.  */
>>>  static void omap3_save_secure_ram_context(u32 target_mpu_state) {
>>> u32 ret; @@ -349,7 +355,6 @@ void omap_sram_idle(void)
>>> OMAP3_PRM_VOLTCTRL_OFFSET); omap3_core_save_context();
>>> omap3_prcm_save_context(); -
>>> omap3_save_secure_ram_context(mpu_next_state); } /* Enable IO-PAD
>>> wakeup */ prm_set_mod_reg_bits(OMAP3430_EN_IO, WKUP_MOD, PM_WKEN);
>>> @@ -923,6 +928,18 @@ int __init omap3_pm_init(void) }
>>> omap3_save_scratchpad_contents();
>>>  
>>> +	if (omap_type() != OMAP2_DEVICE_TYPE_GP) {
>>> +		local_irq_disable();
>>> +		local_fiq_disable();
>>> +
>>> +		omap_dma_global_context_save();
>>> +		omap3_save_secure_ram_context(PWRDM_POWER_ON);
>>> +		omap_dma_global_context_restore();
>>> +
>>> +		local_irq_enable();
>>> +		local_fiq_enable();
>>> +	}
>>> +
>>>  err1: return ret; err2: -- 1.5.4.3
>>> -- To unsubscribe from this list: send the line "unsubscribe
>>linux-omap" in
>>> the body of a message to majordomo@vger.kernel.org More majordomo
>>> info at http://vger.kernel.org/majordomo-info.html
>>

      reply	other threads:[~2009-08-13 15:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-12  9:20 [PATCH] PM OMAP3: Change omap3_save_secure_ram to be called only during init Tero Kristo
2008-12-15 22:19 ` Kevin Hilman
2009-08-13 14:16 ` Kevin Hilman
2009-08-13 15:06   ` Tero.Kristo
2009-08-13 15:15     ` Kevin Hilman [this message]

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=87r5vfhhi4.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=Tero.Kristo@nokia.com \
    --cc=linux-omap@vger.kernel.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 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.