brintos

brintos / linux-shallow public Read only

0
0
Text · 7.7 KiB · 820820e Raw
242 lines · c
1// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.02/******************************************************************************3 *4 * Module Name: utglobal - Global variables for the ACPI subsystem5 *6 * Copyright (C) 2000 - 2023, Intel Corp.7 *8 *****************************************************************************/9 10#define EXPORT_ACPI_INTERFACES11#define DEFINE_ACPI_GLOBALS12 13#include <acpi/acpi.h>14#include "accommon.h"15 16#define _COMPONENT          ACPI_UTILITIES17ACPI_MODULE_NAME("utglobal")18 19/*******************************************************************************20 *21 * Static global variable initialization.22 *23 ******************************************************************************/24/* Various state name strings */25const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT] = {26	"\\_S0_",27	"\\_S1_",28	"\\_S2_",29	"\\_S3_",30	"\\_S4_",31	"\\_S5_"32};33 34const char *acpi_gbl_lowest_dstate_names[ACPI_NUM_sx_w_METHODS] = {35	"_S0W",36	"_S1W",37	"_S2W",38	"_S3W",39	"_S4W"40};41 42const char *acpi_gbl_highest_dstate_names[ACPI_NUM_sx_d_METHODS] = {43	"_S1D",44	"_S2D",45	"_S3D",46	"_S4D"47};48 49/* Hex-to-ascii */50 51const char acpi_gbl_lower_hex_digits[] = "0123456789abcdef";52const char acpi_gbl_upper_hex_digits[] = "0123456789ABCDEF";53 54/*******************************************************************************55 *56 * Namespace globals57 *58 ******************************************************************************/59/*60 * Predefined ACPI Names (Built-in to the Interpreter)61 *62 * NOTES:63 * 1) _SB_ is defined to be a device to allow \_SB_._INI to be run64 *    during the initialization sequence.65 * 2) _TZ_ is defined to be a thermal zone in order to allow ASL code to66 *    perform a Notify() operation on it. 09/2010: Changed to type Device.67 *    This still allows notifies, but does not confuse host code that68 *    searches for valid thermal_zone objects.69 */70const struct acpi_predefined_names acpi_gbl_pre_defined_names[] = {71	{"_GPE", ACPI_TYPE_LOCAL_SCOPE, NULL},72	{"_PR_", ACPI_TYPE_LOCAL_SCOPE, NULL},73	{"_SB_", ACPI_TYPE_DEVICE, NULL},74	{"_SI_", ACPI_TYPE_LOCAL_SCOPE, NULL},75	{"_TZ_", ACPI_TYPE_DEVICE, NULL},76	/*77	 * March, 2015:78	 * The _REV object is in the process of being deprecated, because79	 * other ACPI implementations permanently return 2. Thus, it80	 * has little or no value. Return 2 for compatibility with81	 * other ACPI implementations.82	 */83	{"_REV", ACPI_TYPE_INTEGER, ACPI_CAST_PTR(char, 2)},84	{"_OS_", ACPI_TYPE_STRING, ACPI_OS_NAME},85	{"_GL_", ACPI_TYPE_MUTEX, ACPI_CAST_PTR(char, 1)},86	{"_OSI", ACPI_TYPE_METHOD, ACPI_CAST_PTR(char, 1)},87 88	/* Table terminator */89 90	{NULL, ACPI_TYPE_ANY, NULL}91};92 93#if (!ACPI_REDUCED_HARDWARE)94/******************************************************************************95 *96 * Event and Hardware globals97 *98 ******************************************************************************/99 100struct acpi_bit_register_info acpi_gbl_bit_register_info[ACPI_NUM_BITREG] = {101	/* Name                                     Parent Register             Register Bit Position                   Register Bit Mask       */102 103	/* ACPI_BITREG_TIMER_STATUS         */ {ACPI_REGISTER_PM1_STATUS,104						ACPI_BITPOSITION_TIMER_STATUS,105						ACPI_BITMASK_TIMER_STATUS},106	/* ACPI_BITREG_BUS_MASTER_STATUS    */ {ACPI_REGISTER_PM1_STATUS,107						ACPI_BITPOSITION_BUS_MASTER_STATUS,108						ACPI_BITMASK_BUS_MASTER_STATUS},109	/* ACPI_BITREG_GLOBAL_LOCK_STATUS   */ {ACPI_REGISTER_PM1_STATUS,110						ACPI_BITPOSITION_GLOBAL_LOCK_STATUS,111						ACPI_BITMASK_GLOBAL_LOCK_STATUS},112	/* ACPI_BITREG_POWER_BUTTON_STATUS  */ {ACPI_REGISTER_PM1_STATUS,113						ACPI_BITPOSITION_POWER_BUTTON_STATUS,114						ACPI_BITMASK_POWER_BUTTON_STATUS},115	/* ACPI_BITREG_SLEEP_BUTTON_STATUS  */ {ACPI_REGISTER_PM1_STATUS,116						ACPI_BITPOSITION_SLEEP_BUTTON_STATUS,117						ACPI_BITMASK_SLEEP_BUTTON_STATUS},118	/* ACPI_BITREG_RT_CLOCK_STATUS      */ {ACPI_REGISTER_PM1_STATUS,119						ACPI_BITPOSITION_RT_CLOCK_STATUS,120						ACPI_BITMASK_RT_CLOCK_STATUS},121	/* ACPI_BITREG_WAKE_STATUS          */ {ACPI_REGISTER_PM1_STATUS,122						ACPI_BITPOSITION_WAKE_STATUS,123						ACPI_BITMASK_WAKE_STATUS},124	/* ACPI_BITREG_PCIEXP_WAKE_STATUS   */ {ACPI_REGISTER_PM1_STATUS,125						ACPI_BITPOSITION_PCIEXP_WAKE_STATUS,126						ACPI_BITMASK_PCIEXP_WAKE_STATUS},127 128	/* ACPI_BITREG_TIMER_ENABLE         */ {ACPI_REGISTER_PM1_ENABLE,129						ACPI_BITPOSITION_TIMER_ENABLE,130						ACPI_BITMASK_TIMER_ENABLE},131	/* ACPI_BITREG_GLOBAL_LOCK_ENABLE   */ {ACPI_REGISTER_PM1_ENABLE,132						ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE,133						ACPI_BITMASK_GLOBAL_LOCK_ENABLE},134	/* ACPI_BITREG_POWER_BUTTON_ENABLE  */ {ACPI_REGISTER_PM1_ENABLE,135						ACPI_BITPOSITION_POWER_BUTTON_ENABLE,136						ACPI_BITMASK_POWER_BUTTON_ENABLE},137	/* ACPI_BITREG_SLEEP_BUTTON_ENABLE  */ {ACPI_REGISTER_PM1_ENABLE,138						ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE,139						ACPI_BITMASK_SLEEP_BUTTON_ENABLE},140	/* ACPI_BITREG_RT_CLOCK_ENABLE      */ {ACPI_REGISTER_PM1_ENABLE,141						ACPI_BITPOSITION_RT_CLOCK_ENABLE,142						ACPI_BITMASK_RT_CLOCK_ENABLE},143	/* ACPI_BITREG_PCIEXP_WAKE_DISABLE  */ {ACPI_REGISTER_PM1_ENABLE,144						ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE,145						ACPI_BITMASK_PCIEXP_WAKE_DISABLE},146 147	/* ACPI_BITREG_SCI_ENABLE           */ {ACPI_REGISTER_PM1_CONTROL,148						ACPI_BITPOSITION_SCI_ENABLE,149						ACPI_BITMASK_SCI_ENABLE},150	/* ACPI_BITREG_BUS_MASTER_RLD       */ {ACPI_REGISTER_PM1_CONTROL,151						ACPI_BITPOSITION_BUS_MASTER_RLD,152						ACPI_BITMASK_BUS_MASTER_RLD},153	/* ACPI_BITREG_GLOBAL_LOCK_RELEASE  */ {ACPI_REGISTER_PM1_CONTROL,154						ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE,155						ACPI_BITMASK_GLOBAL_LOCK_RELEASE},156	/* ACPI_BITREG_SLEEP_TYPE           */ {ACPI_REGISTER_PM1_CONTROL,157						ACPI_BITPOSITION_SLEEP_TYPE,158						ACPI_BITMASK_SLEEP_TYPE},159	/* ACPI_BITREG_SLEEP_ENABLE         */ {ACPI_REGISTER_PM1_CONTROL,160						ACPI_BITPOSITION_SLEEP_ENABLE,161						ACPI_BITMASK_SLEEP_ENABLE},162 163	/* ACPI_BITREG_ARB_DIS              */ {ACPI_REGISTER_PM2_CONTROL,164						ACPI_BITPOSITION_ARB_DISABLE,165						ACPI_BITMASK_ARB_DISABLE}166};167 168struct acpi_fixed_event_info acpi_gbl_fixed_event_info[ACPI_NUM_FIXED_EVENTS] = {169	/* ACPI_EVENT_PMTIMER       */ {ACPI_BITREG_TIMER_STATUS,170					ACPI_BITREG_TIMER_ENABLE,171					ACPI_BITMASK_TIMER_STATUS,172					ACPI_BITMASK_TIMER_ENABLE},173	/* ACPI_EVENT_GLOBAL        */ {ACPI_BITREG_GLOBAL_LOCK_STATUS,174					ACPI_BITREG_GLOBAL_LOCK_ENABLE,175					ACPI_BITMASK_GLOBAL_LOCK_STATUS,176					ACPI_BITMASK_GLOBAL_LOCK_ENABLE},177	/* ACPI_EVENT_POWER_BUTTON  */ {ACPI_BITREG_POWER_BUTTON_STATUS,178					ACPI_BITREG_POWER_BUTTON_ENABLE,179					ACPI_BITMASK_POWER_BUTTON_STATUS,180					ACPI_BITMASK_POWER_BUTTON_ENABLE},181	/* ACPI_EVENT_SLEEP_BUTTON  */ {ACPI_BITREG_SLEEP_BUTTON_STATUS,182					ACPI_BITREG_SLEEP_BUTTON_ENABLE,183					ACPI_BITMASK_SLEEP_BUTTON_STATUS,184					ACPI_BITMASK_SLEEP_BUTTON_ENABLE},185	/* ACPI_EVENT_RTC           */ {ACPI_BITREG_RT_CLOCK_STATUS,186					ACPI_BITREG_RT_CLOCK_ENABLE,187					ACPI_BITMASK_RT_CLOCK_STATUS,188					ACPI_BITMASK_RT_CLOCK_ENABLE},189};190#endif				/* !ACPI_REDUCED_HARDWARE */191 192#if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER)193 194/* to_pld macro: compile/disassemble strings */195 196const char *acpi_gbl_pld_panel_list[] = {197	"TOP",198	"BOTTOM",199	"LEFT",200	"RIGHT",201	"FRONT",202	"BACK",203	"UNKNOWN",204	NULL205};206 207const char *acpi_gbl_pld_vertical_position_list[] = {208	"UPPER",209	"CENTER",210	"LOWER",211	NULL212};213 214const char *acpi_gbl_pld_horizontal_position_list[] = {215	"LEFT",216	"CENTER",217	"RIGHT",218	NULL219};220 221const char *acpi_gbl_pld_shape_list[] = {222	"ROUND",223	"OVAL",224	"SQUARE",225	"VERTICALRECTANGLE",226	"HORIZONTALRECTANGLE",227	"VERTICALTRAPEZOID",228	"HORIZONTALTRAPEZOID",229	"UNKNOWN",230	"CHAMFERED",231	NULL232};233#endif234 235/* Public globals */236 237ACPI_EXPORT_SYMBOL(acpi_gbl_FADT)238ACPI_EXPORT_SYMBOL(acpi_dbg_level)239ACPI_EXPORT_SYMBOL(acpi_dbg_layer)240ACPI_EXPORT_SYMBOL(acpi_gpe_count)241ACPI_EXPORT_SYMBOL(acpi_current_gpe_count)242