linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Felipe Balbi <me@felipebalbi.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Kevin Hilman <khilman@deeprootsystems.com>,
	"Gopinath, Thara" <thara@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"paul@pwsan.com" <paul@pwsan.com>,
	"Sripathy, Vishwanath" <vishwanath.bs@ti.com>,
	"Sawant, Anand" <sawant@ti.com>,
	"Cousson, Benoit" <b-cousson@ti.com>
Subject: Re: [PATCH 01/13] OMAP: Introduce a user list for each voltage domain instance in the voltage driver.
Date: Thu, 2 Sep 2010 05:17:01 -0500	[thread overview]
Message-ID: <4C7F799D.8020207@ti.com> (raw)
In-Reply-To: <38353bada7f16740e8008e6d3f2748bd@secure211.sgcpanel.com>

Felipe Balbi had written, on 09/02/2010 05:00 AM, the following:
> On Thu, 2 Sep 2010 03:17:56 -0500, Nishanth Menon <nm@ti.com> wrote:
>> Just brainstorming -> if we use the regulator framework - there are 
>> potential benefits - agreed. BUT, consider the cpuidle path -> currently
> 
>> we disable SR while hitting off/ret for class3, this is done in irq 
>> locked context while the regulator framework uses locks by itself - we 
> 
> wouldn't it be enough to:
> 
> spin_unlock(&sr_lock);
> call_whatever_regulator_api();
> spin_lock(&sr_lock);
> 
> [...]
> 
> spin_unlock_irqrestore(&sr_lock, flags);
> 
> ??
> 
> otherwise we will have yet another OMAP-only API to maintain.
> 
unfortunately no. look at omap_sram_idle function in 
arch/arm/mach-omap2/pm34xx.c

we do irq_lock_save to prevent interrupts from messing up our decision logic

apply a lot of checks to translate C state to mean which domain is going 
to go to which OMAP domain state mode - ret/off/inactive etc..

add a bunch of erratas on top of it

finally see if the core/mpu domains (in case of omap4 ivahd domain as 
well) is going to ret/off state - if yes, SR is disabled for that domain.

note - if we allow unlock of irqs at this point, we cannot predictably 
progress down the logic.

the option is to move up the sr disable out of omap_sram_idle into yet 
to be determined logic where irqs are enabled, c state is decided and if 
c state is lower than a threshold (meaning if mpu OR core OR ivahd can 
go to lower power states), disable SR.. not efficient and without 
looking deeper at logic and considering multiple omap generations not 
sure if this will scale either..


-- 
Regards,
Nishanth Menon

  reply	other threads:[~2010-09-02 10:17 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-18 11:19 [PATCH 00/13] OMAP: Basic DVFS framework Thara Gopinath
2010-08-18 11:20 ` [PATCH 01/13] OMAP: Introduce a user list for each voltage domain instance in the voltage driver Thara Gopinath
2010-08-27 23:53   ` Kevin Hilman
2010-08-30 22:56     ` Kevin Hilman
2010-09-16  9:59     ` Gopinath, Thara
2010-09-16 15:20       ` Kevin Hilman
2010-09-17 14:33         ` Gopinath, Thara
2010-09-01 22:51   ` Kevin Hilman
2010-09-02  7:43     ` Thomas Petazzoni
2010-09-02  8:17       ` Nishanth Menon
2010-09-02 10:00         ` Felipe Balbi
2010-09-02 10:17           ` Nishanth Menon [this message]
2010-09-02 10:28             ` Felipe Balbi
2010-09-02 10:40               ` Nishanth Menon
2010-09-02 11:16                 ` Felipe Balbi
2010-09-02 17:47         ` Kevin Hilman
2010-09-02 18:46           ` Nishanth Menon
2010-09-02 18:56             ` Kevin Hilman
2010-09-03  7:09     ` Gopinath, Thara
2010-09-03 16:41       ` Kevin Hilman
2010-09-03 17:30         ` Mark Brown
2010-09-03 18:00           ` Kevin Hilman
2010-09-03 18:20             ` Mark Brown
2010-09-06 19:59               ` Eduardo Valentin
2010-09-06 20:21                 ` Liam Girdwood
2010-09-06 21:21                 ` Mark Brown
2010-11-23  9:26               ` Thomas Petazzoni
2010-11-24  9:45               ` Thomas Petazzoni
2010-11-24  9:51                 ` Mark Brown
2010-09-03 18:27       ` Kevin Hilman
2010-09-06 11:01         ` Mark Brown
2010-08-18 11:20 ` [PATCH 02/13] OMAP: Introduce API in the OPP layer to find the opp entry corresponding to a voltage Thara Gopinath
2010-08-18 11:20 ` [PATCH 03/13] OMAP: Introduce voltage domain information in the hwmod structures Thara Gopinath
2010-08-18 11:20 ` [PATCH 04/13] OMAP: Introduce API to return a device list associated with a voltage domain Thara Gopinath
2010-08-28  0:52   ` Kevin Hilman
2010-08-28  0:54     ` Kevin Hilman
2010-09-16 10:04     ` Gopinath, Thara
2010-09-16 15:22       ` Kevin Hilman
2010-09-17 14:48         ` Gopinath, Thara
2010-09-20 18:00           ` Kevin Hilman
2010-09-02  0:33   ` Kevin Hilman
2010-09-16 10:10     ` Gopinath, Thara
2010-09-16 15:23       ` Kevin Hilman
2010-08-18 11:20 ` [PATCH 05/13] OMAP: Introduce device specific set rate and get rate in device opp structures Thara Gopinath
2010-09-02 23:41   ` Kevin Hilman
2010-09-16 10:21     ` Gopinath, Thara
2010-09-16 15:28       ` Kevin Hilman
2010-09-17 14:55         ` Gopinath, Thara
2010-09-18 10:13           ` Cousson, Benoit
2010-09-20 17:35             ` Kevin Hilman
2010-09-29 11:16             ` Gopinath, Thara
2010-09-29 20:25               ` Cousson, Benoit
2010-08-18 11:20 ` [PATCH 06/13] OMAP: Voltage layer changes to support DVFS Thara Gopinath
2010-08-18 11:20 ` [PATCH 07/13] OMAP: Introduce dependent voltage domain support Thara Gopinath
2010-08-18 11:20 ` [PATCH 08/13] OMAP: Introduce device set_rate and get_rate Thara Gopinath
2010-08-18 11:20 ` [PATCH 09/13] OMAP: Disable smartreflex across DVFS Thara Gopinath
2010-08-18 11:20 ` [PATCH 10/13] OMAP3: Introduce custom set rate and get rate APIs for scalable devices Thara Gopinath
2010-08-31  0:06   ` Kevin Hilman
2010-08-18 11:20 ` [PATCH 11/13] OMAP3: Update cpufreq driver to use the new set_rate API Thara Gopinath
2010-08-18 11:20 ` [PATCH 12/13] OMAP3: Introduce voltage domain info in the hwmod structures Thara Gopinath
2010-08-18 11:20 ` [PATCH 13/13] OMAP3: Add voltage dependency table for VDD1 Thara Gopinath

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=4C7F799D.8020207@ti.com \
    --to=nm@ti.com \
    --cc=b-cousson@ti.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=me@felipebalbi.com \
    --cc=paul@pwsan.com \
    --cc=sawant@ti.com \
    --cc=thara@ti.com \
    --cc=thomas.petazzoni@free-electrons.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).