linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V3 00/10] PM: Create the AVS(Adaptive Voltage Scaling)
@ 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
                   ` (11 more replies)
  0 siblings, 12 replies; 48+ messages in thread
From: Keerthy @ 2012-04-26 17:40 UTC (permalink / raw)
  To: linux-omap, linux-arm-kernel, khilman, rjw, linux-kernel, linux-pm
  Cc: j-pihet, j-keerthy

From: J Keerthy <j-keerthy@ti.com>

AVS(Adaptive Voltage Scaling) is a power management technique which
controls the operating voltage of a device in order to optimize (i.e. reduce)
its power consumption. The voltage is adapted depending on static factors
(chip manufacturing process) and dynamic factors (temperature
depending performance).
The TI AVS solution is named Smartreflex. 

To that end, create the AVS driver in drivers/power/avs and
move the OMAP SmartReflex code to the new directory. The
class driver is still retained in the mach-omap2 directory.

In preparation to the move of the OMAP code the following changes have been
made:
- fill in platform data from the device initialization code and pass
 it to the driver,
- create CONFIG_AVS* config options accordingly.

The platform integration data for SmartReflex is passed from hwmod
and the voltage layer to the driver using pdata.

Tested on OMAP4430 SDP using omap2plus_defconfig with the
CONFIG_POWER_AVS* options set. Voltage correction seen
on oscilloscope on all three VDDs.
Based on master branch of the l-o git tree, commit
6bd61e8de0511dd9831eb9d89eea0b4603a10e9e.

Tree: git://gitorious.org/~keerthy05/omap-pm/keerthy-sr.git for_smartreflex_ip_driver_move 

V3: rework after the comments on MLs
 . Retain Efuse offsets check to identify a particular OPP.
 . Introduce a common header file accessible both by arch/arm/mach-omap2/
   and drivers/.
 . Retain the class driver in mach-omap2/ and move IP driver to drivers/power/
   avs since class driver needs voltage layer support.

History:
v2: rework after the comments on MLs
 . Keep the OMAP Kconfig options in the arch dir (Rafael),
 . Move the shared header file from plat-omap to
   include/linux/power/ (Tony)

v1: initial revision

J Keerthy (1):
  ARM: OMAP2+: Voltage: Move the omap_volt_data structure to plat

Jean Pihet (9):
  ARM: OMAP2+: SmartReflex: move the smartreflex header to include/linux/power
  ARM: OMAP3+: SmartReflex: class drivers should use struct omap_sr *
  ARM: OMAP2+: smartreflex: Use the names from hwmod data instead of
    voltage domains.
  ARM: OMAP3: hwmod: rename the smartreflex entries
  ARM: OMAP2+: SmartReflex: introduce a busy loop condition test macro
  ARM: OMAP2+: SmartReflex: Use per-OPP data structure
  ARM: OMAP2+: SmartReflex: Create per-opp debugfs node for errminlimit
  ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options
  ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/
 arch/arm/mach-omap2/Makefile                       |    5 +-
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |   12 +-
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c         |    3 +-
 arch/arm/mach-omap2/pm.h                           |    2 +-
 arch/arm/mach-omap2/smartreflex-class3.c           |   29 ++--
 arch/arm/mach-omap2/sr_device.c                    |   39 ++++-
 arch/arm/mach-omap2/voltage.h                      |   21 +---
 arch/arm/plat-omap/Kconfig                         |   31 ++--
 arch/arm/plat-omap/include/plat/voltage.h          |   21 +++-
 drivers/power/Kconfig                              |    2 +
 drivers/power/Makefile                             |    1 +
 drivers/power/avs/Kconfig                          |   12 ++
 drivers/power/avs/Makefile                         |    1 +
 .../mach-omap2 => drivers/power/avs}/smartreflex.c |  161 ++++++++------------
 .../linux/power}/smartreflex.h                     |   74 ++++++++--
 15 files changed, 235 insertions(+), 179 deletions(-)
 create mode 100644 drivers/power/avs/Kconfig
 create mode 100644 drivers/power/avs/Makefile
 rename {arch/arm/mach-omap2 => drivers/power/avs}/smartreflex.c (90%)
 rename {arch/arm/mach-omap2 => include/linux/power}/smartreflex.h (79%)

-- 
1.7.5.4


^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2012-06-01  3:45 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-26 17:40 [PATCH V3 00/10] PM: Create the AVS(Adaptive Voltage Scaling) 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 ` [PATCH V3 02/10] ARM: OMAP3+: SmartReflex: class drivers should use struct omap_sr * 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 ` [PATCH V3 04/10] ARM: OMAP3: hwmod: rename the smartreflex entries Keerthy
2012-05-04  8:30   ` AnilKumar, Chimata
2012-05-04 10:11     ` J, KEERTHY
2012-05-07 23:39       ` Kevin Hilman
2012-05-07 23:55         ` Kevin Hilman
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-05-04  9:12   ` AnilKumar, Chimata
2012-05-07  5:21     ` J, KEERTHY
2012-05-08 10:17       ` AnilKumar, Chimata
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 ` [PATCH V3 07/10] ARM: OMAP2+: SmartReflex: Use per-OPP data structure Keerthy
2012-05-10 19:11   ` Guyotte, Greg
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 ` [PATCH V3 09/10] ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options Keerthy
2012-04-26 17:40 ` [PATCH V3 10/10] ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/ Keerthy
2012-04-26 19:11 ` [PATCH V3 00/10] PM: Create the AVS(Adaptive Voltage Scaling) Mark Brown
2012-04-27  5:39   ` J, KEERTHY
2012-04-27 17:56     ` Mark Brown
2012-04-27 21:01       ` Kevin Hilman
2012-04-30  4:25         ` J, KEERTHY
2012-04-30  9:54         ` Mark Brown
2012-04-30 21:51           ` Kevin Hilman
2012-05-02  5:04             ` J, KEERTHY
2012-05-04  5:05               ` J, KEERTHY
2012-05-04  8:21         ` AnilKumar, Chimata
2012-05-07 23:48           ` Kevin Hilman
2012-05-08  3:48             ` J, KEERTHY
2012-05-08 10:17             ` AnilKumar, Chimata
2012-05-08 20:38               ` Woodruff, Richard
2012-05-08 22:16                 ` [linux-pm] " Kevin Hilman
2012-05-09  0:39                   ` Woodruff, Richard
2012-05-09  8:19                     ` Koen Kooi
2012-05-09 18:29                     ` Kevin Hilman
2012-05-23 13:27                       ` Menon, Nishanth
2012-05-24 23:16                         ` Kevin Hilman
2012-05-07 23:51 ` Kevin Hilman
2012-05-15  5:46   ` J, KEERTHY
2012-05-23  4:51     ` J, KEERTHY
2012-05-24 17:24       ` Kevin Hilman
2012-05-31 22:40         ` Kevin Hilman
2012-06-01  3:45           ` J, KEERTHY

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).