HAP_power APIs
DSP Power & Performance Management
HAP POWER enums

Enumerations

enum  HAP_freq_match_type {
  HAP_FREQ_AT_LEAST, HAP_FREQ_AT_MOST, HAP_FREQ_CLOSEST, HAP_FREQ_EXACT,
  HAP_FREQ_MAX_COUNT
}
 
enum  HAP_power_app_type_payload {
  HAP_POWER_UNKNOWN_CLIENT_CLASS = 0x00, HAP_POWER_AUDIO_CLIENT_CLASS = 0x01, HAP_POWER_VOICE_CLIENT_CLASS = 0x02, HAP_POWER_COMPUTE_CLIENT_CLASS = 0x04,
  HAP_POWER_STREAMING_1HVX_CLIENT_CLASS = 0x08, HAP_POWER_STREAMING_2HVX_CLIENT_CLASS = 0x10
}
 
enum  HAP_power_dcvs_payload_option { HAP_DCVS_ADJUST_UP_DOWN = 0x1, HAP_DCVS_ADJUST_ONLY_UP = 0x2 }
 
enum  HAP_dcvs_voltage_corner_t {
  HAP_DCVS_VCORNER_DISABLE, HAP_DCVS_VCORNER_SVS2, HAP_DCVS_VCORNER_SVS, HAP_DCVS_VCORNER_SVS_PLUS,
  HAP_DCVS_VCORNER_NOM, HAP_DCVS_VCORNER_NOM_PLUS, HAP_DCVS_VCORNER_TURBO, HAP_DCVS_VCORNER_TURBO_PLUS,
  HAP_DCVS_VCORNER_TURBO_L2, HAP_DCVS_VCORNER_TURBO_L3, HAP_DCVS_VCORNER_MAX = 255
}
 
enum  HAP_dcvs_exp_voltage_corner_t {
  HAP_DCVS_EXP_VCORNER_DISABLE = 0, HAP_DCVS_EXP_VCORNER_MIN = 0x100, HAP_DCVS_EXP_VCORNER_LOW_SVS_D2 = 0x134, HAP_DCVS_EXP_VCORNER_LOW_SVS_D1 = 0x138,
  HAP_DCVS_EXP_VCORNER_LOW_SVS = 0x140, HAP_DCVS_EXP_VCORNER_SVS = 0x180, HAP_DCVS_EXP_VCORNER_SVS_L1 = 0x1C0, HAP_DCVS_EXP_VCORNER_NOM = 0x200,
  HAP_DCVS_EXP_VCORNER_NOM_L1 = 0x240, HAP_DCVS_EXP_VCORNER_TUR = 0x280, HAP_DCVS_EXP_VCORNER_TUR_L1 = 0x2A0, HAP_DCVS_EXP_VCORNER_TUR_L2 = 0x2B0,
  HAP_DCVS_EXP_VCORNER_TUR_L3 = 0x2C0, HAP_DCVS_EXP_VCORNER_MAX = 0xFFFF
}
 
enum  HAP_clk_perf_mode_t { HAP_CLK_PERF_HIGH = 0, HAP_CLK_PERF_LOW }
 
enum  HAP_power_dcvs_v2_payload_option {
  HAP_DCVS_V2_ADJUST_UP_DOWN = 0x1, HAP_DCVS_V2_ADJUST_ONLY_UP = 0x2, HAP_DCVS_V2_POWER_SAVER_MODE = 0x4, HAP_DCVS_V2_POWER_SAVER_AGGRESSIVE_MODE = 0x8,
  HAP_DCVS_V2_PERFORMANCE_MODE = 0x10, HAP_DCVS_V2_DUTY_CYCLE_MODE = 0x20
}
 
enum  HAP_power_update_type_t { HAP_POWER_UPDATE_DCVS = 1, HAP_POWER_UPDATE_SLEEP_LATENCY, HAP_POWER_UPDATE_DCVS_PARAMS }
 
enum  HAP_Power_request_type {
  HAP_power_set_mips_bw = 1, HAP_power_set_HVX, HAP_power_set_apptype, HAP_power_set_linelock,
  HAP_power_set_DCVS, HAP_power_set_linelock_nothrottle, HAP_power_set_DCVS_v2, HAP_power_set_vapss,
  HAP_power_set_vapss_v2, HAP_power_set_dcvs_v2_update, HAP_power_set_streamer, HAP_power_set_DCVS_v3,
  HAP_power_set_HMX, HAP_power_set_HMX_v2, HAP_power_set_CENG_bus
}
 
enum  HAP_Power_response_type {
  HAP_power_get_max_mips = 1, HAP_power_get_max_bus_bw, HAP_power_get_client_class, HAP_power_get_clk_Freq,
  HAP_power_get_aggregateAVSMpps, HAP_power_get_dcvsEnabled, HAP_power_get_vapss_core_clk_Freq, HAP_power_get_dma_core_clk_Freq,
  HAP_power_get_hcp_core_clk_Freq, HAP_power_get_streamer0_core_clk_Freq, HAP_power_get_streamer1_core_clk_Freq
}
 

Detailed Description

// HAP_power_functions

Enumeration Type Documentation

◆ HAP_clk_perf_mode_t

Perf modes to specify clock frequency level within target voltage corner.

Enumerator
HAP_CLK_PERF_HIGH 

To select max frequency at target voltage corner.

HAP_CLK_PERF_LOW 

To select min frequency at target voltage corner.

◆ HAP_dcvs_exp_voltage_corner_t

Expanded voltage corners for HAP_power_set corner voting options

Enumerator
HAP_DCVS_EXP_VCORNER_MIN 

Selects the minimum voltage corner defined for the chipset

HAP_DCVS_EXP_VCORNER_MAX 

Selects the maximum voltage corner defined for the chipset

◆ HAP_dcvs_voltage_corner_t

Voltage corners for HAP DCVS V2 interface

Enumerator
HAP_DCVS_VCORNER_TURBO_L2 

On targets released till Kailua, HAP_DCVS_VCORNER_TURBO_L2 level will be treated as HAP_DCVS_VCORNER_TURBO_PLUS

HAP_DCVS_VCORNER_TURBO_L3 

On targets released till Kailua, HAP_DCVS_VCORNER_TURBO_L3 level will be treated as HAP_DCVS_VCORNER_TURBO_PLUS

◆ HAP_freq_match_type

Clock frequency match type

Enumerator
HAP_FREQ_AT_LEAST 

Matches at least the specified frequency.

HAP_FREQ_AT_MOST 

Matches at most the specified frequency.

HAP_FREQ_CLOSEST 

Closest match to the specified frequency.

HAP_FREQ_EXACT 

Exact match with the specified frequency.

HAP_FREQ_MAX_COUNT 

Maximum count.

◆ HAP_power_app_type_payload

Payload for HAP power client classes

Enumerator
HAP_POWER_UNKNOWN_CLIENT_CLASS 

Unknown client class

HAP_POWER_AUDIO_CLIENT_CLASS 

Audio client class

HAP_POWER_VOICE_CLIENT_CLASS 

Voice client class

HAP_POWER_COMPUTE_CLIENT_CLASS 

Compute client class

HAP_POWER_STREAMING_1HVX_CLIENT_CLASS 

Camera streaming with 1 HVX client class

HAP_POWER_STREAMING_2HVX_CLIENT_CLASS 

Camera streaming with 2 HVX client class

◆ HAP_power_dcvs_payload_option

Option for dcvs payload

Enumerator
HAP_DCVS_ADJUST_UP_DOWN 

increase and decrease core/bus clock speed.

HAP_DCVS_ADJUST_ONLY_UP 

restricts DCVS from lowering the clock speed below the requested value .

◆ HAP_power_dcvs_v2_payload_option

option for dcvs_v2 payload

Enumerator
HAP_DCVS_V2_ADJUST_UP_DOWN 

Allows for DCVS to adjust up and down.

HAP_DCVS_V2_ADJUST_ONLY_UP 

Allows for DCVS to adjust up only.

HAP_DCVS_V2_POWER_SAVER_MODE 

HAP_DCVS_POWER_SAVER_MODE - Higher thresholds for power efficiency.

HAP_DCVS_V2_POWER_SAVER_AGGRESSIVE_MODE 

HAP_DCVS_POWER_SAVER_AGGRESSIVE_MODE - Higher thresholds for power efficiency with faster ramp down.

HAP_DCVS_V2_PERFORMANCE_MODE 

HAP_DCVS_PERFORMANCE_MODE - Lower thresholds for maximum performance

HAP_DCVS_V2_DUTY_CYCLE_MODE 

HAP_DCVS_DUTY_CYCLE_MODE - only for HVX based clients. For streaming class clients: > detects periodicity based on HVX usage > lowers clocks in the no HVX activity region of each period. For compute class clients: > Lowers clocks on no HVX activity detects and brings clocks up on detecting HVX activity again. > Latency involved in bringing up the clock with be at max 1 to 2 ms.

◆ HAP_Power_request_type

Identifies the HAP power request type

Enumerator
HAP_power_set_mips_bw 

Requests for MIPS. Provides fine-grained control to set MIPS values. Payload is set to HAP_power_mips_bw_payload

HAP_power_set_HVX 

Requests to enable / disable HVX Payload is set to HAP_power_hvx_payload

HAP_power_set_apptype 

Sets the app_type Payload is set to HAP_power_app_type_payload

HAP_power_set_linelock 

Sets the throttled L2 cache line locking parameters. Only one throttled call is supported at this time. Additional un-throttled line-locks can be performed using HAP_power_set_linelock_nothrottle Payload is set to HAP_power_linelock_payload

HAP_power_set_DCVS 

Requests to participate / stop participating in DCVS

HAP_power_set_linelock_nothrottle 

Sets the L2 cache line locking parameters (non-throttled). Payload is set to HAP_power_linelock_nothrottle_payload

HAP_power_set_DCVS_v2 

Requests to participate / stop participating in DCVS_v2

HAP_power_set_vapss 

Sets the VAPSS core clock and DDR/IPNOC bandwidth Payload is set to HAP_power_vapss_payload

HAP_power_set_vapss_v2 

Sets the VAPSS core DMA/HCP clocks and DDR/IPNOC bandwidths Payload is set to HAP_power_vapss_payload_v2

HAP_power_set_dcvs_v2_update 

Updates DCVS params Payload is set to HAP_power_dcvs_v2_update_payload

HAP_power_set_streamer 

Sets the streamer core clocks Payload is set to HAP_power_streamer_payload

HAP_power_set_DCVS_v3 

Updates DCVS params Payload is set to HAP_power_dcvs_v3_payload

HAP_power_set_HMX 

Requests to enable / disable HMX Payload is set to HAP_power_hmx_payload

HAP_power_set_HMX_v2 

Requests for HMX power management along with HMX clock requirement. On chipsets without separate HMX clock, will return AEE_EBADPARM error if target corner / frequency is requested. Payload is set to HAP_power_hmx_payload_v2

HAP_power_set_CENG_bus 

To vote for CENG bus Payload is set to HAP_power_ceng_bus_payload

◆ HAP_Power_response_type

Identifies the HAP power response type

Enumerator
HAP_power_get_max_mips 

Returns the max mips supported (max_mips)

HAP_power_get_max_bus_bw 

Returns the max bus bandwidth supported (max_bus_bw)

HAP_power_get_client_class 

Returns the client class (client_class)

HAP_power_get_clk_Freq 

Returns the core clock frequency (clkFreqHz)

HAP_power_get_aggregateAVSMpps 

Returns the aggregate Mpps used by audio and voice (clkFreqHz)

HAP_power_get_dcvsEnabled 

Returns the dcvs status (enabled / disabled)

HAP_power_get_vapss_core_clk_Freq 

Returns the VAPSS core clock frequency (clkFreqHz)

HAP_power_get_dma_core_clk_Freq 

Returns the DMA core clock frequency (clkFreqHz)

HAP_power_get_hcp_core_clk_Freq 

Returns the HCP core clock frequency (clkFreqHz)

HAP_power_get_streamer0_core_clk_Freq 

Returns the streamer 0 core clock frequency (clkFreqHz)

HAP_power_get_streamer1_core_clk_Freq 

Returns the streamer 1 core clock frequency (clkFreqHz)

◆ HAP_power_update_type_t

Type for dcvs update request