16 Jan, 2016

3 commits


05 Jan, 2016

1 commit

  • Commit f06147f9fbf1 (ACPICA: Hardware: Enable firmware waking vector
    for both 32-bit and 64-bit FACS) added three functions that aren't
    present in upstream ACPICA, acpi_hw_set_firmware_waking_vectors(),
    acpi_set_firmware_waking_vectors() and acpi_set_firmware_waking_vector64(),
    to allow Linux to use the previously existing API for setting the
    platform firmware waking vector.

    However, that wasn't necessary, since the ACPI sleep support code
    in Linux can be modified to use the upstream ACPICA's API easily
    and the additional functions may be dropped which reduces the code
    size and puts the kernel's ACPICA code more in line with the upstream.

    Make the changes as per the above. While at it, make the relevant
    function desctiption comments reflect the upstream ACPICA's ones.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Lv Zheng

    Rafael J. Wysocki
     

01 Jan, 2016

36 commits

  • ACPICA commit 071eff738c59eda1792ac24b3b688b61691d7e7c

    Execute any module-level code after each ACPI table (DSDT or SSDT)
    is loaded into the namespace (rather than after all AML tables have
    been loaded). This matches the behavior of other ACPI
    implementations and is required to support BIOS code that
    depends on this behavior.

    Link: https://github.com/acpica/acpica/commit/071eff73
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 95b40b31aa8148629fbe5de0356725fc01298003

    Special-case the namespace root node, it has an unusual name.

    This case can occur if there are errors during the execution
    of module-level code.

    Link: https://github.com/acpica/acpica/commit/95b40b31
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 1cf1a1e090f61f0c27f1dcf1905c7cc79a9c51c8

    It is likely that we should synchronously invoke _REG(DISCONNECT) only when
    the acpi_remove_address_space_handler() is invoked because of dependencies.
    If it is invoked when the object is not referenced, problem may occur
    if the operation region fields accessed in _REG are no longer driven by any
    device driver.

    Noticed that _REG(CONNECT)/_REG(DISCONNECT) only mean to inform the AML of
    the handler availability, no return value is required for the caller.

    This patch only introduces ACPI_REG_DISCONNECT invaocation, but doesn't
    introduce a real change. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/1cf1a1e0
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • …ns can happen during OS early boot stages

    ACPICA commit 31178590dde82368fdb0f6b0e466b6c0add96c57

    We can ensure no early _REG evaluations by ensuring the following rules in
    acpi_ev_execute_reg_method():
    1. If an address space handler is installed during early stage,
    _REG(CONNECT) evaluations are blocked. This is achieved using
    acpi_gbl_reg_methods_enabled which is renamed from
    acpi_gbl_reg_methods_executed.
    2. If _REG(CONNECT) has never been evalauted for the region object,
    _REG(DISCONNECT) evaluations are blocked. This is achieved by a new
    region object flag: AOPOBJ_REG_CONNECTED.
    Note that, after applying this patch, we can ensure _REG(DISCONNECT) is
    always paired to _REG(CONNECT). Lv Zheng

    Link: https://github.com/acpica/acpica/commit/31178590
    Signed-off-by: Lv Zheng <lv.zheng@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

    Lv Zheng
     
  • ACPICA commit 87c85610250ff7141a84507f68dbc1e00f2936db

    This patch introduces a new region initialization function
    acpi_ev_associate_reg_method(), which is invoked to associate the _REG method
    to its related region object.

    Region object's default value assignments are also sorted by cleaning up
    the code using this new function. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/87c85610
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • …when it is already attached

    ACPICA commit 6ebcb24d3225b6c7715a3ce061c327b4c3a6b76e

    The logic in acpi_ev_attach_region() is not correct, it can break address
    space handler link. This patch fixes this problem. But be aware that this
    fix must be applied along with a region object race issue fix. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/6ebcb24d
    Signed-off-by: Lv Zheng <lv.zheng@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

    Lv Zheng
     
  • ACPICA commit 3894fa9d071343e6ebc7ea480255fa4f27a290be

    This patch re-orders initialization code in acpi_enable_subsystem()
    so that all hardware reduced stuffs can be collected together.

    Note this patch contains code from the following 2 ACPICA upstream commits
    so that the changes can be made clearer for the reviewers:
    https://github.com/acpica/acpica/commit/071eff73
    https://github.com/acpica/acpica/commit/3894fa9d
    And additional change to remove the global variable and unused code
    fragments due to the test result. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/3894fa9d
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit 5ea0fb75fdf1aa7c0aba067dfa4d5dc3a9279461

    The address space handlers can be attached to not only Device but also
    Processor/thermal_zone objects, so it is better to use their common
    class 'CommonNotify' instead. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/5ea0fb75
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit b916a0a0ae9e81db1a85523c63ec6aa32d5c70c8

    There are code fragments that can be substituted by
    acpi_ev_find_region_handler().

    This patch cleans up these code fragments. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/b916a0a0
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit 071eff738c59eda1792ac24b3b688b61691d7e7c

    This patch collects cleanups from per-table module level improvement. By
    splitting this patch from that commit, we can make per-table module level
    improvement clearer for the revewers. This is a no-op change.

    Link: https://github.com/acpica/acpica/commit/071eff73
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 725c094f1a7a2ae28e623ee77be400af1c36b180

    The SuperName parameters for these operators were incorrect. This
    represents two problems in the ACPI specification itself.

    Link: https://github.com/acpica/acpica/commit/725c094f
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 5923a9be36b8cb1b62afa89fe217783c04c92ad3

    To improve readability. Rename all *_TYPE_* defines related to
    ObjectType to *_OBJECT_TYPE_*

    Link: https://github.com/acpica/acpica/commit/5923a9be
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 67953304a34944548f2fa53a4b0786a5db0ca2ea

    The grammar for this operator changed in ACPI 5.0A, but it was
    not necessary to update the interpreter/parser until now.

    The UserTerm (method invocation) element was removed. Previously
    a SuperName, the lone argument now requires a new ARGP_ type.

    Link: https://github.com/acpica/acpica/commit/67953304
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 4b86d1046d06e462dae83ebcd5a66cc132a08f8f

    SuperName parameters that are in fact control method invocations were
    not handled correctly by the parser. This change fixes the problem
    by identifying these properly as method invocations. This affects
    about 14 different ASL operators that contain SuperName parameters.
    ACPICA BZ 1002.

    Link: https://github.com/acpica/acpica/commit/4b86d104
    Link: https://bugs.acpica.org/show_bug.cgi?id=1002
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit b216e39fe85feee955d29fe0a7190dd811e181ea

    Add true/false constants for the "PossibleMethodCall" parameter
    for acpi_ps_get_next_namepath.

    Link: https://github.com/acpica/acpica/commit/b216e39f
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 918a840d27d620942e0ecb69de320bb71ea86c5a

    ElseIf is a macro that resolves to an Else..If in the AML byte code.
    This support merges an Else followed immediately by an If to an
    ASL ElseIf operator. Simplifies decoded ASL, especially for large
    Switch statements.

    This patch only applies to iasl, and is no-op for Linux kernel.

    Link: https://github.com/acpica/acpica/commit/918a840d
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit e7c8ffbbef3f7ce340e012ae4db63ea16cd09714

    The -e option is missing from the acpibin help options, so add
    this. Also, there should be spaces between the filenames for the
    -c and -d optios, so add this and expand the field size from 18
    to 20 characters in the ACPI_OPTION macro.

    Link: https://github.com/acpica/acpica/commit/e7c8ffbb
    Signed-off-by: Colin Ian King
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Colin Ian King
     
  • ACPICA commit 80e60d72959bb51c5d08c8500d978607a42ed81d

    BIOS developers may accidently put the quotes around the name strings,
    which converts the object references in the packages indicated by the name
    strings into the data objects (strings). Such kind of error has been seen
    in _DEP control methods on some platforms. This patch implements a
    workaround to correct it. Reported by Bastien Nocera. Fixed by Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/80e60d72
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=106231
    Reported-and-tested-by: Bastien Nocera
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit 51cbd324420ca5e381cb2c57ce95139053518a35

    The acpi_object_converter callbacks are lack in scope information to
    convert name_string. This patch fixes this issue by passing the evaluation
    method/object node to the converter callbacks. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/51cbd324
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit b01414f5a822d0879aa9eba91541a21e7e501142

    Improve output for the case of an Index() that refers to a
    Package element that has not been initialized.

    Link: https://github.com/acpica/acpica/commit/b01414f5
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit e4414f067c726ef746dac990c0bae7f433045843

    Was broken by addition of "null string" feature to emit
    simple blank lines.

    Link: https://github.com/acpica/acpica/commit/e4414f06
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 05492c4a7d1e106eb871a5e1357ed564d25740e5

    1) Make the timer value output optional
    2) Allow empty lines via null string or simple newline
    3) No need for the object type name for strings and integers
    4) Miscellaneous cleanup of output

    Link: https://github.com/acpica/acpica/commit/05492c4a
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 3420c1f5e6c6dd4fe51be4d98da69b3197d608df

    Emits strings for all the object types besides int/str/buf.
    This simplifies and extends the usefulness of the Printf macros.

    Link: https://github.com/acpica/acpica/commit/3420c1f5
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 5bdfb4f43f4d315d23b31b39bac5a0b1ca420c2b

    Standardize naming, deploy in common header.

    Link: https://github.com/acpica/acpica/commit/5bdfb4f4
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 81a89968f83bfc3b1d0f0f80f2da08ea69646053

    Adds a lengthy comment to acpi_get_object_info explaining the removal
    of _SUB and why no complex methods can be added ever to this
    interface.

    Link: https://github.com/acpica/acpica/commit/81a89968
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit e4743959b59ad93eab7310adf756adc930be0ddb

    This reverts commit 8e7a8753827660c3dd1f571f3185610402b756f0.

    The _SUB method was found to be problematic for this interface
    because some implementations use control methods. Therefore,
    it is being removed.

    Operations cannot be used because this interface is called
    during the device discovery scan and the region handlers are
    not fully installed at that time.

    Link: https://github.com/acpica/acpica/commit/e4743959
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 36fcc1b98def3fb6e20cf5e877ffc3c1592d0140

    Local strupr function already checks for NULL pointers.

    Original linux patch submitted by:
    Markus Elfring

    Link: https://github.com/acpica/acpica/commit/36fcc1b9
    Signed-off-by: Markus Elfring
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Markus Elfring
     
  • ACPICA commit 3a6f2a516dd35a4daacbc5b5144d1db763ff2cb0

    Improve and cleanup verification of ACPI tables within input files.
    Share more code between the disassembler and acpiexec.

    This patch only affects application debugger commands, thus it is a
    no-op chage for Linux kernel.

    Link: https://github.com/acpica/acpica/commit/3a6f2a51
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 5be7dc4d0d69b2953d156f5bc4d3e8a65a390837

    Matches the support in iASL and acpi_exec.

    Link: https://github.com/acpica/acpica/commit/5be7dc4d
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 301f16e4037275888f65b88aec7231c1cd64339f

    Add support for multi-AML-table files that originate from
    either acpixtract or iASL.

    Link: https://github.com/acpica/acpica/commit/301f16e4
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit a3f85a7d26a52ee0d9103feb4fbec8d7b6ba4c11

    Split out functions from exdebug.c to extrace.c

    Link: https://github.com/acpica/acpica/commit/a3f85a7d
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit dfa394471f6c01b2ee9433dbc143ec70cb9bca72

    Mostly indentation inconsistencies across the code. Split
    some long lines, etc.

    Link: https://github.com/acpica/acpica/commit/dfa39447
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit c2a7d000b6be34313b1c50c8a718df16113f0f32

    Should be no functional change.

    Link: https://github.com/acpica/acpica/commit/c2a7d000
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 28645f8a113f346c8db103a4f7565fcba88c746f

    Most of the "get_name" - style functions can return "const char *"
    with no ill side-effects. Original linux patch from
    LABBE Corentin and backported to
    ACPICA.

    Link: https://github.com/acpica/acpica/commit/28645f8a
    Signed-off-by: LABBE Corentin
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    LABBE Corentin
     
  • ACPICA commit 253e3c03efc1a495d2aa61eee09ab1d0842a3dce

    The control method auto-serialization can interfere with existing
    ASL code that makes use of Mutex/Method SyncLevel support. This
    change makes the auto-serialization transparent to the SyncLevel
    support and management. David Box.

    Link: https://github.com/acpica/acpica/commit/253e3c03
    Signed-off-by: David E. Box
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    David E. Box
     
  • ACPICA commit 75c0da9e796bdf9bdd46d75f028a3e1779903214

    In the error logs and debugger outputs, use new external path format that
    does not contain a trailing underscore.

    This patch takes care of acpi_ns_get_external_pathname() invocations, chaning
    them into acpi_ns_get_normalized_pathname(TRUE) where possible. Along with some
    error log fixes, the following debugger commands are fixed: resources,
    handlers, paths. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/75c0da9e
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng