[PATCH 0/2] OMAP: PM: implement devices wakeup latency constraints APIs

Jean Pihet jean.pihet at newoldbits.com
Fri Mar 4 09:52:53 EST 2011


Implement OMAP PM layer omap_pm_set_max_dev_wakeup_lat API by
creating similar APIs at the omap_device and omap_hwmod levels. The
omap_hwmod level call is the layer with access to the powerdomain
core, so it is the place where the powerdomain is queried to set and
release the constraints.

NOTE: only works for devices which have been converted to use
      omap_device/omap_hwmod.

Longer term, we could possibly remove this API from the OMAP PM layer,
and instead directly use the device level API.

The power domains get the next power state programmed directly in
the registers via pwrdm_wakeuplat_update_pwrst.

Note about PM QOS: the MPU and CORE power domains get the next power
state via cpuidle, which get the strongest wake-up latency constraint
by querying PM QOS. The usage of PM QOS is temporary, until a generic
solution is in place.

Jean Pihet (2):
  OMAP PM: create a PM layer plugin for the devices wakeup latency
    constraints
  OMAP: PM: implement devices wakeup latency constraints APIs

 arch/arm/mach-omap2/omap_hwmod.c              |   62 +++++-
 arch/arm/mach-omap2/powerdomain.c             |  197 ++++++++++++++
 arch/arm/mach-omap2/powerdomain.h             |   39 +++-
 arch/arm/mach-omap2/powerdomains3xxx_data.c   |   60 ++++
 arch/arm/plat-omap/Kconfig                    |    7 +
 arch/arm/plat-omap/Makefile                   |    1 +
 arch/arm/plat-omap/include/plat/omap_device.h |    2 +
 arch/arm/plat-omap/include/plat/omap_hwmod.h  |    2 +
 arch/arm/plat-omap/omap-pm-constraints.c      |  358 +++++++++++++++++++++++++
 arch/arm/plat-omap/omap_device.c              |   28 ++
 10 files changed, 754 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/plat-omap/omap-pm-constraints.c

-- 
1.7.2.3




More information about the linux-arm-kernel mailing list