xref: /linux/include/uapi/linux/dev_energymodel.h (revision b62ce2547fe8a8ba15857bb974bcad250c5420d6)
1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2 /* Do not edit directly, auto-generated from: */
3 /*	Documentation/netlink/specs/dev-energymodel.yaml */
4 /* YNL-GEN uapi header */
5 /* To regenerate run: tools/net/ynl/ynl-regen.sh */
6 
7 #ifndef _UAPI_LINUX_DEV_ENERGYMODEL_H
8 #define _UAPI_LINUX_DEV_ENERGYMODEL_H
9 
10 #define DEV_ENERGYMODEL_FAMILY_NAME	"dev-energymodel"
11 #define DEV_ENERGYMODEL_FAMILY_VERSION	1
12 
13 /**
14  * enum dev_energymodel_perf_state_flags
15  * @DEV_ENERGYMODEL_PERF_STATE_FLAGS_PERF_STATE_INEFFICIENT: The performance
16  *   state is inefficient. There is in this perf-domain, another performance
17  *   state with a higher frequency but a lower or equal power cost.
18  */
19 enum dev_energymodel_perf_state_flags {
20 	DEV_ENERGYMODEL_PERF_STATE_FLAGS_PERF_STATE_INEFFICIENT = 1,
21 };
22 
23 /**
24  * enum dev_energymodel_perf_domain_flags
25  * @DEV_ENERGYMODEL_PERF_DOMAIN_FLAGS_PERF_DOMAIN_MICROWATTS: The power values
26  *   are in micro-Watts or some other scale.
27  * @DEV_ENERGYMODEL_PERF_DOMAIN_FLAGS_PERF_DOMAIN_SKIP_INEFFICIENCIES: Skip
28  *   inefficient states when estimating energy consumption.
29  * @DEV_ENERGYMODEL_PERF_DOMAIN_FLAGS_PERF_DOMAIN_ARTIFICIAL: The power values
30  *   are artificial and might be created by platform missing real power
31  *   information.
32  */
33 enum dev_energymodel_perf_domain_flags {
34 	DEV_ENERGYMODEL_PERF_DOMAIN_FLAGS_PERF_DOMAIN_MICROWATTS = 1,
35 	DEV_ENERGYMODEL_PERF_DOMAIN_FLAGS_PERF_DOMAIN_SKIP_INEFFICIENCIES = 2,
36 	DEV_ENERGYMODEL_PERF_DOMAIN_FLAGS_PERF_DOMAIN_ARTIFICIAL = 4,
37 };
38 
39 enum {
40 	DEV_ENERGYMODEL_A_PERF_DOMAIN_PAD = 1,
41 	DEV_ENERGYMODEL_A_PERF_DOMAIN_PERF_DOMAIN_ID,
42 	DEV_ENERGYMODEL_A_PERF_DOMAIN_FLAGS,
43 	DEV_ENERGYMODEL_A_PERF_DOMAIN_CPUS,
44 
45 	__DEV_ENERGYMODEL_A_PERF_DOMAIN_MAX,
46 	DEV_ENERGYMODEL_A_PERF_DOMAIN_MAX = (__DEV_ENERGYMODEL_A_PERF_DOMAIN_MAX - 1)
47 };
48 
49 enum {
50 	DEV_ENERGYMODEL_A_PERF_TABLE_PERF_DOMAIN_ID = 1,
51 	DEV_ENERGYMODEL_A_PERF_TABLE_PERF_STATE,
52 
53 	__DEV_ENERGYMODEL_A_PERF_TABLE_MAX,
54 	DEV_ENERGYMODEL_A_PERF_TABLE_MAX = (__DEV_ENERGYMODEL_A_PERF_TABLE_MAX - 1)
55 };
56 
57 enum {
58 	DEV_ENERGYMODEL_A_PERF_STATE_PAD = 1,
59 	DEV_ENERGYMODEL_A_PERF_STATE_PERFORMANCE,
60 	DEV_ENERGYMODEL_A_PERF_STATE_FREQUENCY,
61 	DEV_ENERGYMODEL_A_PERF_STATE_POWER,
62 	DEV_ENERGYMODEL_A_PERF_STATE_COST,
63 	DEV_ENERGYMODEL_A_PERF_STATE_FLAGS,
64 
65 	__DEV_ENERGYMODEL_A_PERF_STATE_MAX,
66 	DEV_ENERGYMODEL_A_PERF_STATE_MAX = (__DEV_ENERGYMODEL_A_PERF_STATE_MAX - 1)
67 };
68 
69 enum {
70 	DEV_ENERGYMODEL_CMD_GET_PERF_DOMAINS = 1,
71 	DEV_ENERGYMODEL_CMD_GET_PERF_TABLE,
72 	DEV_ENERGYMODEL_CMD_PERF_DOMAIN_CREATED,
73 	DEV_ENERGYMODEL_CMD_PERF_DOMAIN_UPDATED,
74 	DEV_ENERGYMODEL_CMD_PERF_DOMAIN_DELETED,
75 
76 	__DEV_ENERGYMODEL_CMD_MAX,
77 	DEV_ENERGYMODEL_CMD_MAX = (__DEV_ENERGYMODEL_CMD_MAX - 1)
78 };
79 
80 #define DEV_ENERGYMODEL_MCGRP_EVENT	"event"
81 
82 #endif /* _UAPI_LINUX_DEV_ENERGYMODEL_H */
83