xref: /dpdk/lib/power/power_common.h (revision 6f987b594fa6751b49769755fe1d1bf9f9d15ac4)
199a2dd95SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause
299a2dd95SBruce Richardson  * Copyright(c) 2010-2014 Intel Corporation
399a2dd95SBruce Richardson  */
499a2dd95SBruce Richardson 
5*6f987b59SSivaprasad Tummala #ifndef POWER_COMMON_H
6*6f987b59SSivaprasad Tummala #define POWER_COMMON_H
799a2dd95SBruce Richardson 
806cffd46SAnatoly Burakov #include <rte_common.h>
9*6f987b59SSivaprasad Tummala #include <rte_compat.h>
10ae67895bSDavid Marchand #include <rte_log.h>
1106cffd46SAnatoly Burakov 
1299a2dd95SBruce Richardson #define RTE_POWER_INVALID_FREQ_INDEX (~0)
1399a2dd95SBruce Richardson 
14*6f987b59SSivaprasad Tummala extern int rte_power_logtype;
15*6f987b59SSivaprasad Tummala #define RTE_LOGTYPE_POWER rte_power_logtype
1697433132SDavid Marchand #define POWER_LOG(level, ...) \
1797433132SDavid Marchand 	RTE_LOG_LINE(level, POWER, "" __VA_ARGS__)
1806cffd46SAnatoly Burakov 
1906cffd46SAnatoly Burakov #ifdef RTE_LIBRTE_POWER_DEBUG
200f1dc8cbSTyler Retzlaff #define POWER_DEBUG_LOG(...) \
210f1dc8cbSTyler Retzlaff 	RTE_LOG_LINE_PREFIX(ERR, POWER, "%s: ", __func__, __VA_ARGS__)
2206cffd46SAnatoly Burakov #else
230f1dc8cbSTyler Retzlaff #define POWER_DEBUG_LOG(...)
2406cffd46SAnatoly Burakov #endif
2506cffd46SAnatoly Burakov 
2699a2dd95SBruce Richardson /* check if scaling driver matches one we want */
27*6f987b59SSivaprasad Tummala __rte_internal
2899a2dd95SBruce Richardson int cpufreq_check_scaling_driver(const char *driver);
29*6f987b59SSivaprasad Tummala 
30*6f987b59SSivaprasad Tummala __rte_internal
3106cffd46SAnatoly Burakov int power_set_governor(unsigned int lcore_id, const char *new_governor,
3206cffd46SAnatoly Burakov 		char *orig_governor, size_t orig_governor_len);
33*6f987b59SSivaprasad Tummala 
34*6f987b59SSivaprasad Tummala __rte_internal
3506cffd46SAnatoly Burakov int open_core_sysfs_file(FILE **f, const char *mode, const char *format, ...)
3606cffd46SAnatoly Burakov 		__rte_format_printf(3, 4);
37*6f987b59SSivaprasad Tummala 
38*6f987b59SSivaprasad Tummala __rte_internal
3906cffd46SAnatoly Burakov int read_core_sysfs_u32(FILE *f, uint32_t *val);
40*6f987b59SSivaprasad Tummala 
41*6f987b59SSivaprasad Tummala __rte_internal
4206cffd46SAnatoly Burakov int read_core_sysfs_s(FILE *f, char *buf, unsigned int len);
43*6f987b59SSivaprasad Tummala 
44*6f987b59SSivaprasad Tummala __rte_internal
4506cffd46SAnatoly Burakov int write_core_sysfs_s(FILE *f, const char *str);
46*6f987b59SSivaprasad Tummala 
47*6f987b59SSivaprasad Tummala __rte_internal
485c9b07eeSSivaprasad Tummala int power_get_lcore_mapped_cpu_id(uint32_t lcore_id, uint32_t *cpu_id);
4999a2dd95SBruce Richardson 
50*6f987b59SSivaprasad Tummala #endif /* POWER_COMMON_H */
51