HAP_dcvs APIs
DSP Power & Performance Management
HAP_dcvs.h
Go to the documentation of this file.
1 /*-----------------------------------------------------------------------------
2  Copyright (c) 2021, 2022 QUALCOMM Technologies, Incorporated.
3  All Rights Reserved.
4  QUALCOMM Proprietary.
5 -----------------------------------------------------------------------------*/
6 
7 #ifndef HAP_DCVS_H_
8 #define HAP_DCVS_H_
9 
15 #include "AEEStdErr.h"
16 #include "HAP_power.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
26 typedef enum {
30 
34 int __attribute__((weak)) sysmon_set_dcvs_v3_duty_cycle(
35  void* context,
36  uint32 max_active_time,
37  uint32 periodicity);
38 
39 int __attribute__((weak)) sysmon_set_dcvs_v3_duty_cycle_params(
40  HAP_power_request_t* request,
41  uint32 max_active_time,
42  uint32 periodicity);
43 
44 int __attribute__((weak)) sysmon_set_dcvs_v3_core_perf_mode(
45  HAP_power_request_t* request,
46  HAP_dcvs_clk_perf_mode_t perf_mode);
47 
48 int __attribute__((weak)) sysmon_set_dcvs_v3_bus_perf_mode(
49  HAP_power_request_t* request,
50  HAP_dcvs_clk_perf_mode_t perf_mode);
86 static inline int HAP_set_dcvs_v3_duty_cycle(
87  void* context,
88  uint32 max_active_time,
89  uint32 periodicity)
90 {
91  if (sysmon_set_dcvs_v3_duty_cycle)
92  return sysmon_set_dcvs_v3_duty_cycle(
93  context,
94  max_active_time,
95  periodicity);
96 
97  return AEE_EVERSIONNOTSUPPORT;
98 }
99 
129  HAP_power_request_t* request,
130  uint32 max_active_time,
131  uint32 periodicity)
132 {
133  if (sysmon_set_dcvs_v3_duty_cycle_params)
134  {
135  return sysmon_set_dcvs_v3_duty_cycle_params(
136  request,
137  max_active_time,
138  periodicity);
139  }
140 
141  return AEE_EVERSIONNOTSUPPORT;
142 }
143 
181  HAP_power_request_t* request,
182  HAP_dcvs_clk_perf_mode_t perf_mode)
183 {
184  if (sysmon_set_dcvs_v3_core_perf_mode)
185  {
186  return sysmon_set_dcvs_v3_core_perf_mode(
187  request,
188  perf_mode);
189  }
190 
191  return AEE_EVERSIONNOTSUPPORT;
192 }
193 
221  HAP_power_request_t* request,
222  HAP_dcvs_clk_perf_mode_t perf_mode)
223 {
224  if (sysmon_set_dcvs_v3_bus_perf_mode)
225  {
226  return sysmon_set_dcvs_v3_bus_perf_mode(
227  request,
228  perf_mode);
229  }
230 
231  return AEE_EVERSIONNOTSUPPORT;
232 }
233 
238 #ifdef __cplusplus
239 }
240 #endif
241 
242 #endif //HAP_DCVS_H_
Definition: HAP_dcvs.h:27
Definition: HAP_dcvs.h:28
HAP_dcvs_clk_perf_mode_t
Definition: HAP_dcvs.h:26
static int HAP_set_dcvs_v3_core_perf_mode(HAP_power_request_t *request, HAP_dcvs_clk_perf_mode_t perf_mode)
Definition: HAP_dcvs.h:180
static int HAP_set_dcvs_v3_duty_cycle_params(HAP_power_request_t *request, uint32 max_active_time, uint32 periodicity)
Definition: HAP_dcvs.h:128
static int HAP_set_dcvs_v3_duty_cycle(void *context, uint32 max_active_time, uint32 periodicity)
Definition: HAP_dcvs.h:86
static int HAP_set_dcvs_v3_bus_perf_mode(HAP_power_request_t *request, HAP_dcvs_clk_perf_mode_t perf_mode)
Definition: HAP_dcvs.h:220