Documentation/arch/arm/omap/omap_pm.rst

Source file repositories/reference/linux-study-clean/Documentation/arch/arm/omap/omap_pm.rst

File Facts

System
Linux kernel
Corpus path
Documentation/arch/arm/omap/omap_pm.rst
Extension
.rst
Size
5884 bytes
Lines
166
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

=====================
The OMAP PM interface
=====================

This document describes the temporary OMAP PM interface.  Driver
authors use these functions to communicate minimum latency or
throughput constraints to the kernel power management code.
Over time, the intention is to merge features from the OMAP PM
interface into the Linux PM QoS code.

Drivers need to express PM parameters which:

- support the range of power management parameters present in the TI SRF;

- separate the drivers from the underlying PM parameter
  implementation, whether it is the TI SRF or Linux PM QoS or Linux
  latency framework or something else;

- specify PM parameters in terms of fundamental units, such as
  latency and throughput, rather than units which are specific to OMAP
  or to particular OMAP variants;

- allow drivers which are shared with other architectures (e.g.,
  DaVinci) to add these constraints in a way which won't affect non-OMAP
  systems,

- can be implemented immediately with minimal disruption of other
  architectures.


This document proposes the OMAP PM interface, including the following
five power management functions for driver code:

1. Set the maximum MPU wakeup latency::

   (*pdata->set_max_mpu_wakeup_lat)(struct device *dev, unsigned long t)

2. Set the maximum device wakeup latency::

   (*pdata->set_max_dev_wakeup_lat)(struct device *dev, unsigned long t)

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

   (*pdata->set_max_sdma_lat)(struct device *dev, long t)

4. Set the minimum bus throughput needed by a device::

   (*pdata->set_min_bus_tput)(struct device *dev, u8 agent_id, unsigned long r)

5. Return the number of times the device has lost context::

   (*pdata->get_dev_context_loss_count)(struct device *dev)


Further documentation for all OMAP PM interface functions can be
found in arch/arm/plat-omap/include/mach/omap-pm.h.


The OMAP PM layer is intended to be temporary
---------------------------------------------

The intention is that eventually the Linux PM QoS layer should support
the range of power management features present in OMAP3.  As this
happens, existing drivers using the OMAP PM interface can be modified
to use the Linux PM QoS code; and the OMAP PM interface can disappear.


Driver usage of the OMAP PM functions
-------------------------------------

Annotation

Implementation Notes