DPDK 23.11.2
Loading...
Searching...
No Matches
rte_power.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2014 Intel Corporation
3 */
4
5#ifndef _RTE_POWER_H
6#define _RTE_POWER_H
7
13#include <rte_common.h>
14#include <rte_log.h>
15#include <rte_power_guest_channel.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21/* Power Management Environment State */
22enum power_management_env {PM_ENV_NOT_SET, PM_ENV_ACPI_CPUFREQ, PM_ENV_KVM_VM,
23 PM_ENV_PSTATE_CPUFREQ, PM_ENV_CPPC_CPUFREQ,
24 PM_ENV_AMD_PSTATE_CPUFREQ};
25
38int rte_power_check_env_supported(enum power_management_env env);
39
53int rte_power_set_env(enum power_management_env env);
54
60
67enum power_management_env rte_power_get_env(void);
68
81int rte_power_init(unsigned int lcore_id);
82
94int rte_power_exit(unsigned int lcore_id);
95
111typedef uint32_t (*rte_power_freqs_t)(unsigned int lcore_id, uint32_t *freqs,
112 uint32_t num);
113
114extern rte_power_freqs_t rte_power_freqs;
115
127typedef uint32_t (*rte_power_get_freq_t)(unsigned int lcore_id);
128
129extern rte_power_get_freq_t rte_power_get_freq;
130
147typedef int (*rte_power_set_freq_t)(unsigned int lcore_id, uint32_t index);
148
149extern rte_power_set_freq_t rte_power_set_freq;
150
163typedef int (*rte_power_freq_change_t)(unsigned int lcore_id);
164
171
178
185
192
198
204
210
215 union {
216 uint64_t capabilities;
217 struct {
218 uint64_t turbo:1;
219 uint64_t priority:1;
220 };
221 };
222};
223
238typedef int (*rte_power_get_capabilities_t)(unsigned int lcore_id,
239 struct rte_power_core_capabilities *caps);
240
241extern rte_power_get_capabilities_t rte_power_get_capabilities;
242
243#ifdef __cplusplus
244}
245#endif
246
247#endif
int(* rte_power_freq_change_t)(unsigned int lcore_id)
Definition rte_power.h:163
void rte_power_unset_env(void)
rte_power_freq_change_t rte_power_freq_max
int rte_power_set_env(enum power_management_env env)
uint32_t(* rte_power_freqs_t)(unsigned int lcore_id, uint32_t *freqs, uint32_t num)
Definition rte_power.h:111
rte_power_freq_change_t rte_power_freq_down
uint32_t(* rte_power_get_freq_t)(unsigned int lcore_id)
Definition rte_power.h:127
rte_power_freq_change_t rte_power_freq_up
rte_power_freq_change_t rte_power_freq_enable_turbo
rte_power_freq_change_t rte_power_freq_min
int rte_power_check_env_supported(enum power_management_env env)
int rte_power_init(unsigned int lcore_id)
rte_power_freq_change_t rte_power_turbo_status
enum power_management_env rte_power_get_env(void)
int(* rte_power_get_capabilities_t)(unsigned int lcore_id, struct rte_power_core_capabilities *caps)
Definition rte_power.h:238
rte_power_freq_change_t rte_power_freq_disable_turbo
int rte_power_exit(unsigned int lcore_id)
int(* rte_power_set_freq_t)(unsigned int lcore_id, uint32_t index)
Definition rte_power.h:147