SRF Replacement - Constraints Part

From OMAPpedia

Revision as of 10:18, 7 July 2010 by Anand sawant (Talk | contribs)
Jump to: navigation, search



This wikipage describes the efforts of replacing constraints part of the Shared Resource Framework (SRF).

SRF Replacement - Constraints Part

Types of Latency Constraints

Details of Interrupt Latency

Details of Device Latency

Proposed Implementation

void omap_pm_set_max_dev_wakeup_lat(struct device *dev, long t)
	/*  existing code */	
	1. Look for devices’ power domain (multiple step lookup as starting  with general device)
	2. Use device pointer as identifier for constraint request

	if (t == -1)
		pwrdm_wakeuplat_release_constraint(pwrdm, dev);
		pwrdm_wakeuplat_set_constraint (pwrdm, dev, t);
struct powerdomain {
/* existing entries*/
const u32 wakeuplat[NUM_FUNC_PWRST];
static LIST_HEAD(wakeup_lat_constraint_list);
static struct powerdomain core_44xx_pwrdm = {
.wakeuplat = {
  [FUNC_PWRST_OFF] = 50,
  [FUNC_PWRST_ON] = 0,
pwrdm_wakeuplat_set_constraint (struct powerdomain *pwrdm, stuct device *dev, long lat_us){
	1. If new constraint, add a new entry to wakeup_lat_constraint_list
	2. If already existing, update entries’ latency value
	3. pwrdm_check_for_state_change (pwrdm)
pwrdm_wakeuplat_release_constraint (struct powerdomain *pwrdm, char   *lat_dev_name){
	1. Remove this devices’ constraint from wakeup_lat_constraint_list
	2. pwrdm_check_for_state_change (pwrdm)
pwrdm_wakeuplat_update_pwrst (struct powerdomain *pwrdm){
	1. min_latency = find_min_wakeup_latency_constraint (pwrdm) 
		 //go through the list for minimum latency value
	2. find power state that has latency lower than minimum constraint
	3.  if (pwrdm->state != new_state)
 		    pwrdm_set_next_pwrst (pwrdm, new_state); // existing function to program next state

Implementation Schedule

Post PM Workshop Deliverables for SRF Replacement - Constraints Part

Task Owner Target Date State Status Comments & Actions
Start with the design as aligned in the workshop and implement check for state change function Vibhore 25-Jun Completed 30-Jun: Completed 23-Jun: On track None
Resolve any compilation issues & test on zoom3 Vibhore New: 07-Jul Old: 28-Jun In Progress 07-Jul: Faced few issues with test code which had to be developed for testing device latency constraints 02-Jul: debugging & functionality testing 23-Jun: None None
Post device latency constraints for review Vibhore 12-Jul Not started 07-Jul: None None
Implement interrupt latency constraints using PM QoS Vibhore 15-Jul Not started None None
Post RFC patches for interrupt latency Vibhore New: 19-Jul, Old: 30-Jun Not started 07-Jul: Prioritized the device latency constraint implementation which is new 02-Jul: Delayed, 23-Jun: None None
Implement throughput constraints & post RFC patches Vibhore 22-Jul Not started None 07-Jul: Requires DVFS functionality which is available on OMAP3 today and will be done for OMAP4 by the target date
Extensive testing on OMAP3 & OMAP4 and rework to address review comments Vibhore 31-Jul Not started 23-Jun: None None
Personal tools