mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-12 01:20:14 +00:00
Add a generic netlink spec in YAML format and autogenerate boilerplate
code using ynl-regen.sh to introduce a generic netlink for the energy
model. It allows a userspace program to read the performance domain and
its energy model. It notifies the userspace program when a performance
domain is created or deleted or its energy model is updated through a
multicast interface.
Specifically, it supports two commands:
- EM_CMD_GET_PDS: Get the list of information for all performance
domains.
- EM_CMD_GET_PD_TABLE: Get the energy model table of a performance
domain.
Also, it supports three notification events:
- EM_CMD_PD_CREATED: When a performance domain is created.
- EM_CMD_PD_DELETED: When a performance domain is deleted.
- EM_CMD_PD_UPDATED: When the energy model table of a performance domain
is updated.
Finally, update MAINTAINERS to include new files.
Signed-off-by: Changwoo Min <changwoo@igalia.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://patch.msgid.link/20251020220914.320832-4-changwoo@igalia.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
63 lines
1.0 KiB
C
63 lines
1.0 KiB
C
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
|
|
/* Do not edit directly, auto-generated from: */
|
|
/* Documentation/netlink/specs/em.yaml */
|
|
/* YNL-GEN uapi header */
|
|
|
|
#ifndef _UAPI_LINUX_ENERGY_MODEL_H
|
|
#define _UAPI_LINUX_ENERGY_MODEL_H
|
|
|
|
#define EM_FAMILY_NAME "em"
|
|
#define EM_FAMILY_VERSION 1
|
|
|
|
enum {
|
|
EM_A_PDS_PD = 1,
|
|
|
|
__EM_A_PDS_MAX,
|
|
EM_A_PDS_MAX = (__EM_A_PDS_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
EM_A_PD_PAD = 1,
|
|
EM_A_PD_PD_ID,
|
|
EM_A_PD_FLAGS,
|
|
EM_A_PD_CPUS,
|
|
|
|
__EM_A_PD_MAX,
|
|
EM_A_PD_MAX = (__EM_A_PD_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
EM_A_PD_TABLE_PD_ID = 1,
|
|
EM_A_PD_TABLE_PS,
|
|
|
|
__EM_A_PD_TABLE_MAX,
|
|
EM_A_PD_TABLE_MAX = (__EM_A_PD_TABLE_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
EM_A_PS_PAD = 1,
|
|
EM_A_PS_PERFORMANCE,
|
|
EM_A_PS_FREQUENCY,
|
|
EM_A_PS_POWER,
|
|
EM_A_PS_COST,
|
|
EM_A_PS_FLAGS,
|
|
|
|
__EM_A_PS_MAX,
|
|
EM_A_PS_MAX = (__EM_A_PS_MAX - 1)
|
|
};
|
|
|
|
enum {
|
|
EM_CMD_GET_PDS = 1,
|
|
EM_CMD_GET_PD_TABLE,
|
|
EM_CMD_PD_CREATED,
|
|
EM_CMD_PD_UPDATED,
|
|
EM_CMD_PD_DELETED,
|
|
|
|
__EM_CMD_MAX,
|
|
EM_CMD_MAX = (__EM_CMD_MAX - 1)
|
|
};
|
|
|
|
#define EM_MCGRP_EVENT "event"
|
|
|
|
#endif /* _UAPI_LINUX_ENERGY_MODEL_H */
|