Commit 55816dc1 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'acpi-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI updates from Rafael Wysocki:
 "These update the ACPICA code in the kernel to the most recent upstream
  revision (20200110), add new hardware support to a handful of ACPI
  drivers, make the ACPI fan driver expose power states information for
  fans, add some more quirks, fix bugs and clean up assorted things.

  Specifics:

   - Update the ACPICA code in the kernel to upstream revision 20200110
     including:
      - Update of copyright notices to 2020 (Bob Moore).
      - Dispatcher fix to always generate buffer objects for the ASL
        create_field() operator (Maximilian Luz).
      - Debugger cleanup (Colin Ian King).
      - Disassembler change to create buffer fields in
        ACPI_PARSE_LOAD_PASS1 (Erik Kaneda).
      - UNIX line ending support for non-windows builds in acpisrc (Erik
        Kaneda).

   - Update the list of ACPICA maintainers (Rafael Wysocki).

   - Add Intel Tiger Lake ACPI device IDs to the ACPI DPTF, ACPI fan,
     int340x_thermal and intel-hid drivers (Gayatri Kammela).

   - Make the ACPI fan driver create additional sysfs attributes to
     expose power states information for fans (Srinivas Pandruvada).

   - Fix up the ACPI battery driver to deal with unexpected battery
     capacity information in a better way (Hans de Goede).

   - Add ACPI backlight quirks for Lenovo E41-25/45 and MSI MS-7721
     boards (Aaron Ma, Hans de Goede).

   - Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch to
     the ACPI button driver (Jason Ekstrand).

   - Drop TIMER_DEFERRABLE from the GHES polling mode timer function
     flags to make it run precisely at the configured time (Bhaskar
     Upadhaya).

   - Fix race condition related to the reference counting of query
     handlers in the ACPI EC driver (Rafael Wysocki).

   - Fix ACPI tools build issue (Zhengyuan Liu).

   - Replace dma_request_slave_channel() with dma_request_chan() in the
     firmware guide documentation for ACPI (Peter Ujfalusi).

   - Fix typo in a comment and clean up function parameter data type
     inconsistencies (Kacper Piwiński, Tian Tao)"

* tag 'acpi-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)
  ACPICA: Update version to 20200110
  ACPICA: All acpica: Update copyrights to 2020 Including tool signons.
  apei/ghes: Do not delay GHES polling
  ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch
  ACPI: PPTT: Consistently use unsigned int as parameter type
  ACPI: EC: Reference count query handlers under lock
  ACPICA: Update the list of maintainers
  ACPICA: Update version to 20191213
  ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator
  ACPICA: acpisrc: add unix line ending support for non-windows build
  ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1
  ACPICA: debugger: fix spelling mistake "adress" -> "address"
  ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards
  docs: firmware-guide: ACPI: Replace dma_request_slave_channel() with dma_request_chan()
  thermal: int340x_thermal: Add Tiger Lake ACPI device IDs
  platform/x86: intel-hid: Add Tiger Lake ACPI device ID
  ACPI: fan: Add Tiger Lake ACPI device ID
  ACPI: DPTF: Add Tiger Lake ACPI device IDs
  ACPI: fan: Expose fan performance state information
  tools/power/acpi: fix compilation error
  ...
parents 6d277aca ca11abf1
......@@ -74,6 +74,7 @@ Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com>
Domen Puncer <domen@coderock.org>
Douglas Gilbert <dougg@torque.net>
Ed L. Cashin <ecashin@coraid.com>
Erik Kaneda <erik.kaneda@intel.com> <erik.schmauss@intel.com>
Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Felipe W Damasio <felipewd@terra.com.br>
Felix Kuhling <fxkuehl@gmx.de>
......
.. SPDX-License-Identifier: GPL-2.0
===========================
ACPI Fan Performance States
===========================
When the optional _FPS object is present under an ACPI device representing a
fan (for example, PNP0C0B or INT3404), the ACPI fan driver creates additional
"state*" attributes in the sysfs directory of the ACPI device in question.
These attributes list properties of fan performance states.
For more information on _FPS refer to the ACPI specification at:
http://uefi.org/specifications
For instance, the contents of the INT3404 ACPI device sysfs directory
may look as follows::
$ ls -l /sys/bus/acpi/devices/INT3404:00/
total 0
...
-r--r--r-- 1 root root 4096 Dec 13 20:38 state0
-r--r--r-- 1 root root 4096 Dec 13 20:38 state1
-r--r--r-- 1 root root 4096 Dec 13 20:38 state10
-r--r--r-- 1 root root 4096 Dec 13 20:38 state11
-r--r--r-- 1 root root 4096 Dec 13 20:38 state2
-r--r--r-- 1 root root 4096 Dec 13 20:38 state3
-r--r--r-- 1 root root 4096 Dec 13 20:38 state4
-r--r--r-- 1 root root 4096 Dec 13 20:38 state5
-r--r--r-- 1 root root 4096 Dec 13 20:38 state6
-r--r--r-- 1 root root 4096 Dec 13 20:38 state7
-r--r--r-- 1 root root 4096 Dec 13 20:38 state8
-r--r--r-- 1 root root 4096 Dec 13 20:38 state9
-r--r--r-- 1 root root 4096 Dec 13 01:00 status
...
where each of the "state*" files represents one performance state of the fan
and contains a colon-separated list of 5 integer numbers (fields) with the
following interpretation::
control_percent:trip_point_index:speed_rpm:noise_level_mdb:power_mw
* ``control_percent``: The percent value to be used to set the fan speed to a
specific level using the _FSL object (0-100).
* ``trip_point_index``: The active cooling trip point number that corresponds
to this performance state (0-9).
* ``speed_rpm``: Speed of the fan in rotations per minute.
* ``noise_level_mdb``: Audible noise emitted by the fan in this state in
millidecibels.
* ``power_mw``: Power draw of the fan in this state in milliwatts.
For example::
$cat /sys/bus/acpi/devices/INT3404:00/state1
25:0:3200:12500:1250
When a given field is not populated or its value provided by the platform
firmware is invalid, the "not-defined" string is shown instead of the value.
......@@ -12,3 +12,4 @@ the Linux ACPI support.
dsdt-override
ssdt-overlays
cppc_sysfs
fan_performance_states
......@@ -71,8 +71,8 @@ DMA support
DMA controllers enumerated via ACPI should be registered in the system to
provide generic access to their resources. For example, a driver that would
like to be accessible to slave devices via generic API call
dma_request_slave_channel() must register itself at the end of the probe
function like this::
dma_request_chan() must register itself at the end of the probe function like
this::
err = devm_acpi_dma_controller_register(dev, xlate_func, dw);
/* Handle the error if it's not a case of !CONFIG_ACPI */
......@@ -112,15 +112,15 @@ could look like::
}
#endif
dma_request_slave_channel() will call xlate_func() for each registered DMA
controller. In the xlate function the proper channel must be chosen based on
dma_request_chan() will call xlate_func() for each registered DMA controller.
In the xlate function the proper channel must be chosen based on
information in struct acpi_dma_spec and the properties of the controller
provided by struct acpi_dma.
Clients must call dma_request_slave_channel() with the string parameter that
corresponds to a specific FixedDMA resource. By default "tx" means the first
entry of the FixedDMA resource array, "rx" means the second entry. The table
below shows a layout::
Clients must call dma_request_chan() with the string parameter that corresponds
to a specific FixedDMA resource. By default "tx" means the first entry of the
FixedDMA resource array, "rx" means the second entry. The table below shows a
layout::
Device (I2C0)
{
......
......@@ -345,7 +345,7 @@ F: drivers/acpi/apei/
ACPI COMPONENT ARCHITECTURE (ACPICA)
M: Robert Moore <robert.moore@intel.com>
M: Erik Schmauss <erik.schmauss@intel.com>
M: Erik Kaneda <erik.kaneda@intel.com>
M: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
L: linux-acpi@vger.kernel.org
L: devel@acpica.org
......
......@@ -2187,7 +2187,7 @@ int acpi_video_register(void)
if (register_count) {
/*
* if the function of acpi_video_register is already called,
* don't register the acpi_vide_bus again and return no error.
* don't register the acpi_video_bus again and return no error.
*/
goto leave;
}
......
......@@ -3,7 +3,7 @@
*
* Module Name: acapps - common include for ACPI applications/tools
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......@@ -17,7 +17,7 @@
/* Common info for tool signons */
#define ACPICA_NAME "Intel ACPI Component Architecture"
#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2019 Intel Corporation"
#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2020 Intel Corporation"
#if ACPI_MACHINE_WIDTH == 64
#define ACPI_WIDTH " (64-bit version)"
......
......@@ -3,7 +3,7 @@
*
* Name: accommon.h - Common include files for generation of ACPICA source
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: acapps - common include for ACPI applications/tools
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acdebug.h - ACPI/AML debugger
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acdispat.h - dispatcher (parser to interpreter interface)
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acevents.h - Event subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acglobal.h - Declarations for global variables
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: achware.h -- hardware specific interfaces
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acinterp.h - Interpreter subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: aclocal.h - Internal data types used across the ACPI subsystem
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acmacros.h - C macros for the entire subsystem.
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acnamesp.h - Namespace subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acobject.h - Definition of union acpi_operand_object (Internal object only)
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......@@ -260,7 +260,8 @@ struct acpi_object_index_field {
/* The buffer_field is different in that it is part of a Buffer, not an op_region */
struct acpi_object_buffer_field {
ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO union acpi_operand_object *buffer_obj; /* Containing Buffer object */
ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u8 is_create_field; /* Special case for objects created by create_field() */
union acpi_operand_object *buffer_obj; /* Containing Buffer object */
};
/******************************************************************************
......
......@@ -3,7 +3,7 @@
*
* Name: acopcode.h - AML opcode information for the AML parser and interpreter
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: acparser.h - AML Parser subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acpredef - Information table for ACPI predefined methods and objects
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acresrc.h - Resource Manager function prototypes
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acstruct.h - Internal structs
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: actables.h - ACPI table management
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -5,7 +5,7 @@
* Declarations and definitions contained herein are derived
* directly from the ACPI specification.
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: amlresrc.h - AML resource descriptors
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dbhistry - debugger HISTORY command
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -816,7 +816,7 @@ acpi_db_command_dispatch(char *input_buffer,
if (ACPI_FAILURE(status)
|| temp64 >= ACPI_NUM_PREDEFINED_REGIONS) {
acpi_os_printf
("Invalid adress space ID: must be between 0 and %u inclusive\n",
("Invalid address space ID: must be between 0 and %u inclusive\n",
ACPI_NUM_PREDEFINED_REGIONS - 1);
return (AE_OK);
}
......
......@@ -4,7 +4,7 @@
* Module Name: dsargs - Support for execution of dynamic arguments for static
* objects (regions, fields, buffer fields, etc.)
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: dscontrol - Support for execution control opcodes -
* if/else/while/return
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsdebug - Parser/Interpreter interface - debugging
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsfield - Dispatcher field routines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......@@ -243,7 +243,7 @@ acpi_ds_create_buffer_field(union acpi_parse_object *op,
* FUNCTION: acpi_ds_get_field_names
*
* PARAMETERS: info - create_field info structure
* ` walk_state - Current method state
* walk_state - Current method state
* arg - First parser arg for the field name list
*
* RETURN: Status
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsinit - Object initialization namespace walk
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsmethod - Parser/Interpreter interface - control method parsing
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsobject - Dispatcher object management routines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dsopcode - Dispatcher support for regions and fields
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......@@ -217,6 +217,8 @@ acpi_ds_init_buffer_field(u16 aml_opcode,
}
obj_desc->buffer_field.buffer_obj = buffer_desc;
obj_desc->buffer_field.is_create_field =
aml_opcode == AML_CREATE_FIELD_OP;
/* Reference count for buffer_desc inherits obj_desc count */
......
......@@ -3,7 +3,7 @@
*
* Module Name: dspkginit - Completion of deferred package initialization
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: dswexec - Dispatcher method execution callbacks;
* dispatch to interpreter.
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswload - Dispatcher first pass namespace load callbacks
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......@@ -410,6 +410,27 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state)
ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "Op=%p State=%p\n", op,
walk_state));
/*
* Disassembler: handle create field operators here.
*
* create_buffer_field is a deferred op that is typically processed in load
* pass 2. However, disassembly of control method contents walk the parse
* tree with ACPI_PARSE_LOAD_PASS1 and AML_CREATE operators are processed
* in a later walk. This is a problem when there is a control method that
* has the same name as the AML_CREATE object. In this case, any use of the
* name segment will be detected as a method call rather than a reference
* to a buffer field.
*
* This earlier creation during disassembly solves this issue by inserting
* the named object in the ACPI namespace so that references to this name
* would be a name string rather than a method call.
*/
if ((walk_state->parse_flags & ACPI_PARSE_DISASSEMBLE) &&
(walk_state->op_info->flags & AML_CREATE)) {
status = acpi_ds_create_buffer_field(op, walk_state);
return_ACPI_STATUS(status);
}
/* We are only interested in opcodes that have an associated name */
if (!(walk_state->op_info->flags & (AML_NAMED | AML_FIELD))) {
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswload2 - Dispatcher second pass namespace load callbacks
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswscope - Scope stack manipulation
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: dswstate - Dispatcher parse tree walk management routines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evevent - Fixed Event handling and dispatch
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evglock - Global Lock support
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpe - General Purpose Event handling and dispatch
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpeblk - GPE block creation and initialization.
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpeinit - System GPE initialization and update
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evgpeutil - GPE utilities
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evhandler - Support for Address Space handlers
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evmisc - Miscellaneous event manager support functions
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evregion - Operation Region support
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evrgnini- ACPI address_space (op_region) init
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evxface - External interfaces for ACPI events
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evxfevnt - External Interfaces, ACPI event disable/enable
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: evxfgpe - External Interfaces for General Purpose Events (GPEs)
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: evxfregn - External Interfaces, ACPI Operation Regions and
* Address Spaces.
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exconcat - Concatenate-type AML operators
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exconfig - Namespace reconfiguration (Load/Unload opcodes)
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exconvrt - Object conversion routines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: excreate - Named object creation
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exdebug - Support for stores to the AML Debug Object
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exdump - Interpreter debug output routines
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exfield - AML execution - field_unit read/write
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......@@ -96,7 +96,8 @@ acpi_ex_get_protocol_buffer_length(u32 protocol_id, u32 *return_length)
* RETURN: Status
*
* DESCRIPTION: Read from a named field. Returns either an Integer or a
* Buffer, depending on the size of the field.
* Buffer, depending on the size of the field and whether if a
* field is created by the create_field() operator.
*
******************************************************************************/
......@@ -154,12 +155,17 @@ acpi_ex_read_data_from_field(struct acpi_walk_state *walk_state,
* the use of arithmetic operators on the returned value if the
* field size is equal or smaller than an Integer.
*
* However, all buffer fields created by create_field operator needs to
* remain as a buffer to match other AML interpreter implementations.
*
* Note: Field.length is in bits.
*/
buffer_length =
(acpi_size)ACPI_ROUND_BITS_UP_TO_BYTES(obj_desc->field.bit_length);
if (buffer_length > acpi_gbl_integer_byte_width) {
if (buffer_length > acpi_gbl_integer_byte_width ||
(obj_desc->common.type == ACPI_TYPE_BUFFER_FIELD &&
obj_desc->buffer_field.is_create_field)) {
/* Field is too large for an Integer, create a Buffer instead */
......
......@@ -3,7 +3,7 @@
*
* Module Name: exfldio - Aml Field I/O
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exmutex - ASL Mutex Acquire/Release functions
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exnames - interpreter/scanner name load/execute
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg1 - AML execution - opcodes with 1 argument
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg2 - AML execution - opcodes with 2 arguments
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg3 - AML execution - opcodes with 3 arguments
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exoparg6 - AML execution - opcodes with 6 arguments
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exprep - ACPI AML field prep utilities
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exregion - ACPI default op_region (address space) handlers
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exresnte - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exresolv - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exresop - AML Interpreter operand/object resolution
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exserial - field_unit support for serial address spaces
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exstore - AML Interpreter object store support
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: exstoren - AML Interpreter object store support,
* Store to Node (namespace object)
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exstorob - AML object store support, store to object
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exsystem - Interface to OS services
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: extrace - Support for interpreter execution tracing
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: exutils - interpreter/scanner utilities
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Name: hwesleep.c - ACPI Hardware Sleep/Wake Support functions for the
* extended FADT-V5 sleep registers.
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwgpe - Low level GPE enable/disable/clear functions
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Name: hwsleep.c - ACPI Hardware Sleep/Wake Support functions for the
* original/legacy sleep/PM registers.
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: hwtimer.c - ACPI Power Management Timer Interface
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwvalid - I/O request validation
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: hwxface - Public ACPICA hardware interfaces
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Name: hwxfsleep.c - ACPI Hardware Sleep/Wake External Interfaces
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: nsarguments - Validation of args for ACPI predefined methods
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -4,7 +4,7 @@
* Module Name: nsconvert - Object conversions for objects returned by
* predefined methods
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: nsdump - table dumping routines for debug
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: nsdump - table dumping routines for debug
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: nsinit - namespace initialization
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: nsload - namespace loading/expanding/contracting procedures
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
......@@ -3,7 +3,7 @@
*
* Module Name: nsparse - namespace interface to AML parser
*
* Copyright (C) 2000 - 2019, Intel Corp.
* Copyright (C) 2000 - 2020, Intel Corp.
*
*****************************************************************************/
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment