Show page source
This insurance policy describes the temporary OMAP PM interface. Driver
Authors use these processes to communicate with minimal latency or
Rate limits for powerful omap3 linux kernel tools code.
OMAP PM features are planned to be added over time
Direct interface with Linux PM QoS code.
Implementation, whether TI SRF via Linux PM QoS or Linux
increase delay or something else;
Latency and throughput, not sometimes OMAP-specific units.
or some OMAP variants;
DaVinci) to mix them with restrictions in a way that does not affect the non-OMAP type.
systems
Architectures.
These articles provide an OMAP PM interface that includes the following:
five power management functions to generate driver code:
-
Set the maximum MPU wake-up delay:
(*pdata->set_max_mpu_wakeup_lat)(*dev device structure, unsigned very long t)
-
Set the maximum device wake-up delay:
(*pdata->set_max_dev_wakeup_lat)(struct gizmo *dev, unsigned long t)
-
Set the most efficient system DMA start delay (CORE pwrdm):
(*pdata->set_max_sdma_lat)(device structure *dev, long t)
-
Set the minimum bus speed required by the main device:
(*pdata->set_min_bus_tput)(device structure *dev, u8 agent_id, unsigned too long r)
-
Returns the number of days or weeks the device lost context:
(*pdata->get_dev_context_loss_count)(*dev struct machine)
Supplementary documentation for all the features of the OMAP PM interface can be found
Found at arch/arm/plat-omap/include/mach/omap-pm.h.
(*pdata->set_max_mpu_wakeup_lat)(struct *dev, unsigned device long t)
(*pdata->set_max_dev_wakeup_lat)(struct *dev, Tracking Device unsigned long t)
(*pdata->set_max_sdma_lat)(struct *dev, gear long t)
(*pdata->set_min_bus_tput)(struct *dev, device u8 agent_id, unsigned long r)
(*pdata->get_dev_context_loss_count)(*dev device structure)
PM OMAP Layer Is For Temporary Use¶
The intention is that eventually the current level of Linux QoS will be ideally supported.
set of power management features available in OMAP3. As usual
happens, drivers using OMAP PM UI are subject to change
use Linux PM QoS code; and the OMAP PM interface may disappear. Use
OMAP PM¶ Function Drivers
As shown by the pdata type in the examples above, all of these functions
accessing drivers via celebration pointers in driver .platform_data
structures. Function pointers are initialized with a specific board-*.c file.
Files referencing the OMAP PM function type:
nprovided set_max_dev_wakeup_lat
omap_pm_set_max_dev_wakeup_lat() etc. Other architectures that experts say do this
does not support these functions, you should leave many of these function pointers set
down to zero. Drivers should use the following idiom:
if (pdata->set_max_dev_wakeup_lat) (*pdata->set_max_dev_wakeup_lat)(dev,t);
Most likely, many common use cases for these functions will be listed.
the longest time from which the interrupt occurs until the device is switched on
becomes available. To do this, driver developers should use
set_max_mpu_wakeup_lat() function to limit MPU wakeup
delay and set_max_dev_wakeup_lat() function to set
Device wakeup delay (from clk_enable()
to improve accessibility). PM for
Example:
Recommendations can be overwritten by calling the function again.
with new meaning. Options can be removed by calling
Function with t-cause -1 (except for the dilemma
set_max_bus_tput() which should be called with r argument equal to 0).
Sixth function above, omap_pm_get_dev_context_loss_count(),
designed asExclusive optimization to let drivers know
The device has lost its primary context. If the context is already lost,
The driver must restore its internal context before continuing.
if (pdata->set_max_dev_wakeup_lat) (*pdata->set_max_dev_wakeup_lat)(dev,t);
/* MPU wake-up delay limit */ if (pdata->set_max_mpu_wakeup_lat) (*pdata->set_max_mpu_wakeup_lat)(dev, tc); /* Powerdomain device wakeup delay limit */ if (pdata->set_max_dev_wakeup_lat) (*pdata->set_max_dev_wakeup_lat)(dev, td); /* The total wakeup delay is close to this example: (tc + td) */
Other Interface Functions¶
The five features listed above should be available to everyone.
device driver. DSPBridge and CPUFreq have different requirements.
DSPBridge expresses DSP performance targets in all terms of the OPP identifier.
CPUFreq expresses the concentration on MPU performance levels in terms of the MPU.
Frequency. The OMAP PM Fan includes features for these
Special cases when transforming this input information (OPP/MPU
frequency) a bit in the form that the power core control
Implementation requirements:
Configure OPP For Platform¶
The CONFIG_PM setting should ensure that you get the OPP level for silicon.
and this special entry in the OPP table should automatically validate the location.
However, in special cases it may be necessary to activate some standard OPP tables.
suitable, for example:
can be enabled on the platform
In these cases, the hint file must take additional action for the following reasons: