[PATCH] OMAP PM interface, version 4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

this is the fourth version of the OMAP PM interface patch.

Major changes since the third revision:

1. omap_pm_get_dev_context_loss_count() has been added.  Normally,
   drivers must restore their context upon every clk_enable(), since
   the device's powerdomain could have been previously switched off.
   If, after clk_enable() in driver code, this function returns the
   same value than was returned in a previous call before a
   clk_disable(), drivers can avoid restoring device context.

2. Documentation updated.


Further comments welcome,

- Paul 

---------------------------------

This message proposes the fourth version of a power management
interface (the "OMAP PM interface") for the linux-omap kernel tree.

It includes a general device driver PM interface, along with some
specialized interfaces for CPUFreq, DSPBridge, and the
powerdomain/clockdomain code.  This message focuses on the general
device driver portion, since it is most relevant to the larger
community of OMAP device driver developers.

The interface is intended to allow drivers to take advantage of OMAP
power management features:

- without locking drivers into a particular underlying implementation;

- without adding constraints that are specific to particular OMAP
  variants; and

- without affecting other architectures.

The device driver portion of the interface covers five types of PM
constraints:

1. Set the maximum MPU wakeup latency

2. Set the maximum device wakeup latency

3. Set the maximum system DMA transfer start latency (CORE pwrdm)

4. Set the minimum bus throughput needed by a device

5. Get the number of times a device has lost context.

These are described in more detail in the patch.

This interface is intended to be temporary, to survive only until the
Linux PM QoS layer supports these features.

This interface is a collaborative product of many people from Nokia
and TI: Karthik Dasu, Jouni Högander, Tony Lindgren, Rajendra Nayak,
Sakari Poussa, Veeramanikandan Raju, Anand Sawant, Igor Stoppa, Paul
Walmsley, and Richard Woodruff.

Included in the patch is a 'no-op' implementation that documents the
interface and emits debug messages.  Rajendra Nayak at TI has
developed an initial implementation of the OMAP PM interface that
relies mostly on TI's Shared Resource Framework.  Also under
development is an implementation of the OMAP PM code that uses the
existing Linux PM QoS code.


Comments welcomed,

- Paul

---

 Documentation/arm/OMAP/omap_pm            |  204 ++++++++++++++++++
 arch/arm/mach-omap2/io.c                  |    4 
 arch/arm/plat-omap/Kconfig                |   13 +
 arch/arm/plat-omap/Makefile               |    1 
 arch/arm/plat-omap/include/mach/omap-pm.h |  319 ++++++++++++++++++++++++++++
 arch/arm/plat-omap/omap-pm-noop.c         |  330 +++++++++++++++++++++++++++++
 6 files changed, 871 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/arm/OMAP/omap_pm
 create mode 100644 arch/arm/plat-omap/include/mach/omap-pm.h
 create mode 100644 arch/arm/plat-omap/omap-pm-noop.c

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux