/*
* This file is auto - generated . Modifications will be lost .
*
* See https : //android.googlesource.com/platform/bionic/+/master/libc/kernel/
* for more information .
*/
#ifndef _UAPI_ASM_X86_AMD_HSMP_H_
#define _UAPI_ASM_X86_AMD_HSMP_H_
#include <linux/types.h>
#pragma pack (4 )
#define HSMP_MAX_MSG_LEN 8
enum hsmp_message_ids {
HSMP_TEST = 1 ,
HSMP_GET_SMU_VER,
HSMP_GET_PROTO_VER,
HSMP_GET_SOCKET_POWER,
HSMP_SET_SOCKET_POWER_LIMIT,
HSMP_GET_SOCKET_POWER_LIMIT,
HSMP_GET_SOCKET_POWER_LIMIT_MAX,
HSMP_SET_BOOST_LIMIT,
HSMP_SET_BOOST_LIMIT_SOCKET,
HSMP_GET_BOOST_LIMIT,
HSMP_GET_PROC_HOT,
HSMP_SET_XGMI_LINK_WIDTH,
HSMP_SET_DF_PSTATE,
HSMP_SET_AUTO_DF_PSTATE,
HSMP_GET_FCLK_MCLK,
HSMP_GET_CCLK_THROTTLE_LIMIT,
HSMP_GET_C0_PERCENT,
HSMP_SET_NBIO_DPM_LEVEL,
HSMP_GET_NBIO_DPM_LEVEL,
HSMP_GET_DDR_BANDWIDTH,
HSMP_GET_TEMP_MONITOR,
HSMP_GET_DIMM_TEMP_RANGE,
HSMP_GET_DIMM_POWER,
HSMP_GET_DIMM_THERMAL,
HSMP_GET_SOCKET_FREQ_LIMIT,
HSMP_GET_CCLK_CORE_LIMIT,
HSMP_GET_RAILS_SVI,
HSMP_GET_SOCKET_FMAX_FMIN,
HSMP_GET_IOLINK_BANDWITH,
HSMP_GET_XGMI_BANDWITH,
HSMP_SET_GMI3_WIDTH,
HSMP_SET_PCI_RATE,
HSMP_SET_POWER_MODE,
HSMP_SET_PSTATE_MAX_MIN,
HSMP_GET_METRIC_TABLE_VER,
HSMP_GET_METRIC_TABLE,
HSMP_GET_METRIC_TABLE_DRAM_ADDR,
HSMP_SET_XGMI_PSTATE_RANGE,
HSMP_CPU_RAIL_ISO_FREQ_POLICY,
HSMP_DFC_ENABLE_CTRL,
HSMP_GET_RAPL_UNITS = 0 x30,
HSMP_GET_RAPL_CORE_COUNTER,
HSMP_GET_RAPL_PACKAGE_COUNTER,
HSMP_MSG_ID_MAX,
};
struct hsmp_message {
__u32 msg_id;
__u16 num_args;
__u16 response_sz;
__u32 args[HSMP_MAX_MSG_LEN];
__u16 sock_ind;
};
enum hsmp_msg_type {
HSMP_RSVD = - 1 ,
HSMP_SET = 0 ,
HSMP_GET = 1 ,
HSMP_SET_GET = 2 ,
};
enum hsmp_proto_versions {
HSMP_PROTO_VER2 = 2 ,
HSMP_PROTO_VER3,
HSMP_PROTO_VER4,
HSMP_PROTO_VER5,
HSMP_PROTO_VER6,
HSMP_PROTO_VER7
};
struct hsmp_msg_desc {
int num_args;
int response_sz;
enum hsmp_msg_type type;
};
struct hsmp_metric_table {
__u32 accumulation_counter;
__u32 max_socket_temperature;
__u32 max_vr_temperature;
__u32 max_hbm_temperature;
__u64 max_socket_temperature_acc;
__u64 max_vr_temperature_acc;
__u64 max_hbm_temperature_acc;
__u32 socket_power_limit;
__u32 max_socket_power_limit;
__u32 socket_power;
__u64 timestamp;
__u64 socket_energy_acc;
__u64 ccd_energy_acc;
__u64 xcd_energy_acc;
__u64 aid_energy_acc;
__u64 hbm_energy_acc;
__u32 cclk_frequency_limit;
__u32 gfxclk_frequency_limit;
__u32 fclk_frequency;
__u32 uclk_frequency;
__u32 socclk_frequency[4 ];
__u32 vclk_frequency[4 ];
__u32 dclk_frequency[4 ];
__u32 lclk_frequency[4 ];
__u64 gfxclk_frequency_acc[8 ];
__u64 cclk_frequency_acc[96 ];
__u32 max_cclk_frequency;
__u32 min_cclk_frequency;
__u32 max_gfxclk_frequency;
__u32 min_gfxclk_frequency;
__u32 fclk_frequency_table[4 ];
__u32 uclk_frequency_table[4 ];
__u32 socclk_frequency_table[4 ];
__u32 vclk_frequency_table[4 ];
__u32 dclk_frequency_table[4 ];
__u32 lclk_frequency_table[4 ];
__u32 max_lclk_dpm_range;
__u32 min_lclk_dpm_range;
__u32 xgmi_width;
__u32 xgmi_bitrate;
__u64 xgmi_read_bandwidth_acc[8 ];
__u64 xgmi_write_bandwidth_acc[8 ];
__u32 socket_c0_residency;
__u32 socket_gfx_busy;
__u32 dram_bandwidth_utilization;
__u64 socket_c0_residency_acc;
__u64 socket_gfx_busy_acc;
__u64 dram_bandwidth_acc;
__u32 max_dram_bandwidth;
__u64 dram_bandwidth_utilization_acc;
__u64 pcie_bandwidth_acc[4 ];
__u32 prochot_residency_acc;
__u32 ppt_residency_acc;
__u32 socket_thm_residency_acc;
__u32 vr_thm_residency_acc;
__u32 hbm_thm_residency_acc;
__u32 spare;
__u32 gfxclk_frequency[8 ];
};
#pragma pack ()
#define HSMP_BASE_IOCTL_NR 0 xF8
#define HSMP_IOCTL_CMD _IOWR(HSMP_BASE_IOCTL_NR, 0 , struct hsmp_message)
#endif
Messung V0.5 in Prozent C=93 H=95 G=93
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-28)
¤
*© Formatika GbR, Deutschland