Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a88e0ce6 authored by Bob Moore's avatar Bob Moore Committed by Rafael J. Wysocki
Browse files

ACPICA: ACPI 6.1: Add full support for this version of ACPI spec

ACPICA commit 5f21bddaa2cec035ca80608803ce2f0858d4f387

Small changes:
1) A couple new predefined names
2) New _HID values
3) New subtable for HEST

Link: https://github.com/acpica/acpica/commit/5f21bdda


Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent b94cd811
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -523,6 +523,9 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Fixed-length (4 Int) */
	PACKAGE_INFO(ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4, 0, 0, 0),

	{{"_FIT", METHOD_0ARGS,
	  METHOD_RETURNS(ACPI_RTYPE_BUFFER)}},	/* ACPI 6.0 */

	{{"_FIX", METHOD_0ARGS,
	  METHOD_RETURNS(ACPI_RTYPE_PACKAGE)}},	/* Variable-length (Ints) */
	PACKAGE_INFO(ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0, 0, 0, 0),
@@ -1053,6 +1056,12 @@ const union acpi_predefined_info acpi_gbl_predefined_methods[] = {
	  METHOD_RETURNS(ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING |
			 ACPI_RTYPE_BUFFER)}},

	{{"_WPC", METHOD_0ARGS,
	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},	/* ACPI 6.1 */

	{{"_WPP", METHOD_0ARGS,
	  METHOD_RETURNS(ACPI_RTYPE_INTEGER)}},	/* ACPI 6.1 */

	PACKAGE_INFO(0, 0, 0, 0, 0, 0)	/* Table terminator */
};
#else
+17 −13
Original line number Diff line number Diff line
@@ -446,7 +446,7 @@ const char *acpi_ut_get_mutex_name(u32 mutex_id)

/* Names for Notify() values, used for debug output */

static const char *acpi_gbl_generic_notify[ACPI_NOTIFY_MAX + 1] = {
static const char *acpi_gbl_generic_notify[ACPI_GENERIC_NOTIFY_MAX + 1] = {
	/* 00 */ "Bus Check",
	/* 01 */ "Device Check",
	/* 02 */ "Device Wake",
@@ -460,48 +460,52 @@ static const char *acpi_gbl_generic_notify[ACPI_NOTIFY_MAX + 1] = {
	/* 0A */ "Reserved",
	/* 0B */ "System Locality Update",
					/* 0C */ "Shutdown Request",
					/* Reserved in ACPI 6.0 */
	/* 0D */ "System Resource Affinity Update"
};

static const char *acpi_gbl_device_notify[4] = {
static const char *acpi_gbl_device_notify[5] = {
	/* 80 */ "Status Change",
	/* 81 */ "Information Change",
	/* 82 */ "Device-Specific Change",
	/* 83 */ "Device-Specific Change"
	/* 83 */ "Device-Specific Change",
	/* 84 */ "Reserved"
};

static const char *acpi_gbl_processor_notify[4] = {
static const char *acpi_gbl_processor_notify[5] = {
	/* 80 */ "Performance Capability Change",
	/* 81 */ "C-State Change",
	/* 82 */ "Throttling Capability Change",
	/* 83 */ "Device-Specific Change"
	/* 83 */ "Guaranteed Change",
	/* 84 */ "Minimum Excursion"
};

static const char *acpi_gbl_thermal_notify[4] = {
static const char *acpi_gbl_thermal_notify[5] = {
	/* 80 */ "Thermal Status Change",
	/* 81 */ "Thermal Trip Point Change",
	/* 82 */ "Thermal Device List Change",
	/* 83 */ "Thermal Relationship Change"
	/* 83 */ "Thermal Relationship Change",
	/* 84 */ "Reserved"
};

const char *acpi_ut_get_notify_name(u32 notify_value, acpi_object_type type)
{

	/* 00 - 0D are common to all object types */
	/* 00 - 0D are "common to all object types" (from ACPI Spec) */

	if (notify_value <= ACPI_NOTIFY_MAX) {
	if (notify_value <= ACPI_GENERIC_NOTIFY_MAX) {
		return (acpi_gbl_generic_notify[notify_value]);
	}

	/* 0D - 7F are reserved */
	/* 0E - 7F are reserved */

	if (notify_value <= ACPI_MAX_SYS_NOTIFY) {
		return ("Reserved");
	}

	/* 80 - 83 are per-object-type */
	/* 80 - 84 are per-object-type */

	if (notify_value <= 0x83) {
	if (notify_value <= ACPI_SPECIFIC_NOTIFY_MAX) {
		switch (type) {
		case ACPI_TYPE_ANY:
		case ACPI_TYPE_DEVICE:
+4 −2
Original line number Diff line number Diff line
@@ -236,7 +236,8 @@ enum acpi_einj_actions {
	ACPI_EINJ_CHECK_BUSY_STATUS = 6,
	ACPI_EINJ_GET_COMMAND_STATUS = 7,
	ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS = 8,
	ACPI_EINJ_ACTION_RESERVED = 9,	/* 9 and greater are reserved */
	ACPI_EINJ_GET_EXECUTE_TIMINGS = 9,
	ACPI_EINJ_ACTION_RESERVED = 10,	/* 10 and greater are reserved */
	ACPI_EINJ_TRIGGER_ERROR = 0xFF	/* Except for this value */
};

@@ -348,7 +349,8 @@ enum acpi_erst_actions {
	ACPI_ERST_GET_ERROR_RANGE = 13,
	ACPI_ERST_GET_ERROR_LENGTH = 14,
	ACPI_ERST_GET_ERROR_ATTRIBUTES = 15,
	ACPI_ERST_ACTION_RESERVED = 16	/* 16 and greater are reserved */
	ACPI_ERST_EXECUTE_TIMINGS = 16,
	ACPI_ERST_ACTION_RESERVED = 17	/* 17 and greater are reserved */
};

/* Values for Instruction field above */
+2 −1
Original line number Diff line number Diff line
@@ -630,7 +630,8 @@ typedef u64 acpi_integer;
#define ACPI_NOTIFY_SHUTDOWN_REQUEST    (u8) 0x0C
#define ACPI_NOTIFY_AFFINITY_UPDATE     (u8) 0x0D

#define ACPI_NOTIFY_MAX                 0x0D
#define ACPI_GENERIC_NOTIFY_MAX         0x0D
#define ACPI_SPECIFIC_NOTIFY_MAX        0x84

/*
 * Types associated with ACPI names and objects. The first group of