HAP_power APIs
DSP Power & Performance Management
HAP POWER functions

Functions

int HAP_power_set (void *context, HAP_power_request_t *request)
 
int HAP_power_get (void *context, HAP_power_response_t *response)
 
static void HAP_power_set_dcvs_v3_init (HAP_power_request_t *request)
 
static int HAP_power_set_dcvs_option (void *context, boolean dcvs_enable, HAP_power_dcvs_v2_payload_option dcvs_option)
 
static int HAP_power_set_sleep_latency (void *context, uint32 latency)
 
static int HAP_power_set_core_corner (void *context, uint32 target_corner, uint32 min_corner, uint32 max_corner)
 
static int HAP_power_set_bus_corner (void *context, uint32 target_corner, uint32 min_corner, uint32 max_corner)
 
static int HAP_power_set_sleep_mode (void *context, unsigned char sleep_disable)
 
int HAP_power_request (int clock, int bus, int latency)
 
int HAP_power_request_abs (int clock, int bus, int latency)
 
int HAP_power_get_max_speed (int *clock_max, int *bus_max)
 
int HVX_power_request (void)
 
int HVX_power_release (void)
 
int HAP_power_destroy_client (void *context)
 DO NOT call this API directly, use HAP_power_destroy instead. More...
 
static int HAP_power_destroy (void *client)
 Method to destroy clients created through HAP_power_set, wrapper to HAP_power_destroy_client API. More...
 
static void * HAP_utils_create_context (void)
 
static void HAP_utils_destroy_context (void *context)
 

Detailed Description

Function Documentation

◆ HAP_power_destroy()

static int HAP_power_destroy ( void *  client)
inlinestatic

Method to destroy clients created through HAP_power_set, wrapper to HAP_power_destroy_client API.

Parameters
[in]client- To uniquely identify the client context.
Return values
0on success, AEE_EUNSUPPORTEDAPI if the API is not supported on the DSP image, AEE_ENOSUCHCLIENT on Invalid context, -1 on unknown error

◆ HAP_power_destroy_client()

int HAP_power_destroy_client ( void *  context)

DO NOT call this API directly, use HAP_power_destroy instead.

Method to destroy clients created through HAP_power_set

Parameters
[in]context- To uniquely identify the client
Return values
0on success, AEE_ENOSUCHCLIENT on Invalid context, -1 on unknown error

◆ HAP_power_get()

int HAP_power_get ( void *  context,
HAP_power_response_t response 
)

Method to retrieve power values from the DSP

Parameters
[in]context- Ignored
[out]response- Response.

◆ HAP_power_get_max_speed()

int HAP_power_get_max_speed ( int *  clock_max,
int *  bus_max 
)

This API is deprecated and might generate undesired results. Please use the HAP_power_get() and HAP_power_set() APIs instead. queries the target for its clock and bus speed capabilities

Parameters
[out]clock_max- maximum clock speed supported in MHz
[out]bus_max- maximum bus speed supported in MHz
Return values
0on success

◆ HAP_power_request()

int HAP_power_request ( int  clock,
int  bus,
int  latency 
)

This API is deprecated and might generate undesired results. Please use the HAP_power_get() and HAP_power_set() APIs instead. Requests a performance level by percentage for clock speed and bus speed. Passing 0 for any parameter results in no request being issued for that particular attribute.

Parameters
[in]clock- percentage of target's maximum clock speed
[in]bus- percentage of target's maximum bus speed
[in]latency- maximum hardware wake up latency in microseconds. The higher the value the deeper state of sleep that can be entered but the longer it may take to awaken.
Return values
0on success
Comments : Performance metrics vary from target to target so the
intent of this API is to allow callers to set a relative performance level to achieve the desired balance between performance and power saving.

◆ HAP_power_request_abs()

int HAP_power_request_abs ( int  clock,
int  bus,
int  latency 
)

This API is deprecated and might generate undesired results. Please use the HAP_power_get() and HAP_power_set() APIs instead. Requests a performance level by absolute values. Passing 0 for any parameter results in no request being issued for that particular attribute.

Parameters
[in]clock- speed in MHz
[in]bus- bus speed in MHz
[in]latency- maximum hardware wakeup latency in microseconds. The higher the value the deeper state of sleep that can be entered but the longer it may take to awaken.
Return values
0on success
Comments : This API allows callers who are aware of their target
specific capabilities to set them explicitly.

◆ HAP_power_set()

int HAP_power_set ( void *  context,
HAP_power_request_t request 
)

Method to set power values from the DSP

Parameters
[in]context- To identify the power client
[in]request- Request params.
Return values
0on success, AEE_EMMPMREGISTER on MMPM client register request failure, -1 on unknown error

◆ HAP_power_set_bus_corner()

static int HAP_power_set_bus_corner ( void *  context,
uint32  target_corner,
uint32  min_corner,
uint32  max_corner 
)
inlinestatic

Method to set/reset bus clock voltage corners.

Parameters
[in]context- User context.
[in]target_corner- Target voltage corner.
[in]min_corner- Minimum voltage corner.
[in]max_corner- Maximum voltage corner.
Returns
- 0 on success

◆ HAP_power_set_core_corner()

static int HAP_power_set_core_corner ( void *  context,
uint32  target_corner,
uint32  min_corner,
uint32  max_corner 
)
inlinestatic

Method to set/reset DSP core clock voltage corners.

Parameters
[in]context- User context.
[in]target_corner- Target voltage corner.
[in]min_corner- Minimum voltage corner.
[in]max_corner- Maximum voltage corner.
Returns
- 0 on success

◆ HAP_power_set_dcvs_option()

static int HAP_power_set_dcvs_option ( void *  context,
boolean  dcvs_enable,
HAP_power_dcvs_v2_payload_option  dcvs_option 
)
inlinestatic

Method to enable/disable dcvs and set particular dcvs policy.

Parameters
[in]context- User context.
[in]dcvs_enable- TRUE to enable dcvs, FALSE to disable dcvs.
[in]dcvs_option- To set particular dcvs policy. In case of dcvs disable request, this param will be ignored.
Returns
- 0 on success

◆ HAP_power_set_dcvs_v3_init()

static void HAP_power_set_dcvs_v3_init ( HAP_power_request_t request)
inlinestatic

Method to initialize dcvs v3 structure in request param. It enables flags and resets params for all fields in dcvs v3. So, this can also be used to remove applied dcvs v3 params and restore defaults.

Parameters
[in]request- Pointer to request params.

◆ HAP_power_set_sleep_latency()

static int HAP_power_set_sleep_latency ( void *  context,
uint32  latency 
)
inlinestatic

Method to set/reset sleep latency.

Parameters
[in]context- User context.
[in]latency- Sleep latency value in microseconds, should be > 1. Use 65535 max value to reset it to default.
Returns
- 0 on success

◆ HAP_power_set_sleep_mode()

static int HAP_power_set_sleep_mode ( void *  context,
unsigned char  sleep_disable 
)
inlinestatic

Method to select low power mode.

Parameters
[in]context- User context.
[in]sleep_disable- See HAP_DCVS_LPM_LEVEL1, HAP_DCVS_LPM_LEVEL2, HAP_DCVS_LPM_LEVEL3 and HAP_DCVS_LPM_ENABLE ALL above.
Returns
- 0 on success

◆ HAP_utils_create_context()

static void* HAP_utils_create_context ( void  )
inlinestatic

Method to create user client context

Return values
contextfor client

◆ HAP_utils_destroy_context()

static void HAP_utils_destroy_context ( void *  context)
inlinestatic

Method to destroy user client context

Parameters
contextof client

◆ HVX_power_release()

int HVX_power_release ( void  )

This API is deprecated and might generate undesired results. Please use the HAP_power_get() and HAP_power_set() APIs instead. Downvote for HVX power

Return values
0on success

◆ HVX_power_request()

int HVX_power_request ( void  )

This API is deprecated and might generate undesired results. Please use the HAP_power_get() and HAP_power_set() APIs instead. Upvote for HVX power

Return values
0on success