All of lore.kernel.org
 help / color / mirror / Atom feed
From: "AnilKumar, Chimata" <anilkumar@ti.com>
To: "Hilman, Kevin" <khilman@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
	"J, KEERTHY" <j-keerthy@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"rjw@sisk.pl" <rjw@sisk.pl>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-pm@lists.linux-foundation.org" 
	<linux-pm@lists.linux-foundation.org>,
	"Pihet-XID, Jean" <j-pihet@ti.com>
Subject: RE: [PATCH V3 00/10] PM: Create the AVS(Adaptive Voltage Scaling)
Date: Tue, 8 May 2012 10:17:44 +0000	[thread overview]
Message-ID: <331ABD5ECB02734CA317220B2BBEABC13E9B6681@DBDE01.ent.ti.com> (raw)
In-Reply-To: <87mx5jy2li.fsf@ti.com>

On Tue, May 08, 2012 at 05:18:41, Hilman, Kevin wrote:
> "AnilKumar, Chimata" <anilkumar@ti.com> writes:
> 
> > On Sat, Apr 28, 2012 at 02:31:17, Hilman, Kevin wrote:
> >> Hi Mark,
> >> 
> >> Mark Brown <broonie@opensource.wolfsonmicro.com> writes:
> >> 
> >> > On Fri, Apr 27, 2012 at 11:09:10AM +0530, J, KEERTHY wrote:
> >> >
> >> >> Devfreq and cpufreq are related to dynamic frequency/voltage switching between
> >> >> pre defined Operating Performance Points or the OPPs. Every OPP being
> >> >> a voltage/frequency pair. Smartreflex is a different
> >> >> power management technique.
> >> >
> >> > But presumably these things should integrate somehow - for example,
> >> > should devfreq and cpufreq be providing inputs into what AVS is doing,
> >> > and if so how?
> >> 
> >> The way it is currently designed, cpufreq/devfreq/regulator layers don't
> >> need to know about AVS.
> >> 
> >> The higher-level layers only know about the "nominal" voltage.  AVS
> >> hardware does automatic, adaptive, micro-adjustments around that nominal
> >> voltage, and these micro-adjustments are managed by the AVS hardware
> >> sending commands to the PMIC.  (specifically, on OMAP, the AVS sensors
> >> provide inputs to the voltage processor (VP) which provide inputs to the
> >> voltage controller (VC) which sends commands to the PMIC[1].)
> >> 
> >> The driver proposed here is primarily for initializing the various
> >> parameters/sensitivity/etc. of the AVS hardware, but the actual voltage
> >> adjustments are done in hardware by VC/VP.
> >> 
> >> The only thing the higher-level layers might potentially need to do to
> >> enable/disable AVS around transitions (e.g. when changing OPP, AVS is
> >> disabled before changing OPP and only re-enabled when the new nominal
> >> voltage has been acheived.)
> >> 
> >> On OMAP, we handle this inside the OMAP-specific voltage layer which is
> >> called by the regulator framework, so even the regulators do not need
> >> any knowledge of AVS.
> >
> > Kevin,
> >
> > I want to point out some cases of SR implementation where this may not
> > be true.
> >
> > Devices like DM8168, DM8148 and AM335X use Class 2B implementation of SR.
> >
> > Under this, SR module issues an interrupt to ARM when there is a need to
> > change the voltage based on temperature changes, ageing etc.
> >
> > Once the interrupt arrives, kernel needs to adjust voltage using regulator API.
> > The voltage change is a micro adjustment as in other SR classes.
> 
> That can easily be handled writing a plugin specific to class 2B.  This
> driver was designed so plugins for other classes can be supported.  
> 
> Sure, we might need some enhancements for other classes (we already know
> that we will for class 1 support.)  However, the purpose of this series
> is to do the cleanups necessary for the driver to move to drivers/*.
> 

It's perfectly fine with me. My intention was just to highlight that
class 2B SR will have to interact with regulator layer for voltage
changes, so I guess it is little different from other SR classes.

Thanks,
AnilKumar


WARNING: multiple messages have this Message-ID (diff)
From: anilkumar@ti.com (AnilKumar, Chimata)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V3 00/10] PM: Create the AVS(Adaptive Voltage Scaling)
Date: Tue, 8 May 2012 10:17:44 +0000	[thread overview]
Message-ID: <331ABD5ECB02734CA317220B2BBEABC13E9B6681@DBDE01.ent.ti.com> (raw)
In-Reply-To: <87mx5jy2li.fsf@ti.com>

On Tue, May 08, 2012 at 05:18:41, Hilman, Kevin wrote:
> "AnilKumar, Chimata" <anilkumar@ti.com> writes:
> 
> > On Sat, Apr 28, 2012 at 02:31:17, Hilman, Kevin wrote:
> >> Hi Mark,
> >> 
> >> Mark Brown <broonie@opensource.wolfsonmicro.com> writes:
> >> 
> >> > On Fri, Apr 27, 2012 at 11:09:10AM +0530, J, KEERTHY wrote:
> >> >
> >> >> Devfreq and cpufreq are related to dynamic frequency/voltage switching between
> >> >> pre defined Operating Performance Points or the OPPs. Every OPP being
> >> >> a voltage/frequency pair. Smartreflex is a different
> >> >> power management technique.
> >> >
> >> > But presumably these things should integrate somehow - for example,
> >> > should devfreq and cpufreq be providing inputs into what AVS is doing,
> >> > and if so how?
> >> 
> >> The way it is currently designed, cpufreq/devfreq/regulator layers don't
> >> need to know about AVS.
> >> 
> >> The higher-level layers only know about the "nominal" voltage.  AVS
> >> hardware does automatic, adaptive, micro-adjustments around that nominal
> >> voltage, and these micro-adjustments are managed by the AVS hardware
> >> sending commands to the PMIC.  (specifically, on OMAP, the AVS sensors
> >> provide inputs to the voltage processor (VP) which provide inputs to the
> >> voltage controller (VC) which sends commands to the PMIC[1].)
> >> 
> >> The driver proposed here is primarily for initializing the various
> >> parameters/sensitivity/etc. of the AVS hardware, but the actual voltage
> >> adjustments are done in hardware by VC/VP.
> >> 
> >> The only thing the higher-level layers might potentially need to do to
> >> enable/disable AVS around transitions (e.g. when changing OPP, AVS is
> >> disabled before changing OPP and only re-enabled when the new nominal
> >> voltage has been acheived.)
> >> 
> >> On OMAP, we handle this inside the OMAP-specific voltage layer which is
> >> called by the regulator framework, so even the regulators do not need
> >> any knowledge of AVS.
> >
> > Kevin,
> >
> > I want to point out some cases of SR implementation where this may not
> > be true.
> >
> > Devices like DM8168, DM8148 and AM335X use Class 2B implementation of SR.
> >
> > Under this, SR module issues an interrupt to ARM when there is a need to
> > change the voltage based on temperature changes, ageing etc.
> >
> > Once the interrupt arrives, kernel needs to adjust voltage using regulator API.
> > The voltage change is a micro adjustment as in other SR classes.
> 
> That can easily be handled writing a plugin specific to class 2B.  This
> driver was designed so plugins for other classes can be supported.  
> 
> Sure, we might need some enhancements for other classes (we already know
> that we will for class 1 support.)  However, the purpose of this series
> is to do the cleanups necessary for the driver to move to drivers/*.
> 

It's perfectly fine with me. My intention was just to highlight that
class 2B SR will have to interact with regulator layer for voltage
changes, so I guess it is little different from other SR classes.

Thanks,
AnilKumar

  parent reply	other threads:[~2012-05-08 10:18 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-26 17:40 [PATCH V3 00/10] PM: Create the AVS(Adaptive Voltage Scaling) Keerthy
2012-04-26 17:40 ` Keerthy
2012-04-26 17:40 ` Keerthy
2012-04-26 17:40 ` [PATCH V3 01/10] ARM: OMAP2+: SmartReflex: move the smartreflex header to include/linux/power Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40 ` [PATCH V3 02/10] ARM: OMAP3+: SmartReflex: class drivers should use struct omap_sr * Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40 ` [PATCH V3 03/10] ARM: OMAP2+: smartreflex: Use the names from hwmod data instead of voltage domains Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40 ` [PATCH V3 04/10] ARM: OMAP3: hwmod: rename the smartreflex entries Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-05-04  8:30   ` AnilKumar, Chimata
2012-05-04  8:30     ` AnilKumar, Chimata
2012-05-04  8:30     ` AnilKumar, Chimata
2012-05-04 10:11     ` J, KEERTHY
2012-05-04 10:11       ` J, KEERTHY
2012-05-04 10:11       ` J, KEERTHY
2012-05-07 23:39       ` Kevin Hilman
2012-05-07 23:39         ` Kevin Hilman
2012-05-07 23:39         ` Kevin Hilman
2012-05-07 23:55         ` Kevin Hilman
2012-05-07 23:55           ` Kevin Hilman
2012-05-07 23:55           ` Kevin Hilman
2012-05-08  3:44           ` J, KEERTHY
2012-05-08  3:44             ` J, KEERTHY
2012-05-08  3:44             ` J, KEERTHY
2012-04-26 17:40 ` [PATCH V3 05/10] ARM: OMAP2+: SmartReflex: introduce a busy loop condition test macro Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-05-04  9:12   ` AnilKumar, Chimata
2012-05-04  9:12     ` AnilKumar, Chimata
2012-05-04  9:12     ` AnilKumar, Chimata
2012-05-07  5:21     ` J, KEERTHY
2012-05-07  5:21       ` J, KEERTHY
2012-05-07  5:21       ` J, KEERTHY
2012-05-08 10:17       ` AnilKumar, Chimata
2012-05-08 10:17         ` AnilKumar, Chimata
2012-05-08 10:17         ` AnilKumar, Chimata
2012-05-10  6:19         ` J, KEERTHY
2012-05-10  6:19           ` J, KEERTHY
2012-05-10  6:19           ` J, KEERTHY
2012-04-26 17:40 ` [PATCH V3 06/10] ARM: OMAP2+: Voltage: Move the omap_volt_data structure to plat Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40 ` [PATCH V3 07/10] ARM: OMAP2+: SmartReflex: Use per-OPP data structure Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-05-10 19:11   ` Guyotte, Greg
2012-05-10 19:11     ` Guyotte, Greg
2012-05-10 19:11     ` Guyotte, Greg
2012-05-11  3:51     ` J, KEERTHY
2012-05-11  3:51       ` J, KEERTHY
2012-05-11  3:51       ` J, KEERTHY
2012-04-26 17:40 ` [PATCH V3 08/10] ARM: OMAP2+: SmartReflex: Create per-opp debugfs node for errminlimit Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40 ` [PATCH V3 09/10] ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40 ` [PATCH V3 10/10] ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/ Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 17:40   ` Keerthy
2012-04-26 19:11 ` [PATCH V3 00/10] PM: Create the AVS(Adaptive Voltage Scaling) Mark Brown
2012-04-26 19:11   ` Mark Brown
2012-04-26 19:11   ` Mark Brown
2012-04-27  5:39   ` J, KEERTHY
2012-04-27  5:39     ` J, KEERTHY
2012-04-27 17:56     ` Mark Brown
2012-04-27 17:56       ` Mark Brown
2012-04-27 17:56       ` Mark Brown
2012-04-27 21:01       ` Kevin Hilman
2012-04-27 21:01         ` Kevin Hilman
2012-04-27 21:01         ` Kevin Hilman
2012-04-30  4:25         ` J, KEERTHY
2012-04-30  4:25           ` J, KEERTHY
2012-04-30  4:25           ` J, KEERTHY
2012-04-30  9:54         ` Mark Brown
2012-04-30  9:54           ` Mark Brown
2012-04-30  9:54           ` Mark Brown
2012-04-30 21:51           ` Kevin Hilman
2012-04-30 21:51             ` Kevin Hilman
2012-04-30 21:51             ` Kevin Hilman
2012-05-02  5:04             ` J, KEERTHY
2012-05-02  5:04               ` J, KEERTHY
2012-05-02  5:04               ` J, KEERTHY
2012-05-04  5:05               ` J, KEERTHY
2012-05-04  5:05                 ` J, KEERTHY
2012-05-04  5:05                 ` J, KEERTHY
2012-05-04  8:21         ` AnilKumar, Chimata
2012-05-04  8:21           ` AnilKumar, Chimata
2012-05-04  8:21           ` AnilKumar, Chimata
2012-05-07 23:48           ` Kevin Hilman
2012-05-07 23:48             ` Kevin Hilman
2012-05-07 23:48             ` Kevin Hilman
2012-05-08  3:48             ` J, KEERTHY
2012-05-08  3:48               ` J, KEERTHY
2012-05-08  3:48               ` J, KEERTHY
2012-05-08 10:17             ` AnilKumar, Chimata [this message]
2012-05-08 10:17               ` AnilKumar, Chimata
2012-05-08 10:17               ` AnilKumar, Chimata
2012-05-08 20:38               ` Woodruff, Richard
2012-05-08 20:38                 ` Woodruff, Richard
2012-05-08 20:38                 ` Woodruff, Richard
2012-05-08 22:16                 ` [linux-pm] " Kevin Hilman
2012-05-08 22:16                   ` Kevin Hilman
2012-05-08 22:16                   ` Kevin Hilman
2012-05-09  0:39                   ` Woodruff, Richard
2012-05-09  0:39                     ` Woodruff, Richard
2012-05-09  0:39                     ` Woodruff, Richard
2012-05-09  8:19                     ` [linux-pm] " Koen Kooi
2012-05-09  8:19                       ` Koen Kooi
2012-05-09  8:19                       ` Koen Kooi
2012-05-09 18:29                     ` Kevin Hilman
2012-05-09 18:29                       ` Kevin Hilman
2012-05-09 18:29                       ` Kevin Hilman
2012-05-23 13:27                       ` Menon, Nishanth
2012-05-23 13:27                         ` Menon, Nishanth
2012-05-23 13:27                         ` Menon, Nishanth
2012-05-24 23:16                         ` [linux-pm] " Kevin Hilman
2012-05-24 23:16                           ` Kevin Hilman
2012-05-24 23:16                           ` Kevin Hilman
2012-05-07 23:51 ` Kevin Hilman
2012-05-07 23:51   ` Kevin Hilman
2012-05-07 23:51   ` Kevin Hilman
2012-05-15  5:46   ` J, KEERTHY
2012-05-15  5:46     ` J, KEERTHY
2012-05-15  5:46     ` J, KEERTHY
2012-05-23  4:51     ` J, KEERTHY
2012-05-23  4:51       ` J, KEERTHY
2012-05-24 17:24       ` Kevin Hilman
2012-05-24 17:24         ` Kevin Hilman
2012-05-24 17:24         ` Kevin Hilman
2012-05-31 22:40         ` Kevin Hilman
2012-05-31 22:40           ` Kevin Hilman
2012-05-31 22:40           ` Kevin Hilman
2012-06-01  3:45           ` J, KEERTHY
2012-06-01  3:45             ` J, KEERTHY
2012-04-26 18:05 Keerthy
2012-04-26 18:05 ` Keerthy
2012-04-26 18:05 ` Keerthy

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=331ABD5ECB02734CA317220B2BBEABC13E9B6681@DBDE01.ent.ti.com \
    --to=anilkumar@ti.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=j-keerthy@ti.com \
    --cc=j-pihet@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=rjw@sisk.pl \
    /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.