HAP_power APIs
DSP Power & Performance Management
HAP_power.h
1 /*==============================================================================
2 @file
3  HAP_power.h
4 
5 @brief
6  Header file of DSP power APIs.
7 
8 Copyright (c) 2015,2019,2022 Qualcomm Technologies, Inc.
9 All rights reserved. Qualcomm Proprietary and Confidential.
10 ==============================================================================*/
11 
12 #ifndef _HAP_POWER_H
13 #define _HAP_POWER_H
14 
15 #include "AEEStdErr.h"
16 #include "AEEStdDef.h"
17 #include <string.h>
18 #include <stdlib.h>
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 //Add a weak reference so shared objects do not throw link error
25 #pragma weak HAP_power_destroy_client
26 
54 #define HAP_DCVS_LPM_LEVEL1 1
55 #define HAP_DCVS_LPM_LEVEL2 2
56 #define HAP_DCVS_LPM_LEVEL3 3
57 #define HAP_DCVS_LPM_ENABLE_ALL 0
59 #define HAP_DCVS_VOLT_CORNER_TURBO_L2_L3_DEFINED
60 #define HAP_POWER_SET_HMX_V2_DEFINED
61 #define HAP_POWER_SET_CENG_BUS_VOTING_DEFINED
66 typedef enum {
67  HAP_POWER_ERR_UNKNOWN = -1,
68  HAP_POWER_ERR_INVALID_PARAM = -2,
69  HAP_POWER_ERR_UNSUPPORTED_API = -3
70 } HAP_power_error_codes;
71 
73 typedef struct {
74  boolean set_mips;
75  unsigned int mipsPerThread;
76  unsigned int mipsTotal;
77  boolean set_bus_bw;
78  uint64 bwBytePerSec;
79  unsigned short busbwUsagePercentage;
80  boolean set_latency;
81  int latency;
85 
90 typedef enum {
102 typedef struct {
103  boolean set_bus_bw;
104  uint64 bwBytePerSec;
105  unsigned short busbwUsagePercentage;
107 
112 typedef struct {
113  boolean set_clk;
114  unsigned int clkFreqHz;
121 
126 typedef struct {
127  boolean set_dma_clk;
128  boolean set_hcp_clk;
129  unsigned int dmaClkFreqHz;
130  unsigned int hcpClkFreqHz;
137 
139 typedef struct {
140  boolean power_up;
142 
146 typedef struct {
147  boolean power_up;
149 
154 typedef enum {
167 typedef struct {
168  void* startAddress;
169  uint32 size;
179 
181 typedef struct {
182  void* startAddress;
183  uint32 size;
186 
191 typedef enum {
200 typedef struct {
201  boolean dcvs_enable;
206 
211 typedef enum {
212  HAP_DCVS_VCORNER_DISABLE,
213  HAP_DCVS_VCORNER_SVS2,
214  HAP_DCVS_VCORNER_SVS,
215  HAP_DCVS_VCORNER_SVS_PLUS,
216  HAP_DCVS_VCORNER_NOM,
217  HAP_DCVS_VCORNER_NOM_PLUS,
218  HAP_DCVS_VCORNER_TURBO,
219  HAP_DCVS_VCORNER_TURBO_PLUS,
222  HAP_DCVS_VCORNER_MAX = 255,
227 typedef enum {
228  HAP_DCVS_EXP_VCORNER_DISABLE = 0,
231  HAP_DCVS_EXP_VCORNER_LOW_SVS_D2 = 0x134,
232  HAP_DCVS_EXP_VCORNER_LOW_SVS_D1 = 0x138,
233  HAP_DCVS_EXP_VCORNER_LOW_SVS = 0x140,
234  HAP_DCVS_EXP_VCORNER_SVS = 0x180,
235  HAP_DCVS_EXP_VCORNER_SVS_L1 = 0x1C0,
236  HAP_DCVS_EXP_VCORNER_NOM = 0x200,
237  HAP_DCVS_EXP_VCORNER_NOM_L1 = 0x240,
238  HAP_DCVS_EXP_VCORNER_TUR = 0x280,
239  HAP_DCVS_EXP_VCORNER_TUR_L1 = 0x2A0,
240  HAP_DCVS_EXP_VCORNER_TUR_L2 = 0x2B0,
241  HAP_DCVS_EXP_VCORNER_TUR_L3 = 0x2C0,
245 
250 typedef enum {
254 
259 #define HAP_DCVS_VCORNER_SVSPLUS HAP_DCVS_VCORNER_SVS_PLUS
260 #define HAP_DCVS_VCORNER_NOMPLUS HAP_DCVS_VCORNER_NOM_PLUS
261 #define HAP_DCVS_VCORNER_TURBO_L1 HAP_DCVS_VCORNER_TURBO_PLUS
262 
264 typedef struct {
268  uint32 param1;
269  uint32 param2;
270  uint32 param3;
272 
274 typedef struct {
278  uint32 param1;
279  uint32 param2;
280  uint32 param3;
282 
284 typedef struct {
288  uint32 param1;
289  uint32 param2;
290  uint32 param3;
292 
294 typedef struct {
295  uint32 param1;
296  uint32 param2;
297  uint32 param3;
298  uint32 param4;
299  uint32 param5;
300  uint32 param6;
302 
307 typedef enum {
328 typedef struct {
329  boolean dcvs_enable;
331  boolean set_latency;
332  uint32 latency;
333  boolean set_dcvs_params;
336 
338 typedef struct {
339  boolean set_dcvs_enable;
340  boolean dcvs_enable;
342  boolean set_latency;
343  uint32 latency;
344  boolean set_core_params;
346  boolean set_bus_params;
351  unsigned char sleep_disable;
353 
358 typedef enum {
359  HAP_POWER_UPDATE_DCVS = 1,
360  HAP_POWER_UPDATE_SLEEP_LATENCY,
361  HAP_POWER_UPDATE_DCVS_PARAMS,
367 typedef struct {
368  boolean dcvs_enable;
371 
373 typedef struct {
374  boolean set_latency;
375  unsigned int latency;
377 
379 typedef struct {
380  boolean set_dcvs_params;
384 
386 typedef struct {
388  union {
389  HAP_power_update_dcvs_t dcvs_payload;
390  HAP_power_update_latency_t latency_payload;
391  HAP_power_update_dcvs_params_t dcvs_params_payload;
392  };
394 
396 typedef struct {
399  unsigned int streamer0_clkFreqHz;
400  unsigned int streamer1_clkFreqHz;
402  uint32 param1;
403  uint32 param2;
404  uint32 param3;
406 
416 typedef struct {
417  boolean set_power;
418  boolean power_up;
419  boolean set_clock;
422  boolean pick_default;
434  uint32 freq_mhz;
437  uint32 floor_freq_mhz;
443  uint32 param1;
444  uint32 param2;
445  uint32 param3;
447 
449 typedef struct {
455  uint64 bwBytePerSec;
458  uint32 param1;
459  uint32 param2;
460  uint32 param3;
462 
467 typedef enum {
508 typedef struct {
510  union{
534  };
536 
546 int HAP_power_set(void* context, HAP_power_request_t* request);
555 typedef enum {
573 typedef struct {
575  union{
576  unsigned int max_mips;
577  uint64 max_bus_bw;
578  unsigned int client_class;
579  unsigned int clkFreqHz;
580  unsigned int aggregateAVSMpps;
581  boolean dcvsEnabled;
582  };
584 
594 int HAP_power_get(void* context, HAP_power_response_t* response);
595 
603 static inline void HAP_power_set_dcvs_v3_init(HAP_power_request_t* request) {
604  memset(request, 0, sizeof(HAP_power_request_t) );
605  request->type = HAP_power_set_DCVS_v3;
606  request->dcvs_v3.set_dcvs_enable = TRUE;
607  request->dcvs_v3.dcvs_enable = TRUE;
609  request->dcvs_v3.set_latency = TRUE;
610  request->dcvs_v3.latency = 65535;
611  request->dcvs_v3.set_core_params = TRUE;
612  request->dcvs_v3.set_bus_params = TRUE;
613  request->dcvs_v3.set_dcvs_v3_params = TRUE;
614  request->dcvs_v3.set_sleep_disable = TRUE;
615  return;
616 }
617 
626 static inline int HAP_power_set_dcvs_option(void* context, boolean dcvs_enable,
627  HAP_power_dcvs_v2_payload_option dcvs_option) {
628  HAP_power_request_t request;
629  memset(&request, 0, sizeof(HAP_power_request_t) );
630  request.type = HAP_power_set_DCVS_v3;
631  request.dcvs_v3.set_dcvs_enable = TRUE;
632  request.dcvs_v3.dcvs_enable = dcvs_enable;
633  if(dcvs_enable)
634  request.dcvs_v3.dcvs_option = dcvs_option;
635  return HAP_power_set(context, &request);
636 }
637 
645 static inline int HAP_power_set_sleep_latency(void* context, uint32 latency) {
646  HAP_power_request_t request;
647  memset(&request, 0, sizeof(HAP_power_request_t) );
648  request.type = HAP_power_set_DCVS_v3;
649  request.dcvs_v3.set_latency = TRUE;
650  request.dcvs_v3.latency = latency;
651  return HAP_power_set(context, &request);
652 }
653 
662 static inline int HAP_power_set_core_corner(void* context, uint32 target_corner,
663  uint32 min_corner, uint32 max_corner) {
664  HAP_power_request_t request;
665  memset(&request, 0, sizeof(HAP_power_request_t) );
666  request.type = HAP_power_set_DCVS_v3;
667  request.dcvs_v3.set_core_params = TRUE;
668  request.dcvs_v3.core_params.min_corner = (HAP_dcvs_voltage_corner_t) (min_corner);
669  request.dcvs_v3.core_params.max_corner = (HAP_dcvs_voltage_corner_t) (max_corner);
670  request.dcvs_v3.core_params.target_corner = (HAP_dcvs_voltage_corner_t) (target_corner);
671  return HAP_power_set(context, &request);
672 }
673 
682 static inline int HAP_power_set_bus_corner(void* context, uint32 target_corner,
683  uint32 min_corner, uint32 max_corner) {
684  HAP_power_request_t request;
685  memset(&request, 0, sizeof(HAP_power_request_t) );
686  request.type = HAP_power_set_DCVS_v3;
687  request.dcvs_v3.set_bus_params = TRUE;
688  request.dcvs_v3.bus_params.min_corner = (HAP_dcvs_voltage_corner_t) (min_corner);
689  request.dcvs_v3.bus_params.max_corner = (HAP_dcvs_voltage_corner_t) (max_corner);
690  request.dcvs_v3.bus_params.target_corner = (HAP_dcvs_voltage_corner_t) (target_corner);
691  return HAP_power_set(context, &request);
692 }
693 
700 static inline int HAP_power_set_sleep_mode(void* context, unsigned char sleep_disable) {
701  HAP_power_request_t request;
702  memset(&request, 0, sizeof(HAP_power_request_t) );
703  request.type = HAP_power_set_DCVS_v3;
704  request.dcvs_v3.set_sleep_disable = TRUE;
705  request.dcvs_v3.sleep_disable = sleep_disable;
706  return HAP_power_set(context, &request);
707 }
708 
709 
728 int HAP_power_request(int clock, int bus, int latency);
729 
746 int HAP_power_request_abs(int clock, int bus, int latency);
747 
756 int HAP_power_get_max_speed(int* clock_max, int* bus_max);
757 
764 int HVX_power_request(void);
765 
772 int HVX_power_release(void);
773 
780 int HAP_power_destroy_client(void *context);
781 
787 static inline int HAP_power_destroy(void *client){
788  if(0 != HAP_power_destroy_client)
789  return HAP_power_destroy_client(client);
790  return AEE_EUNSUPPORTEDAPI;
791 }
792 
797 static inline void* HAP_utils_create_context(void) {
798  /*
799  * Allocate 1 byte of memory for a unique context identifier
800  * Clients can also allocate memory and use it as unique context identifier
801  */
802  return malloc(1);
803 }
804 
809 static inline void HAP_utils_destroy_context(void* context) {
810  free(context);
811 }
812 
816 #ifdef __cplusplus
817 }
818 #endif
819 #endif //_HAP_POWER_H
820 
uint32 throttleBlockSize
Definition: HAP_power.h:171
HAP_power_bus_bw dma_ext
Definition: HAP_power.h:132
Definition: HAP_power.h:158
HAP_power_dcvs_v3_payload dcvs_v3
Definition: HAP_power.h:524
HAP_power_update_type_t update_param
Definition: HAP_power.h:387
unsigned int max_mips
Definition: HAP_power.h:576
static int HAP_power_set_bus_corner(void *context, uint32 target_corner, uint32 min_corner, uint32 max_corner)
Definition: HAP_power.h:682
HAP_freq_match_type freqMatch
Definition: HAP_power.h:401
uint32 busbwUsagePercentage
Definition: HAP_power.h:457
uint32 latency
Definition: HAP_power.h:332
uint32 param1
Definition: HAP_power.h:458
HAP_power_dcvs_payload_option
Definition: HAP_power.h:191
uint32 param1
Definition: HAP_power.h:278
unsigned int streamer1_clkFreqHz
Definition: HAP_power.h:400
HAP_power_bus_bw dma_int
Definition: HAP_power.h:134
uint32 param2
Definition: HAP_power.h:403
int HAP_power_set(void *context, HAP_power_request_t *request)
HAP_power_dcvs_v2_payload_option dcvs_option
Definition: HAP_power.h:330
Definition: HAP_power.h:94
static void HAP_utils_destroy_context(void *context)
Definition: HAP_power.h:809
uint32 floor_freq_mhz
Definition: HAP_power.h:437
HAP_power_linelock_nothrottle_payload linelock_nothrottle
Definition: HAP_power.h:523
HAP_clk_perf_mode_t
Definition: HAP_power.h:250
uint32 size
Definition: HAP_power.h:169
Payload for vapps_v2 power request Supported in targets which have split VAPPS core(DMA and HCP) form...
Definition: HAP_power.h:126
Definition: HAP_power.h:167
HAP_Power_response_type type
Definition: HAP_power.h:574
Definition: HAP_power.h:181
HAP_power_dcvs_v2_payload_option
Definition: HAP_power.h:307
Definition: HAP_power.h:508
uint32 param2
Definition: HAP_power.h:296
Definition: HAP_power.h:92
unsigned int latency
Definition: HAP_power.h:375
boolean set_dcvs_params
Definition: HAP_power.h:380
HAP_dcvs_exp_voltage_corner_t max_corner
Definition: HAP_power.h:432
boolean set_mips
Definition: HAP_power.h:74
HAP_power_update_type_t
Definition: HAP_power.h:358
static int HAP_power_set_core_corner(void *context, uint32 target_corner, uint32 min_corner, uint32 max_corner)
Definition: HAP_power.h:662
HAP_freq_match_type
Definition: HAP_power.h:90
Definition: HAP_power.h:566
HAP_power_app_type_payload
Definition: HAP_power.h:154
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:453
boolean power_up
Definition: HAP_power.h:140
unsigned int aggregateAVSMpps
Definition: HAP_power.h:580
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:267
boolean set_dcvs_params
Definition: HAP_power.h:333
Definition: HAP_power.h:146
Definition: HAP_power.h:252
unsigned short busbwUsagePercentage
Definition: HAP_power.h:79
HAP_power_dcvs_payload_option dcvs_option
Definition: HAP_power.h:202
boolean set_bus_bw
Definition: HAP_power.h:77
Definition: HAP_power.h:485
Definition: HAP_power.h:155
HAP_power_ceng_bus_payload ceng_bus
Definition: HAP_power.h:533
HAP_Power_request_type
Definition: HAP_power.h:467
HAP_power_hmx_payload hmx
Definition: HAP_power.h:525
HAP_Power_response_type
Definition: HAP_power.h:555
HAP_dcvs_voltage_corner_t min_corner
Definition: HAP_power.h:266
uint32 param2
Definition: HAP_power.h:289
boolean set_dcvs_enable
Definition: HAP_power.h:339
boolean set_latency
Definition: HAP_power.h:331
uint32 param1
Definition: HAP_power.h:268
Definition: HAP_power.h:495
Definition: HAP_power.h:471
boolean set_clock
Definition: HAP_power.h:419
HAP_power_linelock_payload linelock
Definition: HAP_power.h:517
Definition: HAP_power.h:479
uint32 param4
Definition: HAP_power.h:298
boolean dcvs_enable
Definition: HAP_power.h:340
HAP_dcvs_params_t dcvs_params
Definition: HAP_power.h:382
Definition: HAP_power.h:379
HAP_power_vapss_payload_v2 vapss_v2
Definition: HAP_power.h:513
HAP_dcvs_voltage_corner_t min_corner
Definition: HAP_power.h:276
boolean dcvsEnabled
Definition: HAP_power.h:581
uint32 param5
Definition: HAP_power.h:299
Definition: HAP_power.h:193
static int HAP_power_set_sleep_mode(void *context, unsigned char sleep_disable)
Definition: HAP_power.h:700
Definition: HAP_power.h:416
int latency
Definition: HAP_power.h:81
boolean set_power
Definition: HAP_power.h:417
HAP_clk_perf_mode_t perf_mode
Definition: HAP_power.h:454
int HAP_power_get(void *context, HAP_power_response_t *response)
Definition: HAP_power.h:500
HAP_dcvs_v3_params_t dcvs_v3_params
Definition: HAP_power.h:349
HAP_power_bus_bw hcp_int
Definition: HAP_power.h:135
boolean set_hcp_clk
Definition: HAP_power.h:128
uint32 param2
Definition: HAP_power.h:459
Definition: HAP_power.h:159
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:277
Definition: HAP_power.h:200
HAP_dcvs_params_t dcvs_params
Definition: HAP_power.h:334
Definition: HAP_power.h:251
uint32 param3
Definition: HAP_power.h:404
Definition: HAP_power.h:310
boolean set_bus_bw
Definition: HAP_power.h:103
HAP_power_dcvs_v2_payload_option dcvs_option
Definition: HAP_power.h:369
Definition: HAP_power.h:373
Definition: HAP_power.h:558
HAP_core_params_t core_params
Definition: HAP_power.h:345
uint32 freq_mhz
Definition: HAP_power.h:434
unsigned int mipsPerThread
Definition: HAP_power.h:75
Definition: HAP_power.h:489
boolean power_up
Definition: HAP_power.h:147
Definition: HAP_power.h:91
Definition: HAP_power.h:160
uint32 param1
Definition: HAP_power.h:295
Definition: HAP_power.h:386
uint32 throttlePauseUs
Definition: HAP_power.h:177
boolean pick_default
Definition: HAP_power.h:422
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:285
boolean dcvs_enable
Definition: HAP_power.h:329
Definition: HAP_power.h:220
boolean set_clk
Definition: HAP_power.h:113
unsigned int dmaClkFreqHz
Definition: HAP_power.h:129
unsigned int mipsTotal
Definition: HAP_power.h:76
Definition: HAP_power.h:93
HAP_dcvs_voltage_corner_t min_corner
Definition: HAP_power.h:286
uint32 param3
Definition: HAP_power.h:297
HAP_power_hmx_payload_v2 hmx_v2
Definition: HAP_power.h:530
Definition: HAP_power.h:221
Definition: HAP_power.h:560
HAP_power_bus_bw hcp_int
Definition: HAP_power.h:119
static void * HAP_utils_create_context(void)
Definition: HAP_power.h:797
uint32 param1
Definition: HAP_power.h:443
boolean set_core_params
Definition: HAP_power.h:344
Payload for vapps power request vapps core is used for Video post processing.
Definition: HAP_power.h:112
boolean set_dcvs_v3_params
Definition: HAP_power.h:348
HAP_power_bus_bw hcp_ext
Definition: HAP_power.h:117
boolean set_sleep_disable
Definition: HAP_power.h:350
Definition: HAP_power.h:573
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:450
boolean set_streamer1_clk
Definition: HAP_power.h:398
Definition: HAP_power.h:308
boolean set_latency
Definition: HAP_power.h:342
Definition: HAP_power.h:475
HAP_power_dcvs_v2_payload dcvs_v2
Definition: HAP_power.h:521
HAP_power_vapss_payload vapss
Definition: HAP_power.h:512
int HAP_power_get_max_speed(int *clock_max, int *bus_max)
uint32 param3
Definition: HAP_power.h:280
unsigned char sleep_disable
Definition: HAP_power.h:351
Definition: HAP_power.h:311
HAP_bus_params_t bus_params
Definition: HAP_power.h:347
unsigned int clkFreqHz
Definition: HAP_power.h:579
HAP_dcvs_exp_voltage_corner_t
Definition: HAP_power.h:227
static int HAP_power_set_dcvs_option(void *context, boolean dcvs_enable, HAP_power_dcvs_v2_payload_option dcvs_option)
Definition: HAP_power.h:626
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:265
uint32 param1
Definition: HAP_power.h:288
HAP_power_app_type_payload apptype
Definition: HAP_power.h:516
uint32 param3
Definition: HAP_power.h:290
uint64 max_bus_bw
Definition: HAP_power.h:577
boolean set_latency
Definition: HAP_power.h:80
unsigned int client_class
Definition: HAP_power.h:578
static void HAP_power_set_dcvs_v3_init(HAP_power_request_t *request)
Definition: HAP_power.h:603
uint32 param2
Definition: HAP_power.h:279
HAP_power_mips_bw_payload mips_bw
Definition: HAP_power.h:511
unsigned int streamer0_clkFreqHz
Definition: HAP_power.h:399
Definition: HAP_power.h:483
Definition: HAP_power.h:367
boolean set_latency
Definition: HAP_power.h:374
HAP_power_dcvs_v2_payload_option dcvs_option
Definition: HAP_power.h:341
Definition: HAP_power.h:473
uint32 param6
Definition: HAP_power.h:300
int HAP_power_destroy_client(void *context)
DO NOT call this API directly, use HAP_power_destroy instead.
Definition: HAP_power.h:156
HAP_freq_match_type freqMatch
Definition: HAP_power.h:131
Definition: HAP_power.h:564
boolean dcvs_enable
Definition: HAP_power.h:201
unsigned int clkFreqHz
Definition: HAP_power.h:114
Definition: HAP_power.h:480
boolean set_bus_params
Definition: HAP_power.h:346
Definition: HAP_power.h:468
HAP_dcvs_exp_voltage_corner_t min_corner
Definition: HAP_power.h:431
Definition: HAP_power.h:561
Definition: HAP_power.h:487
HAP_dcvs_exp_voltage_corner_t target_corner
Definition: HAP_power.h:426
Definition: HAP_power.h:309
boolean set_streamer0_clk
Definition: HAP_power.h:397
Definition: HAP_power.h:563
uint32 param3
Definition: HAP_power.h:445
Definition: HAP_power.h:449
Definition: HAP_power.h:157
unsigned int hcpClkFreqHz
Definition: HAP_power.h:130
Definition: HAP_power.h:313
Definition: HAP_power.h:242
uint64 bwBytePerSec
Definition: HAP_power.h:104
Definition: HAP_power.h:102
Definition: HAP_power.h:328
boolean dcvs_enable
Definition: HAP_power.h:368
HAP_power_streamer_payload streamer
Definition: HAP_power.h:514
Definition: HAP_power.h:284
uint32 latency
Definition: HAP_power.h:343
uint64 bwBytePerSec
Definition: HAP_power.h:78
Definition: HAP_power.h:556
Definition: HAP_power.h:338
HAP_power_bus_bw dma_int
Definition: HAP_power.h:118
Definition: HAP_power.h:264
int HAP_power_request_abs(int clock, int bus, int latency)
uint64 bwBytePerSec
Definition: HAP_power.h:455
Definition: HAP_power.h:229
boolean power_up
Definition: HAP_power.h:418
Definition: HAP_power.h:274
Definition: HAP_power.h:559
Definition: HAP_power.h:139
boolean set_dma_clk
Definition: HAP_power.h:127
HAP_power_bus_bw dma_ext
Definition: HAP_power.h:116
HAP_power_bus_bw hcp_ext
Definition: HAP_power.h:133
uint32 size
Definition: HAP_power.h:183
Definition: HAP_power.h:192
Definition: HAP_power.h:95
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:287
Definition: HAP_power.h:565
Definition: HAP_power.h:294
uint32 param3
Definition: HAP_power.h:270
Definition: HAP_power.h:493
uint32 param2
Definition: HAP_power.h:444
Definition: HAP_power.h:482
HAP_freq_match_type freqMatch
Definition: HAP_power.h:115
uint32 param2
Definition: HAP_power.h:269
unsigned short busbwUsagePercentage
Definition: HAP_power.h:105
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:275
HAP_Power_request_type type
Definition: HAP_power.h:509
static int HAP_power_destroy(void *client)
Method to destroy clients created through HAP_power_set, wrapper to HAP_power_destroy_client API...
Definition: HAP_power.h:787
Definition: HAP_power.h:396
HAP_dcvs_voltage_corner_t min_corner
Definition: HAP_power.h:452
Definition: HAP_power.h:557
void * startAddress
Definition: HAP_power.h:168
Definition: HAP_power.h:312
int HAP_power_request(int clock, int bus, int latency)
HAP_dcvs_voltage_corner_t
Definition: HAP_power.h:211
HAP_power_dcvs_payload dcvs
Definition: HAP_power.h:520
uint32 param3
Definition: HAP_power.h:460
void * startAddress
Definition: HAP_power.h:182
HAP_clk_perf_mode_t perf_mode
Definition: HAP_power.h:433
Definition: HAP_power.h:491
Definition: HAP_power.h:73
static int HAP_power_set_sleep_latency(void *context, uint32 latency)
Definition: HAP_power.h:645
HAP_power_dcvs_v2_update_payload dcvs_v2_update
Definition: HAP_power.h:522
HAP_power_hvx_payload hvx
Definition: HAP_power.h:515
Definition: HAP_power.h:562
int HVX_power_release(void)
int HVX_power_request(void)
uint32 param1
Definition: HAP_power.h:402