From: Kevin Hilman <khilman@deeprootsystems.com>
To: Tero.Kristo@nokia.com
Cc: girishsg@ti.com, linux-omap@vger.kernel.org
Subject: Re: [PATCH 01/17] PM: fix suspend control for IVA2
Date: Tue, 20 Oct 2009 09:10:41 -0700 [thread overview]
Message-ID: <87fx9enj0e.fsf@deeprootsystems.com> (raw)
In-Reply-To: <1F18D6510CF0474A8C9500565A7E41A210F69EEF6F@NOK-EUMSG-02.mgdnok.nokia.com> (Tero Kristo's message of "Mon\, 19 Oct 2009 11\:22\:49 +0200")
<Tero.Kristo@nokia.com> writes:
>>-----Original Message-----
>>From: ext Girish S G [mailto:girishsg@ti.com]
>>Sent: 16 October, 2009 20:16
>>To: Kristo Tero (Nokia-D/Tampere); linux-omap@vger.kernel.org
>>Subject: RE: [PATCH 01/17] PM: fix suspend control for IVA2
>>
>>
>>
>>> -----Original Message-----
>>> From: linux-omap-owner@vger.kernel.org
>>[mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Tero
>>> Kristo
>>>
>>> From: Tero Kristo <tero.kristo@nokia.com>
>>>
>>> IVA2 controls its target power state individually, thus
>>suspend should not
>>> touch IVA2. Without this patch DSP suspend always fails.
>>>
>>> Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
>>> Acked-by: Ameya Palande <ameya.palande@nokia.com>
>>> ---
>>> arch/arm/mach-omap2/pm34xx.c | 9 ++++++++-
>>> 1 files changed, 8 insertions(+), 1 deletions(-)
>>>
>>> static struct prm_setup_vc prm_setup = {
>>> .clksetup = 0xff,
>>> @@ -676,6 +676,12 @@ static int omap3_pm_suspend(void)
>>> pwrst->saved_state =
>>pwrdm_read_next_pwrst(pwrst->pwrdm);
>>> /* Set ones wanted by suspend */
>>> list_for_each_entry(pwrst, &pwrst_list, node) {
>>> + /* Special handling for IVA2, just use current
>>sleep state */
>>> + if (pwrst->pwrdm == iva2_pwrdm) {
>>> + state = pwrdm_read_pwrst(pwrst->pwrdm);
>>> + if (state < PWRDM_POWER_ON)
>>> + pwrst->next_state = state;
>>> + }
>>
>>Agree, IVA2 pwrdm is handled autonomously by bridge. I think
>>this needs some additional change to remove all the redundant
>>configuration of iva pwdm. There are some inconsistencies like,
>> - Say enable_off_mode is disabled. Before doing system
>>wide suspend if DSP hibernates then IVA2 will be put to OFF. In that
>>case we have IVA2 going to OFF and other domains in RET. This
>>might not be an issue, but it's bad from sytem PM framework integrity
>>perspective.
>
> This is an issue with bridge driver, and I am not sure how this should be fixed. Currently bridge driver does not care whether off mode is enabled or not.
>
>> - enable_off_mode->omap3_pm_off_mode_enable will also
>>touch IVA2 power domain next state. This we don't want to do if dsp
>>bridge is already taking care of IVA2.
>>
>>IMO, we need to have some mechanism wherein if bridge PM takes
>>care of IVA then PM framework should not configure the IVA
>>powerstate. It should only do if bridge PM is disabled.
>
> Should we have a Kconfig option for this? Like CONFIG_OMAP3_BRIDGE_PM, and disable all iva2 controls from pm34xx.c if it is enabled? Otherwise control IVA2 as currently done.
>
Rather than Kconfig, this should be run-time.
There should be some sort of flag for indpendent IVA2 control and a
register function that bridge (or any other DSP controller) could
register for and take over control of IVA2.
This way, if no bridge is loaded, IVA2 can still properly be suspended.
Kevin
next prev parent reply other threads:[~2009-10-20 16:10 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
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 [this message]
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=87fx9enj0e.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=Tero.Kristo@nokia.com \
--cc=girishsg@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox