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;
153 
158 typedef enum {
171 typedef struct {
172  void* startAddress;
173  uint32 size;
183 
185 typedef struct {
186  void* startAddress;
187  uint32 size;
190 
195 typedef enum {
204 typedef struct {
205  boolean dcvs_enable;
210 
215 typedef enum {
216  HAP_DCVS_VCORNER_DISABLE,
217  HAP_DCVS_VCORNER_SVS2,
218  HAP_DCVS_VCORNER_SVS,
219  HAP_DCVS_VCORNER_SVS_PLUS,
220  HAP_DCVS_VCORNER_NOM,
221  HAP_DCVS_VCORNER_NOM_PLUS,
222  HAP_DCVS_VCORNER_TURBO,
223  HAP_DCVS_VCORNER_TURBO_PLUS,
226  HAP_DCVS_VCORNER_MAX = 255,
228 
232 typedef enum {
233  HAP_DCVS_EXP_VCORNER_DISABLE = 0,
236  HAP_DCVS_EXP_VCORNER_LOW_SVS_D2 = 0x134,
237  HAP_DCVS_EXP_VCORNER_LOW_SVS_D1 = 0x138,
238  HAP_DCVS_EXP_VCORNER_LOW_SVS = 0x140,
239  HAP_DCVS_EXP_VCORNER_SVS = 0x180,
240  HAP_DCVS_EXP_VCORNER_SVS_L1 = 0x1C0,
241  HAP_DCVS_EXP_VCORNER_NOM = 0x200,
242  HAP_DCVS_EXP_VCORNER_NOM_L1 = 0x240,
243  HAP_DCVS_EXP_VCORNER_TUR = 0x280,
244  HAP_DCVS_EXP_VCORNER_TUR_L1 = 0x2A0,
245  HAP_DCVS_EXP_VCORNER_TUR_L2 = 0x2B0,
246  HAP_DCVS_EXP_VCORNER_TUR_L3 = 0x2C0,
250 
255 typedef enum {
259 
264 #define HAP_DCVS_VCORNER_SVSPLUS HAP_DCVS_VCORNER_SVS_PLUS
265 #define HAP_DCVS_VCORNER_NOMPLUS HAP_DCVS_VCORNER_NOM_PLUS
266 #define HAP_DCVS_VCORNER_TURBO_L1 HAP_DCVS_VCORNER_TURBO_PLUS
267 
269 typedef struct {
273  uint32 param1;
274  uint32 param2;
275  uint32 param3;
277 
279 typedef struct {
283  uint32 param1;
284  uint32 param2;
285  uint32 param3;
287 
289 typedef struct {
293  uint32 param1;
294  uint32 param2;
295  uint32 param3;
297 
299 typedef struct {
300  uint32 param1;
301  uint32 param2;
302  uint32 param3;
303  uint32 param4;
304  uint32 param5;
305  uint32 param6;
307 
312 typedef enum {
333 typedef struct {
334  boolean dcvs_enable;
336  boolean set_latency;
337  uint32 latency;
338  boolean set_dcvs_params;
341 
343 typedef struct {
344  boolean set_dcvs_enable;
345  boolean dcvs_enable;
347  boolean set_latency;
348  uint32 latency;
349  boolean set_core_params;
351  boolean set_bus_params;
356  unsigned char sleep_disable;
358 
363 typedef enum {
364  HAP_POWER_UPDATE_DCVS = 1,
365  HAP_POWER_UPDATE_SLEEP_LATENCY,
366  HAP_POWER_UPDATE_DCVS_PARAMS,
372 typedef struct {
373  boolean dcvs_enable;
376 
378 typedef struct {
379  boolean set_latency;
380  unsigned int latency;
382 
384 typedef struct {
385  boolean set_dcvs_params;
389 
391 typedef struct {
393  union {
394  HAP_power_update_dcvs_t dcvs_payload;
395  HAP_power_update_latency_t latency_payload;
396  HAP_power_update_dcvs_params_t dcvs_params_payload;
397  };
399 
401 typedef struct {
404  unsigned int streamer0_clkFreqHz;
405  unsigned int streamer1_clkFreqHz;
407  uint32 param1;
408  uint32 param2;
409  uint32 param3;
411 
421 typedef struct {
422  boolean set_power;
423  boolean power_up;
424  boolean set_clock;
427  boolean pick_default;
439  uint32 freq_mhz;
442  uint32 floor_freq_mhz;
448  uint32 param1;
449  uint32 param2;
450  uint32 param3;
452 
454 typedef struct {
460  uint64 bwBytePerSec;
463  uint32 param1;
464  uint32 param2;
465  uint32 param3;
467 
472 typedef enum {
513 typedef struct {
515  union{
539  };
541 
551 int HAP_power_set(void* context, HAP_power_request_t* request);
560 typedef enum {
578 typedef struct {
580  union{
581  unsigned int max_mips;
582  uint64 max_bus_bw;
583  unsigned int client_class;
584  unsigned int clkFreqHz;
585  unsigned int aggregateAVSMpps;
586  boolean dcvsEnabled;
587  };
589 
599 int HAP_power_get(void* context, HAP_power_response_t* response);
600 
608 static inline void HAP_power_set_dcvs_v3_init(HAP_power_request_t* request) {
609  memset(request, 0, sizeof(HAP_power_request_t) );
610  request->type = HAP_power_set_DCVS_v3;
611  request->dcvs_v3.set_dcvs_enable = TRUE;
612  request->dcvs_v3.dcvs_enable = TRUE;
614  request->dcvs_v3.set_latency = TRUE;
615  request->dcvs_v3.latency = 65535;
616  request->dcvs_v3.set_core_params = TRUE;
617  request->dcvs_v3.set_bus_params = TRUE;
618  request->dcvs_v3.set_dcvs_v3_params = TRUE;
619  request->dcvs_v3.set_sleep_disable = TRUE;
620  return;
621 }
622 
631 static inline int HAP_power_set_dcvs_option(void* context, boolean dcvs_enable,
632  HAP_power_dcvs_v2_payload_option dcvs_option) {
633  HAP_power_request_t request;
634  memset(&request, 0, sizeof(HAP_power_request_t) );
635  request.type = HAP_power_set_DCVS_v3;
636  request.dcvs_v3.set_dcvs_enable = TRUE;
637  request.dcvs_v3.dcvs_enable = dcvs_enable;
638  if(dcvs_enable)
639  request.dcvs_v3.dcvs_option = dcvs_option;
640  return HAP_power_set(context, &request);
641 }
642 
650 static inline int HAP_power_set_sleep_latency(void* context, uint32 latency) {
651  HAP_power_request_t request;
652  memset(&request, 0, sizeof(HAP_power_request_t) );
653  request.type = HAP_power_set_DCVS_v3;
654  request.dcvs_v3.set_latency = TRUE;
655  request.dcvs_v3.latency = latency;
656  return HAP_power_set(context, &request);
657 }
658 
667 static inline int HAP_power_set_core_corner(void* context, uint32 target_corner,
668  uint32 min_corner, uint32 max_corner) {
669  HAP_power_request_t request;
670  memset(&request, 0, sizeof(HAP_power_request_t) );
671  request.type = HAP_power_set_DCVS_v3;
672  request.dcvs_v3.set_core_params = TRUE;
673  request.dcvs_v3.core_params.min_corner = (HAP_dcvs_voltage_corner_t) (min_corner);
674  request.dcvs_v3.core_params.max_corner = (HAP_dcvs_voltage_corner_t) (max_corner);
675  request.dcvs_v3.core_params.target_corner = (HAP_dcvs_voltage_corner_t) (target_corner);
676  return HAP_power_set(context, &request);
677 }
678 
687 static inline int HAP_power_set_bus_corner(void* context, uint32 target_corner,
688  uint32 min_corner, uint32 max_corner) {
689  HAP_power_request_t request;
690  memset(&request, 0, sizeof(HAP_power_request_t) );
691  request.type = HAP_power_set_DCVS_v3;
692  request.dcvs_v3.set_bus_params = TRUE;
693  request.dcvs_v3.bus_params.min_corner = (HAP_dcvs_voltage_corner_t) (min_corner);
694  request.dcvs_v3.bus_params.max_corner = (HAP_dcvs_voltage_corner_t) (max_corner);
695  request.dcvs_v3.bus_params.target_corner = (HAP_dcvs_voltage_corner_t) (target_corner);
696  return HAP_power_set(context, &request);
697 }
698 
705 static inline int HAP_power_set_sleep_mode(void* context, unsigned char sleep_disable) {
706  HAP_power_request_t request;
707  memset(&request, 0, sizeof(HAP_power_request_t) );
708  request.type = HAP_power_set_DCVS_v3;
709  request.dcvs_v3.set_sleep_disable = TRUE;
710  request.dcvs_v3.sleep_disable = sleep_disable;
711  return HAP_power_set(context, &request);
712 }
713 
714 
733 int HAP_power_request(int clock, int bus, int latency);
734 
751 int HAP_power_request_abs(int clock, int bus, int latency);
752 
761 int HAP_power_get_max_speed(int* clock_max, int* bus_max);
762 
769 int HVX_power_request(void);
770 
777 int HVX_power_release(void);
778 
785 int HAP_power_destroy_client(void *context);
786 
792 static inline int HAP_power_destroy(void *client){
793  if(0 != HAP_power_destroy_client)
794  return HAP_power_destroy_client(client);
795  return AEE_EUNSUPPORTEDAPI;
796 }
797 
802 static inline void* HAP_utils_create_context(void) {
803  /*
804  * Allocate 1 byte of memory for a unique context identifier
805  * Clients can also allocate memory and use it as unique context identifier
806  */
807  return malloc(1);
808 }
809 
814 static inline void HAP_utils_destroy_context(void* context) {
815  free(context);
816 }
817 
821 #ifdef __cplusplus
822 }
823 #endif
824 #endif //_HAP_POWER_H
825 
uint32 throttleBlockSize
Definition: HAP_power.h:175
HAP_power_bus_bw dma_ext
Definition: HAP_power.h:132
Definition: HAP_power.h:162
HAP_power_dcvs_v3_payload dcvs_v3
Definition: HAP_power.h:529
HAP_power_update_type_t update_param
Definition: HAP_power.h:392
unsigned int max_mips
Definition: HAP_power.h:581
static int HAP_power_set_bus_corner(void *context, uint32 target_corner, uint32 min_corner, uint32 max_corner)
Definition: HAP_power.h:687
HAP_freq_match_type freqMatch
Definition: HAP_power.h:406
uint32 busbwUsagePercentage
Definition: HAP_power.h:462
uint32 latency
Definition: HAP_power.h:337
uint32 param1
Definition: HAP_power.h:463
HAP_power_dcvs_payload_option
Definition: HAP_power.h:195
uint32 param1
Definition: HAP_power.h:283
unsigned int streamer1_clkFreqHz
Definition: HAP_power.h:405
HAP_power_bus_bw dma_int
Definition: HAP_power.h:134
uint32 param2
Definition: HAP_power.h:408
int HAP_power_set(void *context, HAP_power_request_t *request)
HAP_power_dcvs_v2_payload_option dcvs_option
Definition: HAP_power.h:335
Definition: HAP_power.h:94
static void HAP_utils_destroy_context(void *context)
Definition: HAP_power.h:814
uint32 floor_freq_mhz
Definition: HAP_power.h:442
HAP_power_linelock_nothrottle_payload linelock_nothrottle
Definition: HAP_power.h:528
HAP_clk_perf_mode_t
Definition: HAP_power.h:255
uint32 size
Definition: HAP_power.h:173
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:171
HAP_Power_response_type type
Definition: HAP_power.h:579
Definition: HAP_power.h:185
HAP_power_dcvs_v2_payload_option
Definition: HAP_power.h:312
Definition: HAP_power.h:513
uint32 param2
Definition: HAP_power.h:301
Definition: HAP_power.h:92
unsigned int latency
Definition: HAP_power.h:380
boolean set_dcvs_params
Definition: HAP_power.h:385
HAP_dcvs_exp_voltage_corner_t max_corner
Definition: HAP_power.h:437
boolean set_mips
Definition: HAP_power.h:74
HAP_power_update_type_t
Definition: HAP_power.h:363
static int HAP_power_set_core_corner(void *context, uint32 target_corner, uint32 min_corner, uint32 max_corner)
Definition: HAP_power.h:667
HAP_freq_match_type
Definition: HAP_power.h:90
Definition: HAP_power.h:571
HAP_power_app_type_payload
Definition: HAP_power.h:158
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:458
boolean power_up
Definition: HAP_power.h:140
unsigned int aggregateAVSMpps
Definition: HAP_power.h:585
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:272
boolean set_dcvs_params
Definition: HAP_power.h:338
Definition: HAP_power.h:146
Definition: HAP_power.h:257
unsigned short busbwUsagePercentage
Definition: HAP_power.h:79
HAP_power_dcvs_payload_option dcvs_option
Definition: HAP_power.h:206
boolean set_bus_bw
Definition: HAP_power.h:77
Definition: HAP_power.h:490
Definition: HAP_power.h:159
HAP_power_ceng_bus_payload ceng_bus
Definition: HAP_power.h:538
HAP_Power_request_type
Definition: HAP_power.h:472
HAP_power_hmx_payload hmx
Definition: HAP_power.h:530
HAP_Power_response_type
Definition: HAP_power.h:560
HAP_dcvs_voltage_corner_t min_corner
Definition: HAP_power.h:271
uint32 param2
Definition: HAP_power.h:294
boolean set_dcvs_enable
Definition: HAP_power.h:344
boolean set_latency
Definition: HAP_power.h:336
uint32 param1
Definition: HAP_power.h:273
Definition: HAP_power.h:500
Definition: HAP_power.h:476
boolean set_clock
Definition: HAP_power.h:424
HAP_power_linelock_payload linelock
Definition: HAP_power.h:522
Definition: HAP_power.h:484
uint32 param4
Definition: HAP_power.h:303
boolean dcvs_enable
Definition: HAP_power.h:345
HAP_dcvs_params_t dcvs_params
Definition: HAP_power.h:387
Definition: HAP_power.h:384
HAP_power_vapss_payload_v2 vapss_v2
Definition: HAP_power.h:518
HAP_dcvs_voltage_corner_t min_corner
Definition: HAP_power.h:281
boolean dcvsEnabled
Definition: HAP_power.h:586
uint32 param5
Definition: HAP_power.h:304
Definition: HAP_power.h:197
static int HAP_power_set_sleep_mode(void *context, unsigned char sleep_disable)
Definition: HAP_power.h:705
Definition: HAP_power.h:421
int latency
Definition: HAP_power.h:81
boolean set_power
Definition: HAP_power.h:422
HAP_clk_perf_mode_t perf_mode
Definition: HAP_power.h:459
int HAP_power_get(void *context, HAP_power_response_t *response)
Definition: HAP_power.h:505
HAP_dcvs_v3_params_t dcvs_v3_params
Definition: HAP_power.h:354
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:464
Definition: HAP_power.h:163
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:282
Definition: HAP_power.h:204
HAP_dcvs_params_t dcvs_params
Definition: HAP_power.h:339
Definition: HAP_power.h:256
uint32 param3
Definition: HAP_power.h:409
Definition: HAP_power.h:315
boolean set_bus_bw
Definition: HAP_power.h:103
HAP_power_dcvs_v2_payload_option dcvs_option
Definition: HAP_power.h:374
Definition: HAP_power.h:378
Definition: HAP_power.h:563
HAP_core_params_t core_params
Definition: HAP_power.h:350
uint32 freq_mhz
Definition: HAP_power.h:439
unsigned int mipsPerThread
Definition: HAP_power.h:75
Definition: HAP_power.h:494
boolean power_up
Definition: HAP_power.h:147
Definition: HAP_power.h:91
Definition: HAP_power.h:164
uint32 param1
Definition: HAP_power.h:300
Definition: HAP_power.h:391
uint32 throttlePauseUs
Definition: HAP_power.h:181
boolean pick_default
Definition: HAP_power.h:427
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:290
boolean dcvs_enable
Definition: HAP_power.h:334
Definition: HAP_power.h:224
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:291
uint32 param3
Definition: HAP_power.h:302
HAP_power_hmx_payload_v2 hmx_v2
Definition: HAP_power.h:535
Definition: HAP_power.h:225
Definition: HAP_power.h:565
HAP_power_bus_bw hcp_int
Definition: HAP_power.h:119
static void * HAP_utils_create_context(void)
Definition: HAP_power.h:802
uint32 param1
Definition: HAP_power.h:448
boolean set_core_params
Definition: HAP_power.h:349
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:353
HAP_power_bus_bw hcp_ext
Definition: HAP_power.h:117
boolean set_sleep_disable
Definition: HAP_power.h:355
Definition: HAP_power.h:578
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:455
boolean set_streamer1_clk
Definition: HAP_power.h:403
Definition: HAP_power.h:313
boolean set_latency
Definition: HAP_power.h:347
Definition: HAP_power.h:480
HAP_power_dcvs_v2_payload dcvs_v2
Definition: HAP_power.h:526
HAP_power_vapss_payload vapss
Definition: HAP_power.h:517
int HAP_power_get_max_speed(int *clock_max, int *bus_max)
uint32 param3
Definition: HAP_power.h:285
unsigned char sleep_disable
Definition: HAP_power.h:356
Definition: HAP_power.h:316
HAP_bus_params_t bus_params
Definition: HAP_power.h:352
unsigned int clkFreqHz
Definition: HAP_power.h:584
HAP_dcvs_exp_voltage_corner_t
Definition: HAP_power.h:232
static int HAP_power_set_dcvs_option(void *context, boolean dcvs_enable, HAP_power_dcvs_v2_payload_option dcvs_option)
Definition: HAP_power.h:631
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:270
uint32 param1
Definition: HAP_power.h:293
HAP_power_app_type_payload apptype
Definition: HAP_power.h:521
uint32 param3
Definition: HAP_power.h:295
uint64 max_bus_bw
Definition: HAP_power.h:582
boolean set_latency
Definition: HAP_power.h:80
unsigned int client_class
Definition: HAP_power.h:583
static void HAP_power_set_dcvs_v3_init(HAP_power_request_t *request)
Definition: HAP_power.h:608
uint32 param2
Definition: HAP_power.h:284
HAP_power_mips_bw_payload mips_bw
Definition: HAP_power.h:516
unsigned int streamer0_clkFreqHz
Definition: HAP_power.h:404
Definition: HAP_power.h:488
Definition: HAP_power.h:372
boolean set_latency
Definition: HAP_power.h:379
HAP_power_dcvs_v2_payload_option dcvs_option
Definition: HAP_power.h:346
Definition: HAP_power.h:478
uint32 param6
Definition: HAP_power.h:305
int HAP_power_destroy_client(void *context)
DO NOT call this API directly, use HAP_power_destroy instead.
Definition: HAP_power.h:160
HAP_freq_match_type freqMatch
Definition: HAP_power.h:131
Definition: HAP_power.h:569
boolean dcvs_enable
Definition: HAP_power.h:205
unsigned int clkFreqHz
Definition: HAP_power.h:114
Definition: HAP_power.h:485
boolean set_bus_params
Definition: HAP_power.h:351
Definition: HAP_power.h:473
HAP_dcvs_exp_voltage_corner_t min_corner
Definition: HAP_power.h:436
Definition: HAP_power.h:566
Definition: HAP_power.h:492
HAP_dcvs_exp_voltage_corner_t target_corner
Definition: HAP_power.h:431
Definition: HAP_power.h:314
boolean set_streamer0_clk
Definition: HAP_power.h:402
Definition: HAP_power.h:568
uint32 param3
Definition: HAP_power.h:450
Definition: HAP_power.h:454
Definition: HAP_power.h:161
unsigned int hcpClkFreqHz
Definition: HAP_power.h:130
Definition: HAP_power.h:318
Definition: HAP_power.h:247
uint64 bwBytePerSec
Definition: HAP_power.h:104
Definition: HAP_power.h:102
Definition: HAP_power.h:333
boolean dcvs_enable
Definition: HAP_power.h:373
HAP_power_streamer_payload streamer
Definition: HAP_power.h:519
Definition: HAP_power.h:289
uint32 latency
Definition: HAP_power.h:348
uint64 bwBytePerSec
Definition: HAP_power.h:78
Definition: HAP_power.h:561
Definition: HAP_power.h:343
HAP_power_bus_bw dma_int
Definition: HAP_power.h:118
Definition: HAP_power.h:269
int HAP_power_request_abs(int clock, int bus, int latency)
uint64 bwBytePerSec
Definition: HAP_power.h:460
Definition: HAP_power.h:234
boolean power_up
Definition: HAP_power.h:423
Definition: HAP_power.h:279
Definition: HAP_power.h:564
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:187
Definition: HAP_power.h:196
Definition: HAP_power.h:95
HAP_dcvs_voltage_corner_t max_corner
Definition: HAP_power.h:292
Definition: HAP_power.h:570
Definition: HAP_power.h:299
uint32 param3
Definition: HAP_power.h:275
Definition: HAP_power.h:498
uint32 param2
Definition: HAP_power.h:449
Definition: HAP_power.h:487
HAP_freq_match_type freqMatch
Definition: HAP_power.h:115
uint32 param2
Definition: HAP_power.h:274
unsigned short busbwUsagePercentage
Definition: HAP_power.h:105
HAP_dcvs_voltage_corner_t target_corner
Definition: HAP_power.h:280
HAP_Power_request_type type
Definition: HAP_power.h:514
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:792
Definition: HAP_power.h:401
HAP_dcvs_voltage_corner_t min_corner
Definition: HAP_power.h:457
Definition: HAP_power.h:562
void * startAddress
Definition: HAP_power.h:172
Definition: HAP_power.h:317
int HAP_power_request(int clock, int bus, int latency)
HAP_dcvs_voltage_corner_t
Definition: HAP_power.h:215
HAP_power_dcvs_payload dcvs
Definition: HAP_power.h:525
uint32 param3
Definition: HAP_power.h:465
void * startAddress
Definition: HAP_power.h:186
HAP_clk_perf_mode_t perf_mode
Definition: HAP_power.h:438
Definition: HAP_power.h:496
Definition: HAP_power.h:73
static int HAP_power_set_sleep_latency(void *context, uint32 latency)
Definition: HAP_power.h:650
HAP_power_dcvs_v2_update_payload dcvs_v2_update
Definition: HAP_power.h:527
HAP_power_hvx_payload hvx
Definition: HAP_power.h:520
Definition: HAP_power.h:567
int HVX_power_release(void)
int HVX_power_request(void)
uint32 param1
Definition: HAP_power.h:407