01 Sep, 2015

2 commits

  • * pm-cpufreq: (53 commits)
    cpufreq: speedstep-lib: Use monotonic clock
    cpufreq: powernv: Increase the verbosity of OCC console messages
    cpufreq: sfi: use kmemdup rather than duplicating its implementation
    cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor()
    cpufreq: rename cpufreq_real_policy as cpufreq_user_policy
    cpufreq: remove redundant 'policy' field from user_policy
    cpufreq: remove redundant 'governor' field from user_policy
    cpufreq: update user_policy.* on success
    cpufreq: use memcpy() to copy policy
    cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event
    cpufreq: mediatek: Add MT8173 cpufreq driver
    dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings
    intel_pstate: append more Oracle OEM table id to vendor bypass list
    intel_pstate: Add SKY-S support
    intel_pstate: Fix possible overflow complained by Coverity
    cpufreq: Correct a freq check in cpufreq_set_policy()
    cpufreq: Lock CPU online/offline in cpufreq_register_driver()
    cpufreq: Replace recover_policy with new_policy in cpufreq_online()
    cpufreq: Separate CPU device registration from CPU online
    cpufreq: powernv: Restore cpu frequency to policy->cur on unthrottling
    ...

    Rafael J. Wysocki
     
  • * acpi-scan:
    ACPI / bus: Move ACPI bus type registration
    ACPI / scan: Move bus operations and notification routines to bus.c
    ACPI / scan: Move device matching code to bus.c
    ACPI / scan: Move sysfs-related device code to a separate file

    * acpi-processor:
    PCC: Disable compilation by default
    ACPI: Decouple ACPI idle and ACPI processor drivers
    ACPI: Split out ACPI PSS from ACPI Processor driver
    PCC: Initialize PCC Mailbox earlier at boot
    ACPI / processor: remove leftover __refdata annotations

    * acpi-assorted:
    ACPI: fix acpi_debugfs_init prototype
    ACPI: Remove FSF mailing addresses

    Rafael J. Wysocki
     

26 Aug, 2015

8 commits

  • ACPICA commit d93470de8febeecdc20633fde11cb0b200fa773b

    Version 20150818.

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

    Bob Moore
     
  • ACPICA commit 7a3f22baab000b186779dac64ad71d9776b8f432

    It is likely that the debugger is enabled only when a userspace program
    explicitly tells a kernel to do so, so it shouldn't be initialized as
    early as current implementation.

    The only tool requiring ACPI_DEBUGGER is acpiexec, so acpiexec need to call
    the new APIs by itself. And BSD developers may also get notified to invoke
    the APIs for DDB enabling. Lv Zheng.

    This patch doesn't affect Linux kernel as debugger is currently not enabled
    in the Linux kernel.

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

    Lv Zheng
     
  • ACPICA commit 5b4087fba991d8383046b550bbe22f3d8d9b9c8f

    Needed to improve MSVC editor support for symbols.

    For Linux kernel, this change is a no-op.

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

    Bob Moore
     
  • ACPICA commit a9d9c2d0c2d077bb3175ec9c252cf0e5da3efd45

    Was previously compile-time only.
    Add support option for acpiexec.

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

    Bob Moore
     
  • ACPICA commit bba222c15c2ce79076eb3a5e9d4d5f7120db8a00

    If "Objects" command is invoked with no arguments, the counts
    for each object type are displayed.

    Linux kernel is not affected by this commit as currently debugger is
    not enabled in the Linux kernel.

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

    Bob Moore
     
  • ACPICA commit 539f8c03fe64305725bd85343e42f3b6c42aad14

    A couple typos and long lines.

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

    Bob Moore
     
  • ACPICA commit 6d9c827b540837b6e54059e17756a06985e4a196

    ACPICA BZ 1176.

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

    Bob Moore
     
  • ACPICA commit ed7769e832de6c7ba90615480d916c85fd100422

    If a table load fails, delete all namespace objects created by the
    table, otherwise these objects will be uninitialized, causing
    problems later. This appears to be a very rare problem.
    Also handle the unitialized node problem to prevent possible
    faults. ACPICA BZ 1185.

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

    Bob Moore
     

25 Aug, 2015

2 commits

  • This patch introduces a new Kconfig symbol, ACPI_PROCESSOR_IDLE,
    which is auto selected by architectures which support the ACPI
    based C states for CPU Idle management.

    The processor_idle driver in its present form contains declarations
    specific to X86 and IA64. Since there are no reasonable defaults
    for other architectures e.g. ARM64, the driver is selected only for
    X86 or IA64.

    This helps in decoupling the ACPI processor_driver from the ACPI
    processor_idle driver which is useful for the upcoming alternative
    patchwork for controlling CPU Performance (CPPC) and CPU Idle (LPI).

    Signed-off-by: Ashwin Chaugule
    Signed-off-by: Rafael J. Wysocki

    Ashwin Chaugule
     
  • The ACPI processor driver is currently tied too closely
    to the ACPI P-states (PSS) and other related constructs
    for controlling CPU performance.

    The newer ACPI specification (v5.1 onwards) introduces
    alternative methods to PSS. These new mechanisms are
    described within each ACPI Processor object and so they
    need to be scanned whenever a new Processor object is detected.
    This patch introduces a new Kconfig symbol to allow for
    finer configurability among the two options for controlling
    performance states. There is no change in functionality and
    the option is auto-selected by the architectures which support it.

    A future commit will introduce support for CPPC: A newer method of
    controlling CPU performance. The OS is not expected to support
    CPPC and PSS at the same time, so the Kconfig option lets us make
    the two mutually exclusive at compile time.

    Signed-off-by: Ashwin Chaugule
    [ rjw: Changelog ]
    Signed-off-by: Rafael J. Wysocki

    Ashwin Chaugule
     

24 Jul, 2015

8 commits

  • ACPICA commit 8580ce04c1b7aa415c364b06e79edb8aca77dded

    Version 20150717.

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

    Bob Moore
     
  • ACPICA commit 55fa9555c71eaa99daebed4cd82cfde3875e8c45

    In addition to the existing support for the client table.

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

    Bob Moore
     
  • ACPICA commit 49c6a6517a906900e9baa51ad5859beeb8a3089f

    The following error logs can be seen for calloc/free/malloc/realloc that
    defined in the stdlib.h:
    ...\stdlib.h(281) : error C2059: syntax error : ','
    ...\stdlib.h(281) : error C2143: syntax error : missing ')' before 'constant'
    ...\stdlib.h(281) : error C2143: syntax error : missing '{' before 'constant'
    ...\stdlib.h(281) : error C2059: syntax error : ''
    ...\stdlib.h(281) : error C2059: syntax error : ')'

    This is caused by the wrong inclusion order of stdlib.h/crtdbg.h introduced
    in acenv.h. This patch fixes this breakage. Lv Zheng.

    This patch doesn't affect Linux kernel.

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

    Lv Zheng
     
  • ACPICA commit 61e9e20aadfaa03184d0959fbdc1fa5cdfea2551

    This patch adds option to bypass opcode tracing. The option can be used to
    reduce the trace message output. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit e8e4a9b19d0b72a7b165398bdc961fc2f6f502ec

    This patch adds OSL trace hook support.

    OSPMs are encouraged to use acpi_os_trace_point() with
    ACPI_USE_SYSTEM_TRACER defined to implement platform specific trace
    facility. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit 07fffd02607685b655ed92ee15c160e6a810b60b

    The acpi_debug_trace() is the mechanism known as ACPI method tracing that is
    used by Linux as ACPICA debugging message reducer. This facility can be
    controlled through Linux ACPI subsystem - /sys/module/acpi/parameters.
    This facility requires CONFIG_ACPI_DEBUG to be enabled to see ACPICA trace
    logs in the kernel dmesg output.

    This patch enhances acpi_debug_trace() to make it not only a message reducer,
    but a real tracer to trace AML interpreter execution. Note that in addition
    to the AML tracer enabling, this patch also updates the facility with the
    following enhancements:
    1. Allow a full path to be specified by the acpi_debug_trace() API.
    2. Allow any method rather than just the entrance of acpi_evaluate_object()
    to be traced.
    3. All interpreter ACPI_LV_TRACE_POINT messages are collected for
    ACPI_EXECUTER layer.

    The Makefile of drivers/acpi/acpica is also updated to include exdebug.o
    and the duplicated stubs are removed after that.

    Note that since this patch has enhanced the method tracing facility, Linux
    need also be updated after applying this patch. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit 71299ec8b49054daace0df50268e8e055654ca37

    This patch adds trace point at the following point:
    1. Begin/end of a control method execution;
    2. Begin/end of an opcode execution.

    The trace point feature can be enabled by defining ACPI_DEBUG_OUTPUT
    and specifying a debug level that includes ACPI_LV_TRACDE_POINT and the
    debug layers that include ACPI_PARSER and ACPI_DISPACTCHER.

    In order to make aml_op_name of union acpi_parse_object usable for tracer, it is
    enabled for ACPI_DEBUG_OUTPUT in this patch. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit 6e0229bb156d71675f2e07dc7960adb7ec0a60ea

    This patch adds functions to return normalized full path instead of
    "external path". The external path contains trailing "_" for each
    name segment while the normalized full path doesn't contain the
    trailing "_".

    Currently this function is used by the method tracing users to specify a
    none trailing "_" attached name path. Lv Zheng.

    Note that we need to validate and switch all Linux kernel acpi_get_name()
    users to use the new name type before removing the old name type from
    ACPICA.

    Link: https://github.com/acpica/acpica/commit/6e0229bb
    Signed-off-by: Lv Zheng
    Reviewed-by: Ruiyi Zhang
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

23 Jul, 2015

1 commit


08 Jul, 2015

1 commit


03 Jul, 2015

1 commit

  • Pull ACPICA updates from Rafael Wysocki:
    "Additional ACPICA material for v4.2-rc1

    This will update the ACPICA code in the kernel to upstream revision
    20150619 (a bug-fix release mostly including stable-candidate fixes)
    and restore an earlier ACPICA commit that had to be reverted due to a
    regression introduced by it (the regression is addressed by
    blacklisting the only known system affected by it to date).

    The only new feature added by this update is the support for
    overriding objects in the ACPI namespace and a new ACPI table that can
    be used for that called the Override System Definition Table (OSDT).
    That should allow us to "patch" the ACPI namespace built from
    incomplete or incorrect ACPI System Definition tables (DSDT, SSDT)
    during system startup without the need to provide replacements for all
    of those tables in the future.

    Specifics:

    - Fix system resume problems related to 32-bit and 64-bit versions of
    the Firmware ACPI Control Structure (FACS) in the firmare (Lv
    Zheng)

    - Fix double initialization of the FACS (Lv Zheng)

    - Add _CLS object processing code to ACPICA (Suravee Suthikulpanit)

    - Add support for the (currently missing) new GIC version field in
    the Multiple APIC Description Table (MADT) (Hanjun Guo)

    - Add support for overriding objects in the ACPI namespace to ACPICA
    and OSDT support (Lv Zheng, Bob Moore, Zhang Rui)

    - Updates related to the TCPA and TPM2 ACPI tables (Bob Moore)

    - Restore the commit modifying _REV to always return "2" (as required
    by ACPI 6) and add a blacklisting mechanism for systems that may be
    affected by that change (Rafael J Wysocki)

    - Assorted fixes and cleanups (Bob Moore, Lv Zheng, Sascha Wildner)"

    * tag 'acpica-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (28 commits)
    Revert 'Revert "ACPICA: Permanently set _REV to the value '2'."'
    ACPI / init: Make it possible to override _REV
    ACPICA: Update version to 20150619
    ACPICA: Comment update, no functional change
    ACPICA: Update TPM2 ACPI table
    ACPICA: Update definitions for the TCPA and TPM2 ACPI tables
    ACPICA: Split C library prototypes to new header
    ACPICA: De-macroize calls to standard C library functions
    ACPI / acpidump: Update acpidump manual
    ACPICA: acpidump: Convert the default behavior to dump from /sys/firmware/acpi/tables
    ACPICA: acpidump: Allow customized tables to be dumped without accessing /dev/mem
    ACPICA: Cleanup output for the ASL Debug object
    ACPICA: Update for acpi_install_table memory types
    ACPICA: Namespace: Change namespace override to avoid node deletion
    ACPICA: Namespace: Add support of OSDT table
    ACPICA: Namespace: Add support to allow overriding objects
    ACPICA: ACPI 6.0: Add values for MADT GIC version field
    ACPICA: Utilities: Add _CLS processing
    ACPICA: Add dragon_fly support to unix file mapping file
    ACPICA: EFI: Add EFI interface definitions to eliminate dependency of GNU EFI
    ...

    Linus Torvalds
     

02 Jul, 2015

14 commits

  • ACPICA commit 2fcf4f4c95e6a4875f39a929f8f92ef50cc53bb5
    ACPICA commit d7a940bb308d001b5d2b196174fee36c7daa61d6

    Version 20150619.

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

    Bob Moore
     
  • ACPICA commit 254bf77e7ca01cb27e026fa5737f7df8dae03f2c

    - Add constans for the start_method.
    - Remove the control structure, not part of ACPI, not defined in the current
    TCG spec.

    Link: https://github.com/acpica/acpica/commit/254bf77e
    Reported-by: Jarkko Sakkinen
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 33140b4498666337dd33a00cf3c4797a53981a7b

    Changes for a new version of the 3rd party spec for these tables,
    the "TCG ACPI Specification", December 14, 2014. Also, moved the
    definition of TPM2 to actbl2.h, next to TCPA, since both should
    be together.

    Update the table compiler/disassembler code for the tables.
    However, the "Server" TCPA table is not supported at this time.

    Link: https://github.com/acpica/acpica/commit/33140b44
    Reported-by: Jarkko Sakkinen
    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit 3b1026e0bdd3c32eb6d5d313f3ba0b1fee7597b4
    ACPICA commit 00f0dc83f5cfca53b27a3213ae0d7719b88c2d6b
    ACPICA commit 47d22a738d0e19fd241ffe4e3e9d4e198e4afc69

    Across all of ACPICA. Replace C library macros such as ACPI_STRLEN with the
    standard names such as strlen. The original purpose for these macros is
    long since obsolete.
    Also cast various invocations as necessary. Bob Moore, Jung-uk Kim, Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/3b1026e0
    Link: https://github.com/acpica/acpica/commit/00f0dc83
    Link: https://github.com/acpica/acpica/commit/47d22a73
    Signed-off-by: Bob Moore
    Signed-off-by: Jung-uk Kim
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • ACPICA commit c0ce529e1fbb8ec47d2522a3aa10f3ab77e16e41

    There is no reference counting implemented for struct acpi_namespace_node, so it
    is currently not removable during runtime.
    This patch changes the namespace override code to keep the old
    struct acpi_namespace_node undeleted so that the override mechanism can happen
    during runtime. Bob Moore.

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

    Bob Moore
     
  • ACPICA commit 27415c82fcecf467446f66d1007a0691cc5f3709

    This patch adds OSDT (Override System Definition Table) support.
    When OSDT is loaded, conflict namespace objects will be overridden
    by the AML interpreter. Bob Moore, Lv Zheng.

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

    Bob Moore
     
  • ACPICA commit 4b100dc43e8baee8c8b4891b23bc7ad03eba6a28

    Support for the new version field in the generic distributor
    subtable. Hanjun Guo

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

    Hanjun Guo
     
  • ACPICA commit 9a2b638acb3a7215209432e070c6bd0312374229

    ACPI Device object often contains a _CLS object to supply PCI-defined class
    code for the device. This patch introduces logic to process the _CLS
    object. Suravee Suthikulpanit, Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/9a2b638a
    Acked-by: Mika Westerberg
    Reviewed-by: Hanjun Guo
    Signed-off-by: Suravee Suthikulpanit
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Suravee Suthikulpanit
     
  • ACPICA commit 5d00e67a74542d030f0a55e7a947a020ef0d9693

    This patch copies EFI interface definitions to the ACPICA code base so that
    the EFI utility support can be ported to other EFI implementation.

    Known issues:
    1. MS Builds of uefi_call_wrapper()
    The uefi_call_wrapper() in GNU EFI is implemented in a the way to work
    around the ABI difference between Unix and MS. While I don't have
    environment to test the MS builds.

    In order to port the ACPICA utilities to other EFI implementation, all that
    need to be done is to impelement the 64-bit division support and the
    program entry point where the efi_main() is invoked. Code to impelement
    these is platform specific, and ACPICA currently choose to hide such
    platform specific code within the specific EFI impelementation. Lv Zheng.

    This patch doesn't affect Linux kernel.

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

    Lv Zheng
     
  • ACPICA commit 72f5a358f28c5d154ed613c142c7dca03192c5ee

    This patch intoduces generic variable macro detection support and fixes
    build breakage issue with macros using __VA_ARGS__ feature defined in
    C99.

    This patch fixes this build issue. Lv Zheng.

    This patch doesn't affect Linux kernel.

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

    Lv Zheng
     
  • ACPICA commit 4da56eeae0749dfe8491285c1e1fad48f6efafd8

    The following commit temporarily disables correct 64-bit FADT addresses
    favor during the period the root cause of the bug is not fixed:
    Commit: 85dbd5801f62b66e2aa7826aaefcaebead44c8a6
    ACPICA: Tables: Restore old behavor to favor 32-bit FADT addresses.

    With enough protections, this patch re-enables 64-bit FADT addresses by
    default. If regressions are reported against such change, this patch should
    be bisected and reverted.
    Note that 64-bit FACS favor and 64-bit firmware waking vector favor are
    excluded by this commit in order not to break OSPMs. Lv Zheng.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=74021
    Link: https://github.com/acpica/acpica/commit/4da56eea
    Cc: 3.15.1+ # 3.15.1+
    Reported-and-tested-by: Oswald Buddenhagen
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit 90f5332a15e9d9ba83831ca700b2b9f708274658

    This patch adds a new FACS initialization flag for acpi_tb_initialize().
    acpi_enable_subsystem() might be invoked several times in OS bootup process,
    and we don't want FACS initialization to be invoked twice. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/90f5332a
    Cc: All applicable # All applicable
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit f7b86f35416e3d1f71c3d816ff5075ddd33ed486

    The following commit is reported to have broken s2ram on some platforms:
    Commit: 0249ed2444d65d65fc3f3f64f398f1ad0b7e54cd
    ACPICA: Add option to favor 32-bit FADT addresses.
    The platform reports 2 FACS tables (which is not allowed by ACPI
    specification) and the new 32-bit address favor rule forces OSPMs to use
    the FACS table reported via FADT's X_FIRMWARE_CTRL field.

    The root cause of the reported bug might be one of the followings:
    1. BIOS may favor the 64-bit firmware waking vector address when the
    version of the FACS is greater than 0 and Linux currently only supports
    resuming from the real mode, so the 64-bit firmware waking vector has
    never been set and might be invalid to BIOS while the commit enables
    higher version FACS.
    2. BIOS may favor the FACS reported via the "FIRMWARE_CTRL" field in the
    FADT while the commit doesn't set the firmware waking vector address of
    the FACS reported by "FIRMWARE_CTRL", it only sets the firware waking
    vector address of the FACS reported by "X_FIRMWARE_CTRL".

    This patch excludes the cases that can trigger the bugs caused by the root
    cause 2.

    There is no handshaking mechanism can be used by OSPM to tell BIOS which
    FACS is currently used. Thus the FACS reported by "FIRMWARE_CTRL" may still
    be used by BIOS and the 0 value of the 32-bit firmware waking vector might
    trigger such failure.

    This patch tries to favor 32bit FACS address in another way where both the
    FACS reported by "FIRMWARE_CTRL" and the FACS reported by "X_FIRMWARE_CTRL"
    are loaded so that further commit can set firmware waking vector in the
    both tables to ensure we can exclude the cases that trigger the bugs caused
    by the root cause 2. The exclusion is split into 2 commits as this commit
    is also useful for dumping more ACPI tables, it won't get reverted when
    such exclusion is no longer necessary. Lv Zheng.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=74021
    Link: https://github.com/acpica/acpica/commit/f7b86f35
    Cc: 3.14.1+ # 3.14.1+
    Reported-and-tested-by: Oswald Buddenhagen
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit 7aa598d711644ab0de5f70ad88f1e2de253115e4

    The following commit is reported to have broken s2ram on some platforms:
    Commit: 0249ed2444d65d65fc3f3f64f398f1ad0b7e54cd
    ACPICA: Add option to favor 32-bit FADT addresses.
    The platform reports 2 FACS tables (which is not allowed by ACPI
    specification) and the new 32-bit address favor rule forces OSPMs to use
    the FACS table reported via FADT's X_FIRMWARE_CTRL field.

    The root cause of the reported bug might be one of the followings:
    1. BIOS may favor the 64-bit firmware waking vector address when the
    version of the FACS is greater than 0 and Linux currently only supports
    resuming from the real mode, so the 64-bit firmware waking vector has
    never been set and might be invalid to BIOS while the commit enables
    higher version FACS.
    2. BIOS may favor the FACS reported via the "FIRMWARE_CTRL" field in the
    FADT while the commit doesn't set the firmware waking vector address of
    the FACS reported by "FIRMWARE_CTRL", it only sets the firware waking
    vector address of the FACS reported by "X_FIRMWARE_CTRL".

    This patch excludes the cases that can trigger the bugs caused by the root
    cause 1.

    ACPI specification says:
    A. 32-bit FACS address (FIRMWARE_CTRL field in FADT):
    Physical memory address of the FACS, where OSPM and firmware exchange
    control information.
    If the X_FIRMWARE_CTRL field contains a non zero value then this field
    must be zero.
    A zero value indicates that no FACS is specified by this field.
    B. 64-bit FACS address (X_FIRMWARE_CTRL field in FADT):
    64bit physical memory address of the FACS.
    This field is used when the physical address of the FACS is above 4GB.
    If the FIRMWARE_CTRL field contains a non zero value then this field
    must be zero.
    A zero value indicates that no FACS is specified by this field.
    Thus the 32bit and 64bit firmware waking vector should indicate completely
    different resuming environment - real mode (1MB addressable) and non real
    mode (4GB+ addressable) and currently Linux only supports resuming from
    real mode.

    This patch enables 64-bit firmware waking vector for selected FACS via new
    acpi_set_firmware_waking_vectors() API so that it's up to OSPMs to
    determine which resuming mode should be used by BIOS and ACPICA changes
    won't trigger the bugs caused by the root cause 1. Lv Zheng.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=74021
    Link: https://github.com/acpica/acpica/commit/7aa598d7
    Reported-and-tested-by: Oswald Buddenhagen
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

26 Jun, 2015

1 commit

  • * acpi-video:
    ACPI / video: Inline acpi_video_set_dmi_backlight_type

    * device-properties:
    ACPI / OF: Rename of_node() and acpi_node() to to_of_node() and to_acpi_node()

    * pm-sleep:
    PM / sleep: Increase default DPM watchdog timeout to 60
    PM / hibernate: re-enable nonboot cpus on disable_nonboot_cpus() failure

    * pm-cpuidle:
    tick/idle/powerpc: Do not register idle states with CPUIDLE_FLAG_TIMER_STOP set in periodic mode

    Rafael J. Wysocki
     

25 Jun, 2015

2 commits

  • Commit 8a0662d9 introduced of_node and acpi_node symbols in global namespace
    but there were already ~63 of_node local variables or function parameters
    (no single acpi_node though, but anyway).

    After debugging undefined but used of_node local varible (which turned out
    to reference static function of_node() instead) it became clear that the names
    for the functions are too short and too generic for global scope.

    Signed-off-by: Alexander Sverdlin
    Signed-off-by: Rafael J. Wysocki

    Alexander Sverdlin
     
  • ... and kill this:

    In file included from drivers/gpu/drm/radeon/radeon_acpi.c:29:0:
    include/acpi/video.h:46:13: warning: ‘acpi_video_set_dmi_backlight_type’ defined but not used [-Wunused-function]
    static void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type)
    ^

    Signed-off-by: Borislav Petkov
    Signed-off-by: Rafael J. Wysocki

    Borislav Petkov