/******************************************************************************* ** This file is provided under a dual BSD/GPLv2 license. When using or ** redistributing this file, you may do so under either license. ** ** GPL LICENSE SUMMARY ** ** Copyright (c) 2013 Intel Corporation All Rights Reserved ** ** This program is free software; you can redistribute it and/or modify it under ** the terms of version 2 of the GNU General Public License as published by the ** Free Software Foundation. ** ** This program is distributed in the hope that it will be useful, but WITHOUT ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ** FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ** details. ** ** You should have received a copy of the GNU General Public License along with ** this program; if not, write to the Free Software Foundation, Inc., ** 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. ** The full GNU General Public License is included in this distribution in the ** file called LICENSE.GPL. ** ** BSD LICENSE ** ** Copyright (c) 2013 Intel Corporation All Rights Reserved ** ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are met: ** ** * Redistributions of source code must retain the above copyright notice, this ** list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright notice, ** this list of conditions and the following disclaimer in the documentation ** and/or other materials provided with the distribution. ** * Neither the name of Intel Corporation nor the names of its contributors may ** be used to endorse or promote products derived from this software without ** specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ** POSSIBILITY OF SUCH DAMAGE. ** *******************************************************************************/ #ifndef _ESIF_AUTOGEN_H_ #define _ESIF_AUTOGEN_H_ #ifdef ESIF_ATTR_USER #include "esif.h" #endif /* ** PRIMITIVE Declarations */ /* Enumerated Type Base Macros */ #define ENUMDECL(ENUM) ENUM, #define ENUMSWITCH(ENUM) case ENUM: \ return #ENUM;break; #define ENUMLIST(ENUM) {ENUM, #ENUM}, #define ENUMDECL_VAL(ENUM, VAL) ENUM = VAL, #define ENUMSWITCH_VAL(ENUM, VAL) ENUMSWITCH(ENUM) #define ENUMLIST_VAL(ENUM, VAL) ENUMLIST(ENUM) #define ENUM_ESIF_PRIMITIVE_TYPE(ENUM) \ ENUM##_VAL(GET_ACTIVE_RELATIONSHIP_TABLE, 89) \ ENUM##_VAL(GET_AMBIENT_CAPICITANCE_COEF, 243) \ ENUM##_VAL(GET_AMBIENT_NOTIFICATION_THRESHOLD, 244) \ ENUM##_VAL(GET_BATTERY_INFORMATION, 224) \ ENUM##_VAL(GET_BATTERY_STATUS, 223) \ ENUM##_VAL(GET_CLOCK_COUNT, 185) \ ENUM##_VAL(GET_CLOCK_ORIGINAL_FREQUENCY, 187) \ ENUM##_VAL(GET_CURRENT_LOW_POWER_MODE, 94) \ ENUM##_VAL(GET_DEVICE_ADDRESS_ON_PARENT_BUS, 49) \ ENUM##_VAL(GET_DEVICE_COMPATABILITY_ID, 50) \ ENUM##_VAL(GET_DEVICE_DESCRIPTION, 60) \ ENUM##_VAL(GET_DEVICE_HARDWARE_ID, 53) \ ENUM##_VAL(GET_DEVICE_STATUS, 88) \ ENUM##_VAL(GET_DEVICE_UNIQUE_ID, 67) \ ENUM##_VAL(GET_DISPLAY_BRIGHTNESS_LEVELS, 158) \ ENUM##_VAL(GET_DISPLAY_BRIGHTNESS_SOFT, 157) \ ENUM##_VAL(GET_DISPLAY_CAPABILITY, 159) \ ENUM##_VAL(GET_DISPLAY_CLOCK_DEVIATION, 181) \ ENUM##_VAL(GET_DISPLAY_CLOCK_DOWNWARD_DEVIATION, 250) \ ENUM##_VAL(GET_DISPLAY_CLOCK_UPWARD_DEVIATION, 249) \ ENUM##_VAL(GET_DISPLAY_CLOCK_SPREAD_DIRECTION, 191) \ ENUM##_VAL(GET_DISPLAY_CLOCK_SPREAD_PERCENTAGE, 190) \ ENUM##_VAL(GET_DISPLAY_CLOCK_SSC_DISABLED_FREQUENCY, 189) \ ENUM##_VAL(GET_DISPLAY_CLOCK_SSC_ENABLED_FREQUENCY, 188) \ ENUM##_VAL(GET_DISPLAY_DEPTH_LIMIT, 160) \ ENUM##_VAL(GET_DISPLAY_PANEL_TYPE, 179) \ ENUM##_VAL(GET_DOMAIN_PRIORITY, 178) \ ENUM##_VAL(GET_DYNAMIC_BATTERY_POWER_ACTION, 279) \ ENUM##_VAL(GET_FAN_INFORMATION, 84) \ ENUM##_VAL(GET_FAN_PERFORMANCE_STATES, 85) \ ENUM##_VAL(GET_FAN_STATUS, 86) \ ENUM##_VAL(GET_GRAPHICS_CHIPSET_CHANNEL_TYPE, 182) \ ENUM##_VAL(GET_GRAPHICS_CHIPSET_SSC_ENABLED, 184) \ ENUM##_VAL(GET_LPM_TABLE, 237) \ ENUM##_VAL(GET_NOTIFICATION_TEMP_THRESHOLD, 54) \ ENUM##_VAL(GET_PARTICIPANT_LIST, 90) \ ENUM##_VAL(GET_PARTICIPANT_PERF_PRESENT_CAPABILITY, 176) \ ENUM##_VAL(GET_PARTICIPANT_SKU, 141) \ ENUM##_VAL(GET_PARTICIPANT_TYPE, 139) \ ENUM##_VAL(GET_PARTICIPANT_UTILIZATION, 138) \ ENUM##_VAL(GET_PDR_TABLE, 239) \ ENUM##_VAL(GET_PERF_PSTATE_DEPTH_LIMIT, 76) \ ENUM##_VAL(GET_PERF_SUPPORT_STATES, 137) \ ENUM##_VAL(GET_PLATFORM_STATE_OF_CHARGE, 278) \ ENUM##_VAL(GET_POWER_THRESHOLD_COUNT, 196) \ ENUM##_VAL(GET_POWER_THRESHOLD_HYSTERESIS, 197) \ ENUM##_VAL(GET_POWER_THRESHOLDS, 198) \ ENUM##_VAL(GET_PROC_APPLICATION_EXCLUDE_LIST, 68) \ ENUM##_VAL(GET_PROC_CTDP_CAPABILITY, 79) \ ENUM##_VAL(GET_PROC_CTDP_CURRENT_SETTING, 26) \ ENUM##_VAL(GET_PROC_CTDP_LOCK_STATUS, 27) \ ENUM##_VAL(GET_PROC_CTDP_POINT_LIST, 80) \ ENUM##_VAL(GET_PROC_CTDP_SUPPORT_CHECK, 25) \ ENUM##_VAL(GET_PROC_CTDP_TAR_LOCK_STATUS, 28) \ ENUM##_VAL(GET_PROC_CURRENT_LOGICAL_PROCESSOR_OFFLINING, 69) \ ENUM##_VAL(GET_PROC_IO_THROTTLE_STATUS, 151) \ ENUM##_VAL(GET_PROC_LOGICAL_PROCESSOR_AFFINITY, 228) \ ENUM##_VAL(GET_PROC_LOGICAL_PROCESSOR_COUNT, 101) \ ENUM##_VAL(GET_PROC_MFM_LPM_SUPPORTED, 207) \ ENUM##_VAL(GET_PROC_MFM_MAX_EFFICIENCY_RATIO, 209) \ ENUM##_VAL(GET_PROC_MFM_MIN_SUPPORTED_RATIO, 208) \ ENUM##_VAL(GET_PROC_PERF_MAX_TIME, 103) \ ENUM##_VAL(GET_PROC_PERF_PRESENT_CAPABILITY, 56) \ ENUM##_VAL(GET_PROC_PERF_PSTATE_CURRENT_MAX_TODO, 99) \ ENUM##_VAL(GET_PROC_PERF_PSTATE_DEPTH_LIMIT, 55) \ ENUM##_VAL(GET_PROC_PERF_PSTATE_STATUS_TODO, 98) \ ENUM##_VAL(GET_PROC_PERF_SUPPORT_STATES, 95) \ ENUM##_VAL(GET_PROC_PERF_THROTTLE_CONTROL, 58) \ ENUM##_VAL(GET_PROC_PERF_THROTTLE_PRESENT_CAPABILITY, 62) \ ENUM##_VAL(GET_PROC_PERF_TSTATE_DEPTH_LIMIT, 61) \ ENUM##_VAL(GET_PROC_RF_TUNING_AVAILABLE, 268) \ ENUM##_VAL(GET_PROC_RP_STATE_CAPABILITY, 277) \ ENUM##_VAL(GET_PROC_THERMAL_DESIGN_POWER, 21) \ ENUM##_VAL(GET_PROC_TJMAX, 20) \ ENUM##_VAL(GET_PROC_TURBO_ACTIVATION_RATIO, 219) \ ENUM##_VAL(GET_PROC_PROGRAMMABLE_POWER_LIMITS, 97) \ ENUM##_VAL(GET_PROC_TURBO_STATE, 218) \ ENUM##_VAL(GET_RAPL_DUTY_CYCLE, 149) \ ENUM##_VAL(GET_RAPL_ENERGY, 128) \ ENUM##_VAL(GET_RAPL_ENERGY_UNIT, 123) \ ENUM##_VAL(GET_RAPL_POWER, 35) \ ENUM##_VAL(GET_RAPL_POWER_CONTROL_CAPABILITIES, 75) \ ENUM##_VAL(GET_RAPL_POWER_DEFAULT, 148) \ ENUM##_VAL(GET_RAPL_POWER_LIMIT, 38) \ ENUM##_VAL(GET_RAPL_POWER_LIMIT_ENABLE, 126) \ ENUM##_VAL(GET_RAPL_POWER_LIMIT_LOCK, 172) \ ENUM##_VAL(GET_RAPL_POWER_MAX, 23) \ ENUM##_VAL(GET_RAPL_POWER_MAX_TIME_WINDOW, 24) \ ENUM##_VAL(GET_RAPL_POWER_MIN, 22) \ ENUM##_VAL(GET_RAPL_POWER_UNIT, 124) \ ENUM##_VAL(GET_RAPL_TIME_UNIT, 122) \ ENUM##_VAL(GET_RAPL_TIME_WINDOW, 39) \ ENUM##_VAL(GET_RFPROFILE_BIT_ERROR, 265) \ ENUM##_VAL(GET_RFPROFILE_CENTER_FREQUENCY, 245) \ ENUM##_VAL(GET_RFPROFILE_CHANNEL_NUMBER, 260) \ ENUM##_VAL(GET_RFPROFILE_CLIP_PERCENT_LEFT, 255) \ ENUM##_VAL(GET_RFPROFILE_CLIP_PERCENT_RIGHT, 256) \ ENUM##_VAL(GET_RFPROFILE_CONNECTION_STATUS, 264) \ ENUM##_VAL(GET_RFPROFILE_DEFAULT_CENTER_FREQUENCY, 254) \ ENUM##_VAL(GET_RFPROFILE_FREQUENCY_ADJUST_RESOLUTION, 257) \ ENUM##_VAL(GET_RFPROFILE_FREQUENCY_SPREAD_LEFT, 246) \ ENUM##_VAL(GET_RFPROFILE_FREQUENCY_SPREAD_RIGHT, 251) \ ENUM##_VAL(GET_RFPROFILE_NOISE_POWER, 261) \ ENUM##_VAL(GET_RFPROFILE_NOTCH_LEFT, 258) \ ENUM##_VAL(GET_RFPROFILE_NOTCH_RIGHT, 259) \ ENUM##_VAL(GET_RFPROFILE_RSSI, 263) \ ENUM##_VAL(GET_RFPROFILE_SHAPE_LEFT, 247) \ ENUM##_VAL(GET_RFPROFILE_SHAPE_RIGHT, 253) \ ENUM##_VAL(GET_RFPROFILE_SIGNAL_TO_NOISE_RATIO, 262) \ ENUM##_VAL(GET_SUPPORTED_POLICIES, 92) \ ENUM##_VAL(GET_SYSTEM_CONFIGTDP_LEVEL_NAME, 272) \ ENUM##_VAL(GET_TEMPERATURE, 14) \ ENUM##_VAL(GET_TEMPERATURE_APPROX_TABLE, 164) \ ENUM##_VAL(GET_TEMPERATURE_THRESHOLD_COUNT, 72) \ ENUM##_VAL(GET_TEMPERATURE_THRESHOLD_HYSTERESIS, 15) \ ENUM##_VAL(GET_TEMPERATURE_THRESHOLDS, 143) \ ENUM##_VAL(GET_THERMAL_RELATIONSHIP_TABLE, 91) \ ENUM##_VAL(GET_TRIP_POINT_ACTIVE, 1) \ ENUM##_VAL(GET_TRIP_POINT_CRITICAL, 13) \ ENUM##_VAL(GET_TRIP_POINT_HOT, 12) \ ENUM##_VAL(GET_TRIP_POINT_PASSIVE, 11) \ ENUM##_VAL(GET_TRIP_POINT_WARM, 177) \ ENUM##_VAL(GET_TSTATE_CURRENT, 16) \ ENUM##_VAL(GET_TSTATES, 65) \ ENUM##_VAL(SET_ACTIVE_RELATIONSHIP_TABLE, 230) \ ENUM##_VAL(SET_AMBIENT_TEMPERATURE_INDICATION, 242) \ ENUM##_VAL(SET_CLOCK_SSC_DISABLED, 194) \ ENUM##_VAL(SET_CLOCK_SSC_ENABLED, 193) \ ENUM##_VAL(SET_COOLING_POLICY, 81) \ ENUM##_VAL(SET_CTDP_POINT, 83) \ ENUM##_VAL(SET_CURRENT_LOW_POWER_MODE, 236) \ ENUM##_VAL(SET_DEVICE_TEMPERATURE_INDICATION, 51) \ ENUM##_VAL(SET_DISPLAY_BRIGHTNESS_HARD, 226) \ ENUM##_VAL(SET_DISPLAY_BRIGHTNESS_SOFT, 163) \ ENUM##_VAL(SET_DSP, 200) \ ENUM##_VAL(SET_FAN_LEVEL, 87) \ ENUM##_VAL(SET_GFX_RPCP, 281) \ ENUM##_VAL(SET_LPM_TABLE, 238) \ ENUM##_VAL(SET_OPERATING_SYSTEM_CAPABILITIES, 93) \ ENUM##_VAL(SET_PDR_TABLE, 240) \ ENUM##_VAL(SET_PERF_PRESENT_CAPABILITY, 82) \ ENUM##_VAL(SET_PERF_SUPPORT_STATE, 227) \ ENUM##_VAL(SET_POWER_THRESHOLD_HYSTERESIS, 233) \ ENUM##_VAL(SET_POWER_THRESHOLDS, 199) \ ENUM##_VAL(SET_PROC_CTDP_CONTROL, 221) \ ENUM##_VAL(SET_PROC_NUMBER_OFFLINE_CORES, 153) \ ENUM##_VAL(SET_RFPROFILE_CENTER_FREQUENCY, 211) \ ENUM##_VAL(SET_PROC_IO_THROTTLE_CONTROL, 152) \ ENUM##_VAL(SET_PROC_LOGICAL_PROCESSOR_AFFINITY, 229) \ ENUM##_VAL(SET_PROC_PERF_PSTATE_DEPTH_LIMIT, 275) \ ENUM##_VAL(SET_PROC_PERF_TSTATE_DEPTH_LIMIT, 276) \ ENUM##_VAL(SET_PROC_TURBO_ACTIVATION_RATIO, 220) \ ENUM##_VAL(SET_PROC_TURBO_STATE, 100) \ ENUM##_VAL(SET_RAPL_POWER_CONTROL_CAPABILITIES, 274) \ ENUM##_VAL(SET_RAPL_POWER_LIMIT, 130) \ ENUM##_VAL(SET_RAPL_POWER_LIMIT_ENABLE, 222) \ ENUM##_VAL(SET_RAPL_TIME_WINDOW, 127) \ ENUM##_VAL(SET_SUPPORTED_POLICIES, 271) \ ENUM##_VAL(SET_SYSTEM_CONFIGTDP_CLEAR_LEVELS, 269) \ ENUM##_VAL(SET_SYSTEM_CONFIGTDP_LEVEL_NAME, 270) \ ENUM##_VAL(SET_SYSTEM_HIBERNATE, 175) \ ENUM##_VAL(SET_SYSTEM_POWER_SETTING_REMOVE, 273) \ ENUM##_VAL(SET_SYSTEM_SHUTDOWN, 173) \ ENUM##_VAL(SET_SYSTEM_SLEEP, 174) \ ENUM##_VAL(SET_TEMPERATURE, 241) \ ENUM##_VAL(SET_TEMPERATURE_INTERRUPT_STATE, 280) \ ENUM##_VAL(SET_TEMPERATURE_THRESHOLD_HYSTERESIS, 232) \ ENUM##_VAL(SET_TEMPERATURE_THRESHOLDS, 47) \ ENUM##_VAL(SET_THERMAL_RELATIONSHIP_TABLE, 231) \ ENUM##_VAL(SET_TRIP_POINT_ACTIVE, 202) \ ENUM##_VAL(SET_TRIP_POINT_CRITICAL, 203) \ ENUM##_VAL(SET_TRIP_POINT_HOT, 204) \ ENUM##_VAL(SET_TRIP_POINT_PASSIVE, 206) \ ENUM##_VAL(SET_TRIP_POINT_WARM, 205) \ ENUM##_VAL(SET_TSTATE_CURRENT, 147) \ enum esif_primitive_type { #ifdef ESIF_ATTR_KERNEL GET_ACTIVE_RELATIONSHIP_TABLE = 89, GET_AMBIENT_CAPICITANCE_COEF = 243, GET_AMBIENT_NOTIFICATION_THRESHOLD = 244, GET_BATTERY_INFORMATION = 224, GET_BATTERY_STATUS = 223, GET_CLOCK_COUNT = 185, GET_CLOCK_ORIGINAL_FREQUENCY = 187, GET_DEVICE_ADDRESS_ON_PARENT_BUS = 49, GET_DEVICE_COMPATABILITY_ID = 50, GET_DEVICE_DESCRIPTION = 60, GET_DEVICE_HARDWARE_ID = 53, GET_DEVICE_STATUS = 88, GET_DEVICE_UNIQUE_ID = 67, GET_DISPLAY_BRIGHTNESS_LEVELS = 158, GET_DISPLAY_BRIGHTNESS_SOFT = 157, GET_DISPLAY_CAPABILITY = 159, GET_DISPLAY_CLOCK_DEVIATION = 181, GET_DISPLAY_CLOCK_DOWNWARD_DEVIATION= 250, GET_DISPLAY_CLOCK_UPWARD_DEVIATION = 249, GET_DISPLAY_CLOCK_SPREAD_DIRECTION = 191, GET_DISPLAY_CLOCK_SPREAD_PERCENTAGE = 190, GET_DISPLAY_CLOCK_SSC_DISABLED_FREQUENCY = 189, GET_DISPLAY_CLOCK_SSC_ENABLED_FREQUENCY = 188, GET_DISPLAY_DEPTH_LIMIT = 160, GET_DISPLAY_PANEL_TYPE = 179, GET_DOMAIN_PRIORITY = 178, GET_DYNAMIC_BATTERY_POWER_ACTION = 279, GET_FAN_INFORMATION = 84, GET_FAN_PERFORMANCE_STATES = 85, GET_FAN_STATUS = 86, GET_GRAPHICS_CHIPSET_CHANNEL_TYPE = 182, GET_GRAPHICS_CHIPSET_SSC_ENABLED = 184, GET_LPM_TABLE = 237, GET_NOTIFICATION_TEMP_THRESHOLD = 54, GET_PARTICIPANT_LIST = 90, GET_PARTICIPANT_PERF_PRESENT_CAPABILITY = 176, GET_PARTICIPANT_SKU = 141, GET_PARTICIPANT_TYPE = 139, GET_PARTICIPANT_UTILIZATION = 138, GET_PDR_TABLE = 239, GET_PERF_PSTATE_DEPTH_LIMIT = 76, GET_PERF_SUPPORT_STATES = 137, GET_PLATFORM_STATE_OF_CHARGE = 278, GET_POWER_THRESHOLD_COUNT = 196, GET_POWER_THRESHOLD_HYSTERESIS = 197, GET_POWER_THRESHOLDS = 198, GET_PROC_APPLICATION_EXCLUDE_LIST = 68, GET_PROC_CTDP_CAPABILITY = 79, GET_PROC_CTDP_CURRENT_SETTING = 26, GET_PROC_CTDP_LOCK_STATUS = 27, GET_PROC_CTDP_POINT_LIST = 80, GET_PROC_CTDP_SUPPORT_CHECK = 25, GET_PROC_CTDP_TAR_LOCK_STATUS = 28, GET_PROC_CURRENT_LOGICAL_PROCESSOR_OFFLINING = 69, GET_CURRENT_LOW_POWER_MODE = 94, GET_PROC_IO_THROTTLE_STATUS = 151, GET_PROC_LOGICAL_PROCESSOR_AFFINITY = 228, GET_PROC_LOGICAL_PROCESSOR_COUNT = 101, GET_PROC_MFM_LPM_SUPPORTED = 207, GET_PROC_MFM_MAX_EFFICIENCY_RATIO = 209, GET_PROC_MFM_MIN_SUPPORTED_RATIO = 208, GET_PROC_PERF_MAX_TIME = 103, GET_PROC_PERF_PRESENT_CAPABILITY = 56, GET_PROC_PERF_PSTATE_CURRENT_MAX_TODO = 99, GET_PROC_PERF_PSTATE_DEPTH_LIMIT = 55, GET_PROC_PERF_PSTATE_STATUS_TODO = 98, GET_PROC_PERF_SUPPORT_STATES = 95, GET_PROC_PERF_THROTTLE_CONTROL = 58, GET_PROC_PERF_THROTTLE_PRESENT_CAPABILITY = 62, GET_PROC_PERF_TSTATE_DEPTH_LIMIT = 61, GET_PROC_RF_TUNING_AVAILABLE = 268, GET_PROC_RP_STATE_CAPABILITY = 277, GET_PROC_THERMAL_DESIGN_POWER = 21, GET_PROC_TJMAX = 20, GET_PROC_TURBO_ACTIVATION_RATIO = 219, GET_PROC_PROGRAMMABLE_POWER_LIMITS = 97, GET_PROC_TURBO_STATE = 218, GET_RAPL_DUTY_CYCLE = 149, GET_RAPL_ENERGY = 128, GET_RAPL_ENERGY_UNIT = 123, GET_RAPL_POWER = 35, GET_RAPL_POWER_CONTROL_CAPABILITIES = 75, GET_RAPL_POWER_DEFAULT = 148, GET_RAPL_POWER_LIMIT = 38, GET_RAPL_POWER_LIMIT_ENABLE = 126, GET_RAPL_POWER_LIMIT_LOCK = 172, GET_RAPL_POWER_MAX = 23, GET_RAPL_POWER_MAX_TIME_WINDOW = 24, GET_RAPL_POWER_MIN = 22, GET_RAPL_POWER_UNIT = 124, GET_RAPL_TIME_UNIT = 122, GET_RAPL_TIME_WINDOW = 39, GET_RFPROFILE_BIT_ERROR = 265, GET_RFPROFILE_CENTER_FREQUENCY = 245, GET_RFPROFILE_CHANNEL_NUMBER = 260, GET_RFPROFILE_CLIP_PERCENT_LEFT = 255, GET_RFPROFILE_CLIP_PERCENT_RIGHT = 256, GET_RFPROFILE_CONNECTION_STATUS = 264, GET_RFPROFILE_DEFAULT_CENTER_FREQUENCY = 254, GET_RFPROFILE_FREQUENCY_ADJUST_RESOLUTION = 257, GET_RFPROFILE_FREQUENCY_SPREAD_LEFT = 246, GET_RFPROFILE_FREQUENCY_SPREAD_RIGHT = 251, GET_RFPROFILE_NOISE_POWER = 261, GET_RFPROFILE_NOTCH_LEFT = 258, GET_RFPROFILE_NOTCH_RIGHT = 259, GET_RFPROFILE_RSSI = 263, GET_RFPROFILE_SHAPE_LEFT = 247, GET_RFPROFILE_SHAPE_RIGHT = 253, GET_RFPROFILE_SIGNAL_TO_NOISE_RATIO = 262, GET_SUPPORTED_POLICIES = 92, GET_SYSTEM_CONFIGTDP_LEVEL_NAME = 272, GET_TEMPERATURE = 14, GET_TEMPERATURE_APPROX_TABLE = 164, GET_TEMPERATURE_THRESHOLD_COUNT = 72, GET_TEMPERATURE_THRESHOLD_HYSTERESIS = 15, GET_TEMPERATURE_THRESHOLDS = 143, GET_THERMAL_RELATIONSHIP_TABLE = 91, GET_TRIP_POINT_ACTIVE = 1, GET_TRIP_POINT_CRITICAL = 13, GET_TRIP_POINT_HOT = 12, GET_TRIP_POINT_PASSIVE = 11, GET_TRIP_POINT_WARM = 177, GET_TSTATE_CURRENT = 16, GET_TSTATES = 65, SET_PROC_NUMBER_OFFLINE_CORES = 153, SET_ACTIVE_RELATIONSHIP_TABLE = 230, SET_AMBIENT_TEMPERATURE_INDICATION = 242, SET_CLOCK_SSC_DISABLED = 194, SET_CLOCK_SSC_ENABLED = 193, SET_COOLING_POLICY = 81, SET_CTDP_POINT = 83, SET_CURRENT_LOW_POWER_MODE = 236, SET_DEVICE_TEMPERATURE_INDICATION = 51, SET_DISPLAY_BRIGHTNESS_HARD = 226, SET_DISPLAY_BRIGHTNESS_SOFT = 163, SET_DSP = 200, SET_FAN_LEVEL = 87, SET_GFX_RPCP = 281, SET_LPM_TABLE = 238, SET_OPERATING_SYSTEM_CAPABILITIES = 93, SET_PDR_TABLE = 240, SET_PERF_PRESENT_CAPABILITY = 82, SET_PERF_SUPPORT_STATE = 227, SET_POWER_THRESHOLD_HYSTERESIS = 233, SET_POWER_THRESHOLDS = 199, SET_PROC_CTDP_CONTROL = 221, SET_RFPROFILE_CENTER_FREQUENCY = 211, SET_PROC_IO_THROTTLE_CONTROL = 152, SET_PROC_LOGICAL_PROCESSOR_AFFINITY = 229, SET_PROC_PERF_PSTATE_DEPTH_LIMIT = 275, SET_PROC_PERF_TSTATE_DEPTH_LIMIT = 276, SET_PROC_TURBO_ACTIVATION_RATIO = 220, SET_PROC_TURBO_STATE = 100, SET_RAPL_POWER_CONTROL_CAPABILITIES = 274, SET_RAPL_POWER_LIMIT = 130, SET_RAPL_POWER_LIMIT_ENABLE = 222, SET_RAPL_TIME_WINDOW = 127, SET_SUPPORTED_POLICIES = 271, SET_SYSTEM_CONFIGTDP_CLEAR_LEVELS = 269, SET_SYSTEM_CONFIGTDP_LEVEL_NAME = 270, SET_SYSTEM_HIBERNATE = 175, SET_SYSTEM_POWER_SETTING_REMOVE = 273, SET_SYSTEM_SHUTDOWN = 173, SET_SYSTEM_SLEEP = 174, SET_TEMPERATURE = 241, SET_TEMPERATURE_INTERRUPT_STATE = 280, SET_TEMPERATURE_THRESHOLD_HYSTERESIS = 232, SET_TEMPERATURE_THRESHOLDS = 47, SET_THERMAL_RELATIONSHIP_TABLE = 231, SET_TRIP_POINT_ACTIVE = 202, SET_TRIP_POINT_CRITICAL = 203, SET_TRIP_POINT_HOT = 204, SET_TRIP_POINT_PASSIVE = 206, SET_TRIP_POINT_WARM = 205, SET_TSTATE_CURRENT = 147, #else ENUM_ESIF_PRIMITIVE_TYPE(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_primitive_type esif_primitive_type_string2enum (esif_string str); extern esif_string esif_primitive_type_enum2string ( enum esif_primitive_type type); #ifdef __cplusplus } #endif static ESIF_INLINE esif_string esif_primitive_str (enum esif_primitive_type type) { #define CREATE_PRIMITIVE_TYPE(pt) case pt: \ str = (esif_string) #pt;break; #define CREATE_PRIMITIVE_TYPE_VAL(pt, VAL) case pt: \ str = (esif_string) #pt;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (type) { #ifdef ESIF_ATTR_KERNEL CREATE_PRIMITIVE_TYPE(GET_ACTIVE_RELATIONSHIP_TABLE) CREATE_PRIMITIVE_TYPE(GET_AMBIENT_CAPICITANCE_COEF) CREATE_PRIMITIVE_TYPE(GET_AMBIENT_NOTIFICATION_THRESHOLD) CREATE_PRIMITIVE_TYPE(GET_BATTERY_INFORMATION) CREATE_PRIMITIVE_TYPE(GET_BATTERY_STATUS) CREATE_PRIMITIVE_TYPE(GET_CLOCK_COUNT) CREATE_PRIMITIVE_TYPE(GET_CLOCK_ORIGINAL_FREQUENCY) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CLOCK_SPREAD_DIRECTION) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CLOCK_SPREAD_PERCENTAGE) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CLOCK_SSC_DISABLED_FREQUENCY) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CLOCK_SSC_ENABLED_FREQUENCY) CREATE_PRIMITIVE_TYPE(GET_DEVICE_ADDRESS_ON_PARENT_BUS) CREATE_PRIMITIVE_TYPE(GET_DEVICE_COMPATABILITY_ID) CREATE_PRIMITIVE_TYPE(GET_DEVICE_DESCRIPTION) CREATE_PRIMITIVE_TYPE(GET_DEVICE_HARDWARE_ID) CREATE_PRIMITIVE_TYPE(GET_DEVICE_STATUS) CREATE_PRIMITIVE_TYPE(GET_DEVICE_UNIQUE_ID) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_BRIGHTNESS_LEVELS) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_BRIGHTNESS_SOFT) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CAPABILITY) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CLOCK_DEVIATION) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CLOCK_DOWNWARD_DEVIATION) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_CLOCK_UPWARD_DEVIATION) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_DEPTH_LIMIT) CREATE_PRIMITIVE_TYPE(GET_DISPLAY_PANEL_TYPE) CREATE_PRIMITIVE_TYPE(GET_DOMAIN_PRIORITY) CREATE_PRIMITIVE_TYPE(GET_DYNAMIC_BATTERY_POWER_ACTION) CREATE_PRIMITIVE_TYPE(GET_FAN_INFORMATION) CREATE_PRIMITIVE_TYPE(GET_FAN_PERFORMANCE_STATES) CREATE_PRIMITIVE_TYPE(GET_FAN_STATUS) CREATE_PRIMITIVE_TYPE(GET_GRAPHICS_CHIPSET_CHANNEL_TYPE) CREATE_PRIMITIVE_TYPE(GET_GRAPHICS_CHIPSET_SSC_ENABLED) CREATE_PRIMITIVE_TYPE(GET_LPM_TABLE) CREATE_PRIMITIVE_TYPE(GET_NOTIFICATION_TEMP_THRESHOLD) CREATE_PRIMITIVE_TYPE(GET_PARTICIPANT_LIST) CREATE_PRIMITIVE_TYPE(GET_PARTICIPANT_PERF_PRESENT_CAPABILITY) CREATE_PRIMITIVE_TYPE(GET_PARTICIPANT_SKU) CREATE_PRIMITIVE_TYPE(GET_PARTICIPANT_TYPE) CREATE_PRIMITIVE_TYPE(GET_PARTICIPANT_UTILIZATION) CREATE_PRIMITIVE_TYPE(GET_PDR_TABLE) CREATE_PRIMITIVE_TYPE(GET_PERF_PSTATE_DEPTH_LIMIT) CREATE_PRIMITIVE_TYPE(GET_PERF_SUPPORT_STATES) CREATE_PRIMITIVE_TYPE(GET_PLATFORM_STATE_OF_CHARGE) CREATE_PRIMITIVE_TYPE(GET_POWER_THRESHOLD_COUNT) CREATE_PRIMITIVE_TYPE(GET_POWER_THRESHOLD_HYSTERESIS) CREATE_PRIMITIVE_TYPE(GET_POWER_THRESHOLDS) CREATE_PRIMITIVE_TYPE(GET_PROC_APPLICATION_EXCLUDE_LIST) CREATE_PRIMITIVE_TYPE(GET_PROC_CTDP_CAPABILITY) CREATE_PRIMITIVE_TYPE(GET_PROC_CTDP_CURRENT_SETTING) CREATE_PRIMITIVE_TYPE(GET_PROC_CTDP_LOCK_STATUS) CREATE_PRIMITIVE_TYPE(GET_PROC_CTDP_POINT_LIST) CREATE_PRIMITIVE_TYPE(GET_PROC_CTDP_SUPPORT_CHECK) CREATE_PRIMITIVE_TYPE(GET_PROC_CTDP_TAR_LOCK_STATUS) CREATE_PRIMITIVE_TYPE(GET_PROC_CURRENT_LOGICAL_PROCESSOR_OFFLINING) CREATE_PRIMITIVE_TYPE(GET_CURRENT_LOW_POWER_MODE) CREATE_PRIMITIVE_TYPE(GET_PROC_IO_THROTTLE_STATUS) CREATE_PRIMITIVE_TYPE(GET_PROC_LOGICAL_PROCESSOR_AFFINITY) CREATE_PRIMITIVE_TYPE(GET_PROC_LOGICAL_PROCESSOR_COUNT) CREATE_PRIMITIVE_TYPE(GET_PROC_MFM_LPM_SUPPORTED) CREATE_PRIMITIVE_TYPE(GET_PROC_MFM_MAX_EFFICIENCY_RATIO) CREATE_PRIMITIVE_TYPE(GET_PROC_MFM_MIN_SUPPORTED_RATIO) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_MAX_TIME) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_PRESENT_CAPABILITY) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_PSTATE_CURRENT_MAX_TODO) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_PSTATE_DEPTH_LIMIT) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_PSTATE_STATUS_TODO) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_SUPPORT_STATES) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_THROTTLE_CONTROL) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_THROTTLE_PRESENT_CAPABILITY) CREATE_PRIMITIVE_TYPE(GET_PROC_PERF_TSTATE_DEPTH_LIMIT) CREATE_PRIMITIVE_TYPE(GET_PROC_RF_TUNING_AVAILABLE) CREATE_PRIMITIVE_TYPE(GET_PROC_RP_STATE_CAPABILITY) CREATE_PRIMITIVE_TYPE(GET_PROC_THERMAL_DESIGN_POWER) CREATE_PRIMITIVE_TYPE(GET_PROC_TJMAX) CREATE_PRIMITIVE_TYPE(GET_PROC_TURBO_ACTIVATION_RATIO) CREATE_PRIMITIVE_TYPE(GET_PROC_PROGRAMMABLE_POWER_LIMITS) CREATE_PRIMITIVE_TYPE(GET_PROC_TURBO_STATE) CREATE_PRIMITIVE_TYPE(GET_RAPL_DUTY_CYCLE) CREATE_PRIMITIVE_TYPE(GET_RAPL_ENERGY) CREATE_PRIMITIVE_TYPE(GET_RAPL_ENERGY_UNIT) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_CONTROL_CAPABILITIES) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_DEFAULT) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_LIMIT) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_LIMIT_ENABLE) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_LIMIT_LOCK) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_MAX) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_MAX_TIME_WINDOW) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_MIN) CREATE_PRIMITIVE_TYPE(GET_RAPL_POWER_UNIT) CREATE_PRIMITIVE_TYPE(GET_RAPL_TIME_UNIT) CREATE_PRIMITIVE_TYPE(GET_RAPL_TIME_WINDOW) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_BIT_ERROR) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_CENTER_FREQUENCY) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_CHANNEL_NUMBER) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_CLIP_PERCENT_LEFT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_CLIP_PERCENT_RIGHT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_CONNECTION_STATUS) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_DEFAULT_CENTER_FREQUENCY) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_FREQUENCY_SPREAD_LEFT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_FREQUENCY_SPREAD_RIGHT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_FREQUENCY_ADJUST_RESOLUTION) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_NOISE_POWER) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_NOTCH_LEFT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_NOTCH_RIGHT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_RSSI) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_SHAPE_LEFT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_SHAPE_RIGHT) CREATE_PRIMITIVE_TYPE(GET_RFPROFILE_SIGNAL_TO_NOISE_RATIO) CREATE_PRIMITIVE_TYPE(GET_SUPPORTED_POLICIES) CREATE_PRIMITIVE_TYPE(GET_SYSTEM_CONFIGTDP_LEVEL_NAME) CREATE_PRIMITIVE_TYPE(GET_TEMPERATURE) CREATE_PRIMITIVE_TYPE(GET_TEMPERATURE_APPROX_TABLE) CREATE_PRIMITIVE_TYPE(GET_TEMPERATURE_THRESHOLD_COUNT) CREATE_PRIMITIVE_TYPE(GET_TEMPERATURE_THRESHOLD_HYSTERESIS) CREATE_PRIMITIVE_TYPE(GET_TEMPERATURE_THRESHOLDS) CREATE_PRIMITIVE_TYPE(GET_THERMAL_RELATIONSHIP_TABLE) CREATE_PRIMITIVE_TYPE(GET_TRIP_POINT_ACTIVE) CREATE_PRIMITIVE_TYPE(GET_TRIP_POINT_CRITICAL) CREATE_PRIMITIVE_TYPE(GET_TRIP_POINT_HOT) CREATE_PRIMITIVE_TYPE(GET_TRIP_POINT_PASSIVE) CREATE_PRIMITIVE_TYPE(GET_TRIP_POINT_WARM) CREATE_PRIMITIVE_TYPE(GET_TSTATE_CURRENT) CREATE_PRIMITIVE_TYPE(GET_TSTATES) CREATE_PRIMITIVE_TYPE(SET_ACTIVE_RELATIONSHIP_TABLE) CREATE_PRIMITIVE_TYPE(SET_AMBIENT_TEMPERATURE_INDICATION) CREATE_PRIMITIVE_TYPE(SET_CLOCK_SSC_DISABLED) CREATE_PRIMITIVE_TYPE(SET_CLOCK_SSC_ENABLED) CREATE_PRIMITIVE_TYPE(SET_COOLING_POLICY) CREATE_PRIMITIVE_TYPE(SET_CTDP_POINT) CREATE_PRIMITIVE_TYPE(SET_CURRENT_LOW_POWER_MODE) CREATE_PRIMITIVE_TYPE(SET_DEVICE_TEMPERATURE_INDICATION) CREATE_PRIMITIVE_TYPE(SET_DISPLAY_BRIGHTNESS_HARD) CREATE_PRIMITIVE_TYPE(SET_DISPLAY_BRIGHTNESS_SOFT) CREATE_PRIMITIVE_TYPE(SET_DSP) CREATE_PRIMITIVE_TYPE(SET_FAN_LEVEL) CREATE_PRIMITIVE_TYPE(SET_GFX_RPCP) CREATE_PRIMITIVE_TYPE(SET_LPM_TABLE) CREATE_PRIMITIVE_TYPE(SET_OPERATING_SYSTEM_CAPABILITIES) CREATE_PRIMITIVE_TYPE(SET_PDR_TABLE) CREATE_PRIMITIVE_TYPE(SET_PERF_PRESENT_CAPABILITY) CREATE_PRIMITIVE_TYPE(SET_PERF_SUPPORT_STATE) CREATE_PRIMITIVE_TYPE(SET_POWER_THRESHOLD_HYSTERESIS) CREATE_PRIMITIVE_TYPE(SET_POWER_THRESHOLDS) CREATE_PRIMITIVE_TYPE(SET_PROC_CTDP_CONTROL) CREATE_PRIMITIVE_TYPE(SET_PROC_NUMBER_OFFLINE_CORES) CREATE_PRIMITIVE_TYPE(SET_RFPROFILE_CENTER_FREQUENCY) CREATE_PRIMITIVE_TYPE(SET_PROC_IO_THROTTLE_CONTROL) CREATE_PRIMITIVE_TYPE(SET_PROC_LOGICAL_PROCESSOR_AFFINITY) CREATE_PRIMITIVE_TYPE(SET_PROC_PERF_PSTATE_DEPTH_LIMIT) CREATE_PRIMITIVE_TYPE(SET_PROC_PERF_TSTATE_DEPTH_LIMIT) CREATE_PRIMITIVE_TYPE(SET_PROC_TURBO_ACTIVATION_RATIO) CREATE_PRIMITIVE_TYPE(SET_PROC_TURBO_STATE) CREATE_PRIMITIVE_TYPE(SET_RAPL_POWER_CONTROL_CAPABILITIES) CREATE_PRIMITIVE_TYPE(SET_RAPL_POWER_LIMIT) CREATE_PRIMITIVE_TYPE(SET_RAPL_POWER_LIMIT_ENABLE) CREATE_PRIMITIVE_TYPE(SET_RAPL_TIME_WINDOW) CREATE_PRIMITIVE_TYPE(SET_SUPPORTED_POLICIES) CREATE_PRIMITIVE_TYPE(SET_SYSTEM_CONFIGTDP_CLEAR_LEVELS) CREATE_PRIMITIVE_TYPE(SET_SYSTEM_CONFIGTDP_LEVEL_NAME) CREATE_PRIMITIVE_TYPE(SET_SYSTEM_HIBERNATE) CREATE_PRIMITIVE_TYPE(SET_SYSTEM_POWER_SETTING_REMOVE) CREATE_PRIMITIVE_TYPE(SET_SYSTEM_SHUTDOWN) CREATE_PRIMITIVE_TYPE(SET_SYSTEM_SLEEP) CREATE_PRIMITIVE_TYPE(SET_TEMPERATURE) CREATE_PRIMITIVE_TYPE(SET_TEMPERATURE_INTERRUPT_STATE) CREATE_PRIMITIVE_TYPE(SET_TEMPERATURE_THRESHOLD_HYSTERESIS) CREATE_PRIMITIVE_TYPE(SET_TEMPERATURE_THRESHOLDS) CREATE_PRIMITIVE_TYPE(SET_THERMAL_RELATIONSHIP_TABLE) CREATE_PRIMITIVE_TYPE(SET_TRIP_POINT_ACTIVE) CREATE_PRIMITIVE_TYPE(SET_TRIP_POINT_CRITICAL) CREATE_PRIMITIVE_TYPE(SET_TRIP_POINT_HOT) CREATE_PRIMITIVE_TYPE(SET_TRIP_POINT_PASSIVE) CREATE_PRIMITIVE_TYPE(SET_TRIP_POINT_WARM) CREATE_PRIMITIVE_TYPE(SET_TSTATE_CURRENT) #else ENUM_ESIF_PRIMITIVE_TYPE(CREATE_PRIMITIVE_TYPE) #endif } return str; } /* ** Data Type Declarations */ #define ENUM_ESIF_DATA_TYPE(ENUM) \ ENUM##_VAL(ESIF_DATA_ANGLE, 41) \ ENUM##_VAL(ESIF_DATA_AUTO, 36) \ ENUM##_VAL(ESIF_DATA_BINARY, 7) \ ENUM##_VAL(ESIF_DATA_BIT, 27) \ ENUM##_VAL(ESIF_DATA_BLOB, 34) \ ENUM##_VAL(ESIF_DATA_DSP, 33) \ ENUM##_VAL(ESIF_DATA_ENUM, 19) \ ENUM##_VAL(ESIF_DATA_GUID, 5) \ ENUM##_VAL(ESIF_DATA_HANDLE, 20) \ ENUM##_VAL(ESIF_DATA_INSTANCE, 30) \ ENUM##_VAL(ESIF_DATA_INT16, 12) \ ENUM##_VAL(ESIF_DATA_INT32, 13) \ ENUM##_VAL(ESIF_DATA_INT64, 14) \ ENUM##_VAL(ESIF_DATA_INT8, 11) \ ENUM##_VAL(ESIF_DATA_IPV4, 16) \ ENUM##_VAL(ESIF_DATA_IPV6, 17) \ ENUM##_VAL(ESIF_DATA_PERCENT, 29) \ ENUM##_VAL(ESIF_DATA_POINTER, 18) \ ENUM##_VAL(ESIF_DATA_POWER, 26) \ ENUM##_VAL(ESIF_DATA_QUALIFIER, 28) \ ENUM##_VAL(ESIF_DATA_REGISTER, 15) \ ENUM##_VAL(ESIF_DATA_STRING, 8) \ ENUM##_VAL(ESIF_DATA_STRUCTURE, 32) \ ENUM##_VAL(ESIF_DATA_TABLE, 35) \ ENUM##_VAL(ESIF_DATA_TEMPERATURE, 6) \ ENUM##_VAL(ESIF_DATA_TIME, 31) \ ENUM##_VAL(ESIF_DATA_UINT16, 2) \ ENUM##_VAL(ESIF_DATA_UINT32, 3) \ ENUM##_VAL(ESIF_DATA_UINT64, 4) \ ENUM##_VAL(ESIF_DATA_UINT8, 1) \ ENUM##_VAL(ESIF_DATA_UNICODE, 9) \ ENUM##_VAL(ESIF_DATA_VOID, 24) \ ENUM##_VAL(ESIF_DATA_XML, 38) \ ENUM##_VAL(ESIF_DATA_DECIBEL, 39) \ ENUM##_VAL(ESIF_DATA_FREQUENCY, 40) \ enum esif_data_type { #ifdef ESIF_ATTR_KERNEL ESIF_DATA_ANGLE = 41, ESIF_DATA_AUTO = 36, ESIF_DATA_BINARY = 7, ESIF_DATA_BIT = 27, ESIF_DATA_BLOB = 34, ESIF_DATA_DSP = 33, ESIF_DATA_ENUM = 19, ESIF_DATA_GUID = 5, ESIF_DATA_HANDLE = 20, ESIF_DATA_INSTANCE = 30, ESIF_DATA_INT16 = 12, ESIF_DATA_INT32 = 13, ESIF_DATA_INT64 = 14, ESIF_DATA_INT8 = 11, ESIF_DATA_IPV4 = 16, ESIF_DATA_IPV6 = 17, ESIF_DATA_PERCENT = 29, ESIF_DATA_POINTER = 18, ESIF_DATA_POWER = 26, ESIF_DATA_QUALIFIER = 28, ESIF_DATA_REGISTER = 15, ESIF_DATA_STRING = 8, ESIF_DATA_STRUCTURE = 32, ESIF_DATA_TABLE = 35, ESIF_DATA_TEMPERATURE = 6, ESIF_DATA_TIME = 31, ESIF_DATA_UINT16 = 2, ESIF_DATA_UINT32 = 3, ESIF_DATA_UINT64 = 4, ESIF_DATA_UINT8 = 1, ESIF_DATA_UNICODE = 9, ESIF_DATA_VOID = 24, ESIF_DATA_XML = 38, ESIF_DATA_DECIBEL = 39, ESIF_DATA_FREQUENCY = 40, #else ENUM_ESIF_DATA_TYPE(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_data_type esif_data_type_string2enum (esif_string str); extern esif_string esif_data_type_enum2string (enum esif_data_type type); #ifdef __cplusplus } #endif static ESIF_INLINE esif_string esif_data_type_str (enum esif_data_type type) { #define CREATE_DATA_TYPE(dt) case dt: \ str = (esif_string) #dt;break; #define CREATE_DATA_TYPE_VAL(dt, VAL) case dt: \ str = (esif_string) #dt;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (type) { #ifdef ESIF_ATTR_KERNEL CREATE_DATA_TYPE(ESIF_DATA_ANGLE) CREATE_DATA_TYPE(ESIF_DATA_AUTO) CREATE_DATA_TYPE(ESIF_DATA_BINARY) CREATE_DATA_TYPE(ESIF_DATA_BIT) CREATE_DATA_TYPE(ESIF_DATA_BLOB) CREATE_DATA_TYPE(ESIF_DATA_DSP) CREATE_DATA_TYPE(ESIF_DATA_ENUM) CREATE_DATA_TYPE(ESIF_DATA_GUID) CREATE_DATA_TYPE(ESIF_DATA_HANDLE) CREATE_DATA_TYPE(ESIF_DATA_INSTANCE) CREATE_DATA_TYPE(ESIF_DATA_INT16) CREATE_DATA_TYPE(ESIF_DATA_INT32) CREATE_DATA_TYPE(ESIF_DATA_INT64) CREATE_DATA_TYPE(ESIF_DATA_INT8) CREATE_DATA_TYPE(ESIF_DATA_IPV4) CREATE_DATA_TYPE(ESIF_DATA_IPV6) CREATE_DATA_TYPE(ESIF_DATA_PERCENT) CREATE_DATA_TYPE(ESIF_DATA_POINTER) CREATE_DATA_TYPE(ESIF_DATA_POWER) CREATE_DATA_TYPE(ESIF_DATA_QUALIFIER) CREATE_DATA_TYPE(ESIF_DATA_REGISTER) CREATE_DATA_TYPE(ESIF_DATA_STRING) CREATE_DATA_TYPE(ESIF_DATA_STRUCTURE) CREATE_DATA_TYPE(ESIF_DATA_TABLE) CREATE_DATA_TYPE(ESIF_DATA_TEMPERATURE) CREATE_DATA_TYPE(ESIF_DATA_TIME) CREATE_DATA_TYPE(ESIF_DATA_UINT16) CREATE_DATA_TYPE(ESIF_DATA_UINT32) CREATE_DATA_TYPE(ESIF_DATA_UINT64) CREATE_DATA_TYPE(ESIF_DATA_UINT8) CREATE_DATA_TYPE(ESIF_DATA_UNICODE) CREATE_DATA_TYPE(ESIF_DATA_VOID) CREATE_DATA_TYPE(ESIF_DATA_XML) CREATE_DATA_TYPE(ESIF_DATA_DECIBEL) CREATE_DATA_TYPE(ESIF_DATA_FREQUENCY) #else ENUM_ESIF_DATA_TYPE(CREATE_DATA_TYPE) #endif } return str; } /* ** Action Type Declarations */ #define ENUM_ESIF_ACTION_TYPE(ENUM) \ ENUM##_VAL(ESIF_ACTION_ACPI, 4) \ ENUM##_VAL(ESIF_ACTION_ACPILPAT, 40) \ ENUM##_VAL(ESIF_ACTION_CODE, 38) \ ENUM##_VAL(ESIF_ACTION_KODE, 29) \ ENUM##_VAL(ESIF_ACTION_CONFIG, 20) \ ENUM##_VAL(ESIF_ACTION_CONST, 33) \ ENUM##_VAL(ESIF_ACTION_DDIGFXDISP, 35) \ ENUM##_VAL(ESIF_ACTION_DDIGFXPERF, 36) \ ENUM##_VAL(ESIF_ACTION_DPPEBRT, 32) \ ENUM##_VAL(ESIF_ACTION_GFXESC, 30) \ ENUM##_VAL(ESIF_ACTION_KONST, 1) \ ENUM##_VAL(ESIF_ACTION_LAL, 11) \ ENUM##_VAL(ESIF_ACTION_IOSF, 34) \ ENUM##_VAL(ESIF_ACTION_MMIO, 2) \ ENUM##_VAL(ESIF_ACTION_MMIOTJMAX, 48) \ ENUM##_VAL(ESIF_ACTION_MSR, 22) \ ENUM##_VAL(ESIF_ACTION_PSM, 44) \ ENUM##_VAL(ESIF_ACTION_RFPWIFI, 43) \ ENUM##_VAL(ESIF_ACTION_RFPWWAN, 41) \ ENUM##_VAL(ESIF_ACTION_SYSTEM, 31) \ ENUM##_VAL(ESIF_ACTION_SYSTEMIO, 24) \ ENUM##_VAL(ESIF_ACTION_VAR, 17) \ ENUM##_VAL(ESIF_ACTION_VIRTUAL, 39) #define ENUM_ESIF_ACTION_MSR_HINT(ENUM) \ ENUM##_VAL(ESIF_ACTION_MSR_HINT_UNI, 1) \ ENUM##_VAL(ESIF_ACTION_MSR_HINT_MAX, 2) \ ENUM##_VAL(ESIF_ACTION_MSR_HINT_MIN, 3) enum esif_action_type { #ifdef ESIF_ATTR_KERNEL ESIF_ACTION_ACPI = 4, ESIF_ACTION_ACPILPAT = 40, ESIF_ACTION_CODE = 38, ESIF_ACTION_KODE = 29, ESIF_ACTION_CONFIG = 20, ESIF_ACTION_CONST = 33, ESIF_ACTION_DDIGFXDISP = 35, ESIF_ACTION_DDIGFXPERF = 36, ESIF_ACTION_DPPEBRT = 32, ESIF_ACTION_GFXESC = 30, ESIF_ACTION_KONST = 1, ESIF_ACTION_LAL = 11, ESIF_ACTION_IOSF = 34, ESIF_ACTION_MMIO = 2, ESIF_ACTION_MMIOTJMAX = 48, ESIF_ACTION_MSR = 22, ESIF_ACTION_PSM = 44, ESIF_ACTION_RFPWIFI = 43, ESIF_ACTION_RFPWWAN = 41, ESIF_ACTION_SYSTEM = 31, ESIF_ACTION_SYSTEMIO = 24, ESIF_ACTION_VAR = 17, ESIF_ACTION_VIRTUAL = 39 #else ENUM_ESIF_ACTION_TYPE(ENUMDECL) #endif }; enum esif_action_msr_hint { #ifdef ESIF_ATTR_KERNEL ESIF_ACTION_MSR_HINT_UNI = 1, ESIF_ACTION_MSR_HINT_MAX = 2, ESIF_ACTION_MSR_HINT_MIN = 3 #else ENUM_ESIF_ACTION_MSR_HINT(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_action_type esif_action_type_string2enum (esif_string str); extern esif_string esif_action_type_enum2string (enum esif_action_type type); #ifdef __cplusplus } #endif static ESIF_INLINE esif_string esif_action_type_str (enum esif_action_type type) { #define CREATE_ACTION_TYPE(at) case at: \ str = (esif_string) #at;break; #define CREATE_ACTION_TYPE_VAL(at, VAL) case at: \ str = (esif_string) #at;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (type) { #ifdef ESIF_ATTR_KERNEL CREATE_ACTION_TYPE(ESIF_ACTION_ACPI) CREATE_ACTION_TYPE(ESIF_ACTION_ACPILPAT) CREATE_ACTION_TYPE(ESIF_ACTION_KODE) CREATE_ACTION_TYPE(ESIF_ACTION_CODE) CREATE_ACTION_TYPE(ESIF_ACTION_CONFIG) CREATE_ACTION_TYPE(ESIF_ACTION_CONST) CREATE_ACTION_TYPE(ESIF_ACTION_DDIGFXDISP) CREATE_ACTION_TYPE(ESIF_ACTION_DDIGFXPERF) CREATE_ACTION_TYPE(ESIF_ACTION_DPPEBRT) CREATE_ACTION_TYPE(ESIF_ACTION_GFXESC) CREATE_ACTION_TYPE(ESIF_ACTION_KONST) CREATE_ACTION_TYPE(ESIF_ACTION_LAL) CREATE_ACTION_TYPE(ESIF_ACTION_IOSF) CREATE_ACTION_TYPE(ESIF_ACTION_MMIO) CREATE_ACTION_TYPE(ESIF_ACTION_MMIOTJMAX) CREATE_ACTION_TYPE(ESIF_ACTION_MSR) CREATE_ACTION_TYPE(ESIF_ACTION_PSM) CREATE_ACTION_TYPE(ESIF_ACTION_RFPWIFI) CREATE_ACTION_TYPE(ESIF_ACTION_RFPWWAN) CREATE_ACTION_TYPE(ESIF_ACTION_SYSTEM) CREATE_ACTION_TYPE(ESIF_ACTION_SYSTEMIO) CREATE_ACTION_TYPE(ESIF_ACTION_VAR) CREATE_ACTION_TYPE(ESIF_ACTION_VIRTUAL) #else ENUM_ESIF_ACTION_TYPE(CREATE_ACTION_TYPE) #endif } return str; } static ESIF_INLINE esif_string esif_action_msr_hint (enum esif_action_msr_hint hint) { #define CREATE_ACTION_MSR_HINT(mh) case mh: \ str = (esif_string) #mh;break; #define CREATE_ACTION_MSR_HINT_VAL(mh, VAL) case mh: \ str = (esif_string) #mh;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (hint) { #ifdef ESIF_ATTR_KERNEL CREATE_ACTION_MSR_HINT(ESIF_ACTION_MSR_HINT_UNI) CREATE_ACTION_MSR_HINT(ESIF_ACTION_MSR_HINT_MAX) CREATE_ACTION_MSR_HINT(ESIF_ACTION_MSR_HINT_MIN) #else ENUM_ESIF_ACTION_MSR_HINT(CREATE_ACTION_MSR_HINT) #endif } return str; } /* ** Capability Type Declarations */ #define ENUM_ESIF_CAPABILITY_TYPE(ENUM) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_ACTIVE_CONTROL, 0) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_CTDP_CONTROL, 1) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_CORE_CONTROL, 2) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_DISPLAY_CONTROL, 3) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_DOMAIN_PRIORITY, 4) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_PERF_CONTROL, 5) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_POWER_CONTROL, 6) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_POWER_STATUS, 7) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_TEMP_STATUS, 8) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_UTIL_STATUS, 9) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_PIXELCLOCK_STATUS, 10) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_PIXELCLOCK_CONTROL, 11) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_BATTERY_STATUS, 12) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_TEMP_THRESHOLD, 13) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_RFPROFILE_STATUS, 14) \ ENUM##_VAL(ESIF_CAPABILITY_TYPE_RFPROFILE_CONTROL, 15) \ enum esif_capability_type { #ifdef ESIF_ATTR_KERNEL ESIF_CAPABILITY_TYPE_ACTIVE_CONTROL = 0, ESIF_CAPABILITY_TYPE_CTDP_CONTROL = 1, ESIF_CAPABILITY_TYPE_CORE_CONTROL = 2, ESIF_CAPABILITY_TYPE_DISPLAY_CONTROL = 3, ESIF_CAPABILITY_TYPE_DOMAIN_PRIORITY = 4, ESIF_CAPABILITY_TYPE_PERF_CONTROL = 5, ESIF_CAPABILITY_TYPE_POWER_CONTROL = 6, ESIF_CAPABILITY_TYPE_POWER_STATUS = 7, ESIF_CAPABILITY_TYPE_TEMP_STATUS = 8, ESIF_CAPABILITY_TYPE_UTIL_STATUS = 9, ESIF_CAPABILITY_TYPE_PIXELCLOCK_STATUS = 10, ESIF_CAPABILITY_TYPE_PIXELCLOCK_CONTROL = 11, ESIF_CAPABILITY_TYPE_BATTERY_STATUS = 12, ESIF_CAPABILITY_TYPE_TEMP_THRESHOLD = 13, ESIF_CAPABILITY_TYPE_RFPROFILE_STATUS = 14, ESIF_CAPABILITY_TYPE_RFPROFILE_CONTROL = 15 #else ENUM_ESIF_CAPABILITY_TYPE(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_capability_type esif_capability_type_string2enum ( esif_string str); extern esif_string esif_capability_type_enum2string ( enum esif_capability_type type); #ifdef __cplusplus } #endif static ESIF_INLINE esif_string esif_capability_type_str ( enum esif_capability_type type) { #define CREATE_CAPABILITY_TYPE(ct) case ct: \ str = (esif_string) #ct;break; #define CREATE_CAPABILITY_TYPE_VAL(ct, VAL) case ct: \ str = (esif_string) #ct;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (type) { #ifdef ESIF_ATTR_KERNEL CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_ACTIVE_CONTROL) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_CTDP_CONTROL) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_CORE_CONTROL) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_DISPLAY_CONTROL) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_DOMAIN_PRIORITY) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_PERF_CONTROL) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_POWER_CONTROL) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_POWER_STATUS) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_TEMP_STATUS) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_UTIL_STATUS) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_PIXELCLOCK_STATUS) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_PIXELCLOCK_CONTROL) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_BATTERY_STATUS) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_TEMP_THRESHOLD) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_RFPROFILE_STATUS) CREATE_CAPABILITY_TYPE(ESIF_CAPABILITY_TYPE_RFPROFILE_CONTROL) #else ENUM_ESIF_CAPABILITY_TYPE(CREATE_CAPABILITY_TYPE) #endif } return str; } #define ESIF_CAPABILITY_ACTIVE_CONTROL 0x1 #define ESIF_CAPABILITY_CTDP_CONTROL 0x2 #define ESIF_CAPABILITY_CORE_CONTROL 0x4 #define ESIF_CAPABILITY_DISPLAY_CONTROL 0x8 #define ESIF_CAPABILITY_DOMAIN_PRIORITY 0x10 #define ESIF_CAPABILITY_PERF_CONTROL 0x20 #define ESIF_CAPABILITY_POWER_CONTROL 0x40 #define ESIF_CAPABILITY_POWER_STATUS 0x80 #define ESIF_CAPABILITY_TEMP_STATUS 0x100 #define ESIF_CAPABILITY_UTIL_STATUS 0x200 #define ESIF_CAPABILITY_PIXELCLOCK_STATUS 0x400 #define ESIF_CAPABILITY_PIXELCLOCK_CONTROL 0x800 #define ESIF_CAPABILITY_BATTERY_STATUS 0x1000 #define ESIF_CAPABILITY_TEMP_THRESHOLD 0x2000 #define ESIF_CAPABILITY_RFPROFILE_STATUS 0x4000 #define ESIF_CAPABILITY_RFPROFILE_CONTROL 0x8000 /* ** Vendor Strings */ static ESIF_INLINE esif_string esif_vendor_str (u32 vendor_id) { #define CREATE_VENDOR(v, vs) case v: \ str = (esif_string)vs;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (vendor_id) { CREATE_VENDOR(0x8086, "Intel Corp") } return str; } /* ** PCI Devices */ #define ENUM_ESIF_PCI_DEVICE_ID(ENUM) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_SNB, 0x0103) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_IVB, 0x0153) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_HSW_ULT, 0x0a03) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_HSW, 0x0c03) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_BDW, 0x1603) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_SKL, 0x1903) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_CPT, 0x1c24) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_PPT, 0x1e24) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_LPT, 0x8c24) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_LPT_LP, 0x9c24) \ ENUM##_VAL(ESIF_PCI_DEVICE_ID_WCP, 0x9ca4) \ enum esif_pci_device_id { #ifdef ESIF_ATTR_KERNEL ESIF_PCI_DEVICE_ID_SNB = 0x0103, ESIF_PCI_DEVICE_ID_IVB = 0x0153, ESIF_PCI_DEVICE_ID_HSW_ULT = 0x0a03, ESIF_PCI_DEVICE_ID_HSW = 0x0c03, ESIF_PCI_DEVICE_ID_BDW = 0x1603, ESIF_PCI_DEVICE_ID_SKL = 0x1903, ESIF_PCI_DEVICE_ID_CPT = 0x1c24, ESIF_PCI_DEVICE_ID_PPT = 0x1e24, ESIF_PCI_DEVICE_ID_LPT = 0x8c24, ESIF_PCI_DEVICE_ID_LPT_LP = 0x9c24, ESIF_PCI_DEVICE_ID_WCP = 0x9ca4, #else ENUM_ESIF_PCI_DEVICE_ID(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_pci_device_id esif_pci_device_id_string2enum (esif_string str); extern esif_string esif_pci_device_id_enum2string (enum esif_pci_device_id type); #ifdef __cplusplus } #endif static ESIF_INLINE esif_string esif_device_str (u32 device_id) { #define CREATE_DEVICE(d, ds) case d: \ str = (esif_string)ds;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (device_id) { CREATE_DEVICE(ESIF_PCI_DEVICE_ID_SNB, "DPTF Participant for 2nd Generation Intel Core i7/i5/i3 Mobile Processors(DPTF CPU)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_IVB, "DPTF Participant for 3nd Generation Intel Core i7/i5/i3 Mobile Processors(DPTF CPU)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_HSW_ULT, "DPTF Participant for 4th Generation Intel Core i7/i5/i3 Mobile Processors(DPTF CPU)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_HSW, "DPTF Participant for 4th Generation Intel Core i7/i5/i3 Mobile Processors(DPTF CPU)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_BDW, "DPTF Participant for 5th Generation Intel Core i7/i5/i3 Mobile Processors(DPTF CPU)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_SKL, "DPTF Participant for 6th Generation Intel Core i7/i5/i3 Mobile Processors(DPTF CPU)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_CPT, "Cougar Point(DPTF PCH)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_PPT, "Panther Point(DPTF PCH)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_LPT, "Lynx Point(DPTF PCH)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_LPT_LP, "Lynx Point Low Power(DPTF PCH)") CREATE_DEVICE(ESIF_PCI_DEVICE_ID_WCP, "Wild Cat Point (DPTF PCH)") } return str; } #if defined(ESIF_ATTR_OS_LINUX_DRIVER) #pragma pack(push,1) const struct pci_device_id esif_pci_cpu_ids[] = { { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_SNB) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_IVB) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_HSW_ULT) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_HSW) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_BDW) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_SKL) }, { 0, } }; const struct pci_device_id esif_pci_pch_ids[] = { { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_CPT) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_PPT) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_LPT) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_LPT_LP) }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, ESIF_PCI_DEVICE_ID_WCP) }, { 0, } }; #pragma pack(pop) #endif static ESIF_INLINE esif_string esif_pci_class_str (u8 class_id) { #define CREATE_PCI_CLASS(c, cs) case c: \ str = (esif_string)cs;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (class_id) { CREATE_PCI_CLASS(0x00, "NA") CREATE_PCI_CLASS(0x01, "Mass Storage Controller") CREATE_PCI_CLASS(0x02, "Network Controller") CREATE_PCI_CLASS(0x03, "Display Controller") CREATE_PCI_CLASS(0x04, "Multimedia Device") CREATE_PCI_CLASS(0x05, "Memory Controller") CREATE_PCI_CLASS(0x06, "Bridge Device") CREATE_PCI_CLASS(0x07, "Simple Communications Controller") CREATE_PCI_CLASS(0x08, "Base System Peripherals") CREATE_PCI_CLASS(0x09, "Input Devices") CREATE_PCI_CLASS(0x0a, "Docking Stations") CREATE_PCI_CLASS(0x0b, "Processors") CREATE_PCI_CLASS(0x0c, "Serial Bus Controllers") CREATE_PCI_CLASS(0x0d, "Wireless Controllers") CREATE_PCI_CLASS(0x0e, "Intelligent I/O Controllers") CREATE_PCI_CLASS(0x0f, "Satelite Communication Controllers") CREATE_PCI_CLASS(0x10, "Encryption/Decryption Controllers") CREATE_PCI_CLASS(0x11, "Data Acquisition and Signal Processing Controllers") CREATE_PCI_CLASS(0xff, "Misc") } return str; } /* ** ACPI Devices */ #define ESIF_ACPI_DEVICE_INT3400 "INT3400" #define ESIF_ACPI_DEVICE_INT3401 "INT3401" #define ESIF_ACPI_DEVICE_INT3402 "INT3402" #define ESIF_ACPI_DEVICE_INT3403 "INT3403" #define ESIF_ACPI_DEVICE_INT3404 "INT3404" #define ESIF_ACPI_DEVICE_INT3405 "INT3405" #define ESIF_ACPI_DEVICE_INT3406 "INT3406" #define ESIF_ACPI_DEVICE_INT3407 "INT3407" #define ESIF_ACPI_DEVICE_INT3408 "INT3408" #define ESIF_ACPI_DEVICE_INT3409 "INT3409" #define ESIF_ACPI_DEVICE_INT340A "INT340A" #define ESIF_ACPI_DEVICE_INT340B "INT340B" #define ESIF_ACPI_DEVICE_INT340C "INT340C" static ESIF_INLINE esif_string esif_acpi_device_str (esif_string acpi_device) { #define CREATE_ACPI_DEVICE(d, ds) if (!strncmp(acpi_device, d, 7)) { \ str = (esif_string)ds; \ } esif_string str = (esif_string)ESIF_NOT_AVAILABLE; if (NULL == acpi_device) { return str; } CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3400, "DPTF Zone") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3401, "DPTF Processor Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3402, "DPTF Memory Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3403, "DPTF Generic Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3404, "DPTF Fan Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3405, "DPTF Depricated") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3406, "DPTF Display Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3407, "DPTF Charger Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3408, "DPTF Wireless Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT3409, "DPTF Ambient Temperature Sensor") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT340A, "DPTF Storage Device") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT340B, "DPTF Perceptual Computing Camera") CREATE_ACPI_DEVICE(ESIF_ACPI_DEVICE_INT340C, "DPTF Thunderbolt Device") return str; } #if defined(ESIF_ATTR_OS_LINUX_DRIVER) #pragma pack(push,1) const struct acpi_device_id esif_acpi_ids[] = { { ESIF_ACPI_DEVICE_INT3400, 0 }, { ESIF_ACPI_DEVICE_INT3401, 0 }, { ESIF_ACPI_DEVICE_INT3402, 0 }, { ESIF_ACPI_DEVICE_INT3403, 0 }, { ESIF_ACPI_DEVICE_INT3404, 0 }, { ESIF_ACPI_DEVICE_INT3405, 0 }, { ESIF_ACPI_DEVICE_INT3406, 0 }, { ESIF_ACPI_DEVICE_INT3407, 0 }, { ESIF_ACPI_DEVICE_INT3408, 0 }, { ESIF_ACPI_DEVICE_INT3409, 0 }, { ESIF_ACPI_DEVICE_INT340A, 0 }, { ESIF_ACPI_DEVICE_INT340B, 0 }, { ESIF_ACPI_DEVICE_INT340C, 0 }, { "", 0 }, }; #pragma pack(pop) #endif #define ENUM_ESIF_DOMAIN_TYPE(ENUM) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_PROCESSOR, 0) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_GRAPHICS, 1) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_MEMORY, 2) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_TEMPERATURE, 3) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_FAN, 4) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_CHIPSET, 5) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_ETHERNET, 6) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_WIRELESS, 7) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_STORAGE, 8) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_MULTIFUNCTION, 9) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_DISPLAY, 10) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_CHARGER, 11) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_BATTERY, 12) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_AUDIO, 13) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_OTHER, 14) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_WWAN, 15) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_WGIG, 16) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_POWER, 17) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_THERMISTOR, 18) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_INFRARED, 19) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_WIRELESSRFEM, 20) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_VIRTUAL, 21) \ ENUM##_VAL(ESIF_DOMAIN_TYPE_AMBIENT, 22) \ enum esif_domain_type { #ifdef ESIF_ATTR_KERNEL ESIF_DOMAIN_TYPE_PROCESSOR = 0, ESIF_DOMAIN_TYPE_GRAPHICS = 1, ESIF_DOMAIN_TYPE_MEMORY = 2, ESIF_DOMAIN_TYPE_TEMPERATURE = 3, ESIF_DOMAIN_TYPE_FAN = 4, ESIF_DOMAIN_TYPE_CHIPSET = 5, ESIF_DOMAIN_TYPE_ETHERNET = 6, ESIF_DOMAIN_TYPE_WIRELESS = 7, ESIF_DOMAIN_TYPE_STORAGE = 8, ESIF_DOMAIN_TYPE_MULTIFUNCTION = 9, ESIF_DOMAIN_TYPE_DISPLAY = 10, ESIF_DOMAIN_TYPE_CHARGER = 11, ESIF_DOMAIN_TYPE_BATTERY = 12, ESIF_DOMAIN_TYPE_AUDIO = 13, ESIF_DOMAIN_TYPE_OTHER = 14, ESIF_DOMAIN_TYPE_WWAN = 15, ESIF_DOMAIN_TYPE_WGIG = 16, ESIF_DOMAIN_TYPE_POWER = 17, ESIF_DOMAIN_TYPE_THERMISTOR = 18, ESIF_DOMAIN_TYPE_INFRARED = 19, ESIF_DOMAIN_TYPE_WIRELESSRFEM = 20, ESIF_DOMAIN_TYPE_VIRTUAL = 21, ESIF_DOMAIN_TYPE_AMBIENT = 22, #else ENUM_ESIF_DOMAIN_TYPE(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_domain_type esif_domain_type_string2enum (esif_string str); extern esif_string esif_domain_type_enum2string (enum esif_domain_type type); #ifdef __cplusplus } #endif static ESIF_INLINE esif_string esif_domain_type_str (enum esif_domain_type type) { #define CREATE_DOMAIN_TYPE(dt) case dt: \ str = (esif_string) #dt;break; #define CREATE_DOMAIN_TYPE_VAL(dt, VAL) case dt: \ str = (esif_string) #dt;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (type) { #ifdef ESIF_ATTR_KERNEL CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_PROCESSOR) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_GRAPHICS) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_MEMORY) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_TEMPERATURE) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_FAN) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_CHIPSET) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_ETHERNET) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_WIRELESS) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_STORAGE) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_MULTIFUNCTION) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_DISPLAY) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_CHARGER) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_BATTERY) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_AUDIO) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_OTHER) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_WWAN) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_WGIG) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_POWER) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_THERMISTOR) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_INFRARED) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_WIRELESSRFEM) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_VIRTUAL) CREATE_DOMAIN_TYPE(ESIF_DOMAIN_TYPE_AMBIENT) #else ENUM_ESIF_DOMAIN_TYPE(CREATE_DOMAIN_TYPE) #endif } return str; } #define ESIF_PRODUCT "Dynamic Platform Thermal Framework" #define ESIF_COPYRIGHT "(c) 2012 - 2014 Intel Corporation" #define ESIF_COMPANY "Intel Corporation" #define ESIF_LOWER_FRAMEWORK "ESIF Lower Framework" #define ESIF_UPPER_FRAMEWORK "ESIF Upper Framework" #define ESIF_PARTICIPANT_DPTF_NAME "DPTFZ" #define ESIF_PARTICIPANT_DPTF_DESC "DPTF Zone" #define ESIF_PARTICIPANT_DPTF_CLASS_GUID {0x23, 0xa9, 0xe1, 0x5f, 0x0b, 0xa4, \ 0x46, 0x9c, 0xb1, 0x6f, 0x1c, 0x46, \ 0x79, 0x75, 0x4f, 0x80} #define ESIF_PARTICIPANT_ACPI_NAME "ACPI" #define ESIF_PARTICIPANT_ACPI_DESC "DPTF ACPI Device" #define ESIF_PARTICIPANT_ACPI_CLASS_GUID {0xd9, 0xd5, 0xbe, 0x64, 0x3c, 0xe2, \ 0x49, 0x27, 0x95, 0xa3, 0xee, 0xe4, \ 0xc, 0x9a, 0x58, 0x3b} #define ESIF_PARTICIPANT_CPU_NAME "TCPU" #define ESIF_PARTICIPANT_CPU_DESC "DPTF CPU Device" #define ESIF_PARTICIPANT_CPU_CLASS_GUID {0x53, 0x4a, 0x09, 0x8f, 0x5e, 0x42, \ 0x4c, 0x64, 0xbe, 0xb3, 0x91, 0x7a, \ 0xb3, 0x7c, 0x5d, 0xa5} #define ESIF_PARTICIPANT_PCH_NAME "TPCH" #define ESIF_PARTICIPANT_PCH_DESC "DPTF PCH Device" #define ESIF_PARTICIPANT_PCH_CLASS_GUID {0x33, 0xab, 0xb9, 0xb2, 0xe6, 0x86, \ 0x43, 0xb8, 0xb0, 0xdf, 0x3e, 0x91, \ 0x53, 0x90, 0xcb, 0xe5} #define ESIF_PARTICIPANT_PLAT_NAME "PLAT" #define ESIF_PARTICIPANT_PLAT_DESC "DPTF Platform Device" #define ESIF_PARTICIPANT_PLAT_CLASS_GUID {0xd4, 0x08, 0x04, 0xf4, 0xdc, 0x73, \ 0x4b, 0x33, 0xb2, 0x8c, 0x19, 0x5a, \ 0xe9, 0x8f, 0x29, 0xe} #define ENUM_ESIF_ALGORITHM_TYPE(ENUM) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_POWER_DECIW, 0) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_POWER_MILLIW, 1) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_POWER_NONE, 2) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_POWER_UNIT_ATOM, 12) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_POWER_UNIT_CORE, 3) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_PCH_CORE, 4) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_DECIK, 5) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_NONE, 6) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_TJMAX_CORE, 7) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TIME_NONE, 8) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_MILLIC, 9) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_TJMAX_ATOM, 10) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_DTS_ATOM, 11) \ ENUM##_VAL(ESIF_ALGORITHM_TYPE_TEMP_LPAT, 13) \ enum esif_algorithm_type { #ifdef ESIF_ATTR_KERNEL ESIF_ALGORITHM_TYPE_POWER_DECIW = 0, ESIF_ALGORITHM_TYPE_POWER_MILLIW = 1, ESIF_ALGORITHM_TYPE_POWER_NONE = 2, ESIF_ALGORITHM_TYPE_POWER_UNIT_ATOM = 12, ESIF_ALGORITHM_TYPE_POWER_UNIT_CORE = 3, ESIF_ALGORITHM_TYPE_TEMP_PCH_CORE = 4, ESIF_ALGORITHM_TYPE_TEMP_DECIK = 5, ESIF_ALGORITHM_TYPE_TEMP_NONE = 6, ESIF_ALGORITHM_TYPE_TEMP_TJMAX_CORE = 7, ESIF_ALGORITHM_TYPE_TIME_NONE = 8, ESIF_ALGORITHM_TYPE_TEMP_MILLIC = 9, ESIF_ALGORITHM_TYPE_TEMP_TJMAX_ATOM = 10, ESIF_ALGORITHM_TYPE_TEMP_DTS_ATOM = 11, ESIF_ALGORITHM_TYPE_TEMP_LPAT = 13 #else ENUM_ESIF_ALGORITHM_TYPE(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_algorithm_type esif_algorithm_type_string2enum (esif_string str); extern esif_string esif_algorithm_type_enum2string ( enum esif_algorithm_type type); #ifdef __cplusplus } #endif static ESIF_INLINE esif_string esif_algorithm_type_str ( enum esif_algorithm_type type) { #define CREATE_ALGORITHM_TYPE(at) case at: \ str = (esif_string) #at;break; #define CREATE_ALGORITHM_TYPE_VAL(at, VAL) case at: \ str = (esif_string) #at;break; esif_string str = (esif_string)ESIF_NOT_AVAILABLE; switch (type) { #ifdef ESIF_ATTR_KERNEL CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_POWER_DECIW) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_POWER_MILLIW) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_POWER_NONE) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_POWER_UNIT_ATOM) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_POWER_UNIT_CORE) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_PCH_CORE) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_TJMAX_ATOM) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_DECIK) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_NONE) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_TJMAX_CORE) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TIME_NONE) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_MILLIC) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_DTS_ATOM) CREATE_ALGORITHM_TYPE(ESIF_ALGORITHM_TYPE_TEMP_LPAT) #else ENUM_ESIF_ALGORITHM_TYPE(CREATE_ALGORITHM_TYPE) #endif } return str; } /* Enumeration */ #define ENUM_ESIF_PARTICIPANT_ENUM(ENUM) \ ENUM(ESIF_PARTICIPANT_ENUM_ACPI) \ ENUM(ESIF_PARTICIPANT_ENUM_PCI) \ ENUM(ESIF_PARTICIPANT_ENUM_PLAT) \ ENUM(ESIF_PARTICIPANT_ENUM_CONJURE) \ enum esif_participant_enum { #ifdef ESIF_ATTR_KERNEL ESIF_PARTICIPANT_ENUM_ACPI, ESIF_PARTICIPANT_ENUM_PCI, ESIF_PARTICIPANT_ENUM_PLAT, ESIF_PARTICIPANT_ENUM_CONJURE, #else ENUM_ESIF_PARTICIPANT_ENUM(ENUMDECL) #endif }; /* Implement these if they are needed */ #ifdef __cplusplus extern "C" { #endif extern enum esif_participant_enum esif_participant_enum_string2enum ( esif_string str); extern esif_string esif_participant_enum_enum2string ( enum esif_participant_enum type); #ifdef __cplusplus } #endif /* Enumeration String */ static ESIF_INLINE esif_string esif_participant_enum_str ( enum esif_participant_enum index) { #define CREATE_PARTICIPANT_ENUM(pe) case pe: \ str = (esif_string) #pe;break; esif_string str = (esif_string) ESIF_NOT_AVAILABLE; switch (index) { CREATE_PARTICIPANT_ENUM(ESIF_PARTICIPANT_ENUM_ACPI) CREATE_PARTICIPANT_ENUM(ESIF_PARTICIPANT_ENUM_PCI) CREATE_PARTICIPANT_ENUM(ESIF_PARTICIPANT_ENUM_PLAT) CREATE_PARTICIPANT_ENUM(ESIF_PARTICIPANT_ENUM_CONJURE) } return str; } #ifdef ESIF_ATTR_USER typedef enum esif_action_type eEsifActionType; #endif /* Todo Move to Autogen.h */ enum esif_event_group { ESIF_EVENT_GROUP_DPTF = 0, ESIF_EVENT_GROUP_POWER = 1, ESIF_EVENT_GROUP_SENSOR = 2, ESIF_EVENT_GROUP_ACPI = 3, ESIF_EVENT_GROUP_CODE = 4 }; /* Enumeration String */ static ESIF_INLINE esif_string esif_event_group_enum_str ( enum esif_event_group group) { #define CREATE_EV_GROUP_ENUM(eg) case eg: \ str = (esif_string) #eg;break; esif_string str = (esif_string) ESIF_NOT_AVAILABLE; switch (group) { CREATE_EV_GROUP_ENUM(ESIF_EVENT_GROUP_DPTF) CREATE_EV_GROUP_ENUM(ESIF_EVENT_GROUP_POWER) CREATE_EV_GROUP_ENUM(ESIF_EVENT_GROUP_SENSOR) CREATE_EV_GROUP_ENUM(ESIF_EVENT_GROUP_ACPI) CREATE_EV_GROUP_ENUM(ESIF_EVENT_GROUP_CODE) } return str; } /* * Event Name: CONNECTED_STANDBY_ENTRY * Event GUID: FD34F756-F7B6-47DD-B3D5-0011A34E4337 * Event Desc: Enter connected standby */ #define CONNECTED_STANDBY_ENTRY {0xFD, 0x34, 0xF7, 0x56, 0xF7, 0xB6, 0x47, 0xDD, \ 0xB3, 0xD5, 0x00, 0x11, 0xA3, 0x4E, 0x43, 0x37} /* * Event Name: CONNECTED_STANDBY_EXIT * Event GUID: 9604508D-F4AA-4716-83D9-6EE951EBBEA9 * Event Desc: Exit connected standby */ #define CONNECTED_STANDBY_EXIT {0x96, 0x04, 0x50, 0x8D, 0xF4, 0xAA, 0x47, 0x16, \ 0x83, 0xD9, 0x6E, 0xE9, 0x51, 0xEB, 0xBE, 0xA9} /* * Event Name: ACTIVE_RELATIONSHIP_CHANGED * Event GUID: C7C5FC88-8AAC-42C2-8B51-21777033E75D * Event Desc: Active relationship table changed */ #define ACTIVE_RELATIONSHIP_CHANGED {0xC7, 0xC5, 0xFC, 0x88, 0x8A, 0xAC, 0x42, \ 0xC2, 0x8B, 0x51, 0x21, 0x77, 0x70, 0x33, \ 0xE7, 0x5D} /* * Event Name: THERMAL_RELATIONSHIP_CHANGED * Event GUID: 7E99E90E-0A22-4EEC-AD6C-908DEB21E9A9 * Event Desc: Thermal relationship table changed */ #define THERMAL_RELATIONSHIP_CHANGED {0x7E, 0x99, 0xE9, 0x0E, 0x0A, 0x22, 0x4E, \ 0xEC, 0xAD, 0x6C, 0x90, 0x8D, 0xEB, 0x21, \ 0xE9, 0xA9} /* * Event Name: FOREGROUND_CHANGED * Event GUID: 88E419E3-609B-4BDA-9A17-83DE899831FD * Event Desc: Foreground application changed */ #define FOREGROUND_CHANGED {0x88, 0xE4, 0x19, 0xE3, 0x60, 0x9B, 0x4B, 0xDA, \ 0x9A, 0x17, 0x83, 0xDE, 0x89, 0x98, 0x31, 0xFD} /* * Event Name: SUSPEND * Event GUID: 547F7465-D98A-40FD-AC12-E6D20F7B091B * Event Desc: Suspend Upper Framework */ #define SUSPEND {0x54, 0x7F, 0x74, 0x65, 0xD9, 0x8A, 0x40, 0xFD, 0xAC, 0x12, \ 0xE6, 0xD2, 0x0F, 0x7B, 0x09, 0x1B} /* * Event Name: RESUME * Event GUID: AB3E045F-6B51-4EC5-9330-EAB70836F02F * Event Desc: Resume Upper Framework */ #define RESUME {0xAB, 0x3E, 0x04, 0x5F, 0x6B, 0x51, 0x4E, 0xC5, 0x93, 0x30, \ 0xEA, 0xB7, 0x08, 0x36, 0xF0, 0x2F} /* * Event Name: CTDP_CAPABILITY_CHANGED * Event GUID: 68D16E98-2C89-4A3D-95C7-5DEEAA4FD73F * Event Desc: Config TDP Capability changed (Configurable TDP) */ #define CTDP_CAPABILITY_CHANGED {0x68, 0xD1, 0x6E, 0x98, 0x2C, 0x89, 0x4A, 0x3D, \ 0x95, 0xC7, 0x5D, 0xEE, 0xAA, 0x4F, 0xD7, 0x3F} /* * Event Name: CORE_CAPABILITY_CHANGED * Event GUID: 8487D740-62F7-4030-BE1A-C201377E0C18 * Event Desc: For future use */ #define CORE_CAPABILITY_CHANGED {0x84, 0x87, 0xD7, 0x40, 0x62, 0xF7, 0x40, 0x30, \ 0xBE, 0x1A, 0xC2, 0x01, 0x37, 0x7E, 0x0C, 0x18} /* * Event Name: DISPLAY_CAPABILITY_CHANGED * Event GUID: F1CDA338-0F3C-4F8D-A1D9-8033E672F672 * Event Desc: Display control upper/lower limits changed. */ #define DISPLAY_CAPABILITY_CHANGED {0xF1, 0xCD, 0xA3, 0x38, 0x0F, 0x3C, 0x4F, \ 0x8D, 0xA1, 0xD9, 0x80, 0x33, 0xE6, 0x72, \ 0xF6, 0x72} /* * Event Name: DISPLAY_STATUS_CHANGED * Event GUID: BDB4F356-CF69-4152-99A9-1DCE4972AB9D * Event Desc: Current Display brightness status has changed due to a user or * other override */ #define DISPLAY_STATUS_CHANGED {0xBD, 0xB4, 0xF3, 0x56, 0xCF, 0x69, 0x41, 0x52, \ 0x99, 0xA9, 0x1D, 0xCE, 0x49, 0x72, 0xAB, 0x9D} /* * Event Name: PERF_CAPABILITY_CHANGED * Event GUID: 9091810C-F301-44D6-B2B5-B301812E4D08 * Event Desc: Performance Control Upper/Lower Limits Changed */ #define PERF_CAPABILITY_CHANGED {0x90, 0x91, 0x81, 0x0C, 0xF3, 0x01, 0x44, 0xD6, \ 0xB2, 0xB5, 0xB3, 0x01, 0x81, 0x2E, 0x4D, 0x08} /* * Event Name: PERF_CONTROL_CHANGED * Event GUID: D8B5EA17-5486-40FC-A0C6-2AE92AEB3775 * Event Desc: For future use */ #define PERF_CONTROL_CHANGED {0xD8, 0xB5, 0xEA, 0x17, 0x54, 0x86, 0x40, 0xFC, \ 0xA0, 0xC6, 0x2A, 0xE9, 0x2A, 0xEB, 0x37, 0x75} /* * Event Name: POWER_CAPABILITY_CHANGED * Event GUID: 82C438DD-673B-46A6-995F-24CAF4644DCF * Event Desc: Power Control Capability Changed */ #define POWER_CAPABILITY_CHANGED {0x82, 0xC4, 0x38, 0xDD, 0x67, 0x3B, 0x46, \ 0xA6, 0x99, 0x5F, 0x24, 0xCA, 0xF4, 0x64, \ 0x4D, 0xCF} /* * Event Name: POWER_THRESHOLD_CROSSED * Event GUID: 68138891-C225-438A-8F43-04B071CBF4E3 * Event Desc: Programmable Threshold Power Event */ #define POWER_THRESHOLD_CROSSED {0x68, 0x13, 0x88, 0x91, 0xC2, 0x25, 0x43, 0x8A, \ 0x8F, 0x43, 0x04, 0xB0, 0x71, 0xCB, 0xF4, 0xE3} /* * Event Name: PRIORITY_CHANGED * Event GUID: 98077FF3-AD61-4E50-AFEE-51D0CE8DE396 * Event Desc: Domain priority has changed */ #define PRIORITY_CHANGED {0x98, 0x07, 0x7F, 0xF3, 0xAD, 0x61, 0x4E, 0x50, 0xAF, \ 0xEE, 0x51, 0xD0, 0xCE, 0x8D, 0xE3, 0x96} /* * Event Name: TEMP_THRESHOLD_CROSSED * Event GUID: 43CDD7D8-C96D-4EE7-9A4A-7EC5C2EE1B6E * Event Desc: Temperature Threshold Changed */ #define TEMP_THRESHOLD_CROSSED {0x43, 0xCD, 0xD7, 0xD8, 0xC9, 0x6D, 0x4E, 0xE7, \ 0x9A, 0x4A, 0x7E, 0xC5, 0xC2, 0xEE, 0x1B, 0x6E} /* * Event Name: SPEC_INFO_CHANGED * Event GUID: 75494A00-417C-4E51-9FAB-FBDD965577D4 * Event Desc: Participant Specific Information Changed */ #define SPEC_INFO_CHANGED {0x75, 0x49, 0x4A, 0x00, 0x41, 0x7C, 0x4E, 0x51, 0x9F, \ 0xAB, 0xFB, 0xDD, 0x96, 0x55, 0x77, 0xD4} /* * Event Name: CREATE * Event GUID: F3B70F0B-79BC-4414-BCF7-6389658E9FAB * Event Desc: Create Upper Framework (Participant) */ #define CREATE {0xF3, 0xB7, 0x0F, 0x0B, 0x79, 0xBC, 0x44, 0x14, 0xBC, 0xF7, \ 0x63, 0x89, 0x65, 0x8E, 0x9F, 0xAB} /* * Event Name: DESTROY * Event GUID: D58C6702-BB4E-4F82-87F9-E527FEBBBEE1 * Event Desc: Destroy Upper Framework (Participant) */ #define DESTROY {0xD5, 0x8C, 0x67, 0x02, 0xBB, 0x4E, 0x4F, 0x82, 0x87, 0xF9, \ 0xE5, 0x27, 0xFE, 0xBB, 0xBE, 0xE1} /* * Event Name: SHUTDOWN * Event GUID: DE7CA990-66C6-4F0F-B78F-E2774E3CE790 * Event Desc: Shutdown Upper Framework (Participant) */ #define SHUTDOWN {0xDE, 0x7C, 0xA9, 0x90, 0x66, 0xC6, 0x4F, 0x0F, 0xB7, 0x8F, \ 0xE2, 0x77, 0x4E, 0x3C, 0xE7, 0x90} /* * Event Name: ACPI * Event GUID: 722610FF-EDA3-4FED-BEAE-B70290011287 * Event Desc: ACPI Notify To ESIF Event Translation */ #define ACPI {0x72, 0x26, 0x10, 0xFF, 0xED, 0xA3, 0x4F, 0xED, 0xBE, 0xAE, 0xB7, \ 0x02, 0x90, 0x01, 0x12, 0x87} /* * Event Name: COOLING_MODE_ACOUSTIC_LIMIT_CHANGED * Event GUID: 0CB6C2E2-3242-40FC-845F-17F824FB857E * Event Desc: Cooling mode Acoustic Limit Changed */ #define COOLING_MODE_ACOUSTIC_LIMIT_CHANGED {0x0C, 0xB6, 0xC2, 0xE2, 0x32, 0x42, \ 0x40, 0xFC, 0x84, 0x5F, 0x17, 0xF8, \ 0x24, 0xFB, 0x85, 0x7E} /* * Event Name: COOLING_MODE_POWER_LIMIT_CHANGED * Event GUID: DBF7B2CF-3B16-4773-9CA9-DD74FF91D6BF * Event Desc: Cooling Mode Power Limit Changed */ #define COOLING_MODE_POWER_LIMIT_CHANGED {0xDB, 0xF7, 0xB2, 0xCF, 0x3B, 0x16, \ 0x47, 0x73, 0x9C, 0xA9, 0xDD, 0x74, \ 0xFF, 0x91, 0xD6, 0xBF} /* * Event Name: OS_LPM_MODE_CHANGED * Event GUID: 5569447B-6E8F-4FE2-94DE-C31DA011ECF7 * Event Desc: OS LPM Changed */ #define OS_LPM_MODE_CHANGED {0x55, 0x69, 0x44, 0x7B, 0x6E, 0x8F, 0x4F, 0xE2, \ 0x94, 0xDE, 0xC3, 0x1D, 0xA0, 0x11, 0xEC, 0xF7} /* * Event Name: PASSIVE_TABLE_CHANGED * Event GUID: 661C68E1-B73E-4D02-859B-F1C1505F90D1 * Event Desc: PSV Object Changed */ #define PASSIVE_TABLE_CHANGED {0x66, 0x1C, 0x68, 0xE1, 0xB7, 0x3E, 0x4D, 0x02, \ 0x85, 0x9B, 0xF1, 0xC1, 0x50, 0x5F, 0x90, 0xD1} /* * Event Name: SENSOR_ORIENTATION_CHANGED * Event GUID: 019C3571-3560-4EC6-BDED-884F6125B5F9 * Event Desc: Sensor Orientation Changed */ #define SENSOR_ORIENTATION_CHANGED {0x01, 0x9C, 0x35, 0x71, 0x35, 0x60, 0x4E, \ 0xC6, 0xBD, 0xED, 0x88, 0x4F, 0x61, 0x25, \ 0xB5, 0xF9} /* * Event Name: SENSOR_SPATIAL_ORIENTATION_CHANGED * Event GUID: 164B8FD7-C165-4C86-8E9B-4464B6EEC015 * Event Desc: Sensor Spatial Orientation Changed */ #define SENSOR_SPATIAL_ORIENTATION_CHANGED {0x16, 0x4B, 0x8F, 0xD7, 0xC1, 0x65, \ 0x4C, 0x86, 0x8E, 0x9B, 0x44, 0x64, \ 0xB6, 0xEE, 0xC0, 0x15} /* * Event Name: SENSOR_PROXIMITY_CHANGED * Event GUID: C7C83E34-519B-4650-A8B2-640E31F5BB0A * Event Desc: Sensor Proximity Changed */ #define SENSOR_PROXIMITY_CHANGED {0xC7, 0xC8, 0x3E, 0x34, 0x51, 0x9B, 0x46, \ 0x50, 0xA8, 0xB2, 0x64, 0x0E, 0x31, 0xF5, \ 0xBB, 0x0A} /* * Event Name: SYSTEM_COOLING_POLICY_CHANGED * Event GUID: 5C7D591E-2EA8-4DA1-85A4-476191404650 * Event Desc: System Cooling Policy */ #define SYSTEM_COOLING_POLICY_CHANGED {0x5C, 0x7D, 0x59, 0x1E, 0x2E, 0xA8, 0x4D, \ 0xA1, 0x85, 0xA4, 0x47, 0x61, 0x91, 0x40, \ 0x46, 0x50} /* * Event Name: LPM_MODE_CHANGED * Event GUID: DDADD3BF-2385-4E3B-B242-2793B81293AA * Event Desc: Non OS LPM Changed */ #define LPM_MODE_CHANGED {0xDD, 0xAD, 0xD3, 0xBF, 0x23, 0x85, 0x4E, 0x3B, 0xB2, \ 0x42, 0x27, 0x93, 0xB8, 0x12, 0x93, 0xAA} /* * Event Name: OS_CTDP_CAPABILITY_CHANGED * Event GUID: 07029cd8-4664-4698-95d8-43b2e9666596 * Event Desc: OS CTDP Capability Changed */ #define OS_CTDP_CAPABILITY_CHANGED {0x07, 0x02, 0x9c, 0xd8, 0x46, 0x64, 0x46, \ 0x98, 0x95, 0xd8, 0x43, 0xb2, 0xe9, 0x66, \ 0x65, 0x96} // Event Name: RF_PROFILE_CHANGED // Event GUID: C13C9EAF-9F51-4027-BFE2-E278152D238B // Event Desc: RF Profile Changed #define RF_PROFILE_CHANGED {0xC1, 0x3C, 0x9E, 0xAF, 0x9F, 0x51, 0x40, 0x27, \ 0xBF, 0xE2, 0xE2, 0x78, 0x15, 0x2D, 0x23, 0x8B} // Event Name: RF_CONNECTION_STATUS_CHANGED // Event GUID: 127FB178-2FF0-4286-8A3F-9161B6E87D57 // Event Desc: RF Connection Status Changed #define RF_CONNECTION_STATUS_CHANGED {0x12, 0x7F, 0xB1, 0x78, 0x2F, 0xF0, 0x42, 0x86, \ 0x8A, 0x3F, 0x91, 0x61, 0xB6, 0xE8, 0x7D, 0x57} // Event Name: LOG_VERBOSITY_CHANGED // Event GUID: F77BD545-C448-4B5F-99C8-D0BA02968665 // Event Desc: Log Verbosity Changed #define LOG_VERBOSITY_CHANGED {0xF7,0x7B,0xD5,0x45,0xC4,0x48,0x4B,0x5F, \ 0x99,0xC8,0xD0,0xBA,0x02,0x96,0x86,0x65} #endif /* _ESIF_AUTOGEN_H_ */