19 Nov, 2016

1 commit


17 Nov, 2016

1 commit

  • Avoid breaking cross-compiled ACPI tools builds by rearranging the
    handling of kernel header files.

    This patch also contains OUTPUT/srctree cleanups in order to make above fix
    working for various build environments.

    Fixes: e323c02dee59 (ACPICA: MSVC9: Fix inclusion order issue)
    Reported-and-tested-by: Yisheng Xie
    Reported-by: Andy Shevchenko
    Signed-off-by: Lv Zheng
    [ rjw: Changelog ]
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

15 Nov, 2016

1 commit

  • Pavel Machek reports that commit 6ea8c546f365 (ACPICA: FADT support
    cleanup) breaks thermal management on his Thinkpad X60 and T40p, so
    revert it.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=187311
    Fixes: 6ea8c546f365 (ACPICA: FADT support cleanup)
    Reported-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

22 Oct, 2016

1 commit


17 Oct, 2016

1 commit


04 Oct, 2016

1 commit

  • Pull CPU hotplug updates from Thomas Gleixner:
    "Yet another batch of cpu hotplug core updates and conversions:

    - Provide core infrastructure for multi instance drivers so the
    drivers do not have to keep custom lists.

    - Convert custom lists to the new infrastructure. The block-mq custom
    list conversion comes through the block tree and makes the diffstat
    tip over to more lines removed than added.

    - Handle unbalanced hotplug enable/disable calls more gracefully.

    - Remove the obsolete CPU_STARTING/DYING notifier support.

    - Convert another batch of notifier users.

    The relayfs changes which conflicted with the conversion have been
    shipped to me by Andrew.

    The remaining lot is targeted for 4.10 so that we finally can remove
    the rest of the notifiers"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
    cpufreq: Fix up conversion to hotplug state machine
    blk/mq: Reserve hotplug states for block multiqueue
    x86/apic/uv: Convert to hotplug state machine
    s390/mm/pfault: Convert to hotplug state machine
    mips/loongson/smp: Convert to hotplug state machine
    mips/octeon/smp: Convert to hotplug state machine
    fault-injection/cpu: Convert to hotplug state machine
    padata: Convert to hotplug state machine
    cpufreq: Convert to hotplug state machine
    ACPI/processor: Convert to hotplug state machine
    virtio scsi: Convert to hotplug state machine
    oprofile/timer: Convert to hotplug state machine
    block/softirq: Convert to hotplug state machine
    lib/irq_poll: Convert to hotplug state machine
    x86/microcode: Convert to hotplug state machine
    sh/SH-X3 SMP: Convert to hotplug state machine
    ia64/mca: Convert to hotplug state machine
    ARM/OMAP/wakeupgen: Convert to hotplug state machine
    ARM/shmobile: Convert to hotplug state machine
    arm64/FP/SIMD: Convert to hotplug state machine
    ...

    Linus Torvalds
     

02 Oct, 2016

1 commit

  • * acpi-x86:
    x86: ACPI: make variable names clearer in acpi_parse_madt_lapic_entries()
    x86: ACPI: remove extraneous white space after semicolon

    * acpi-cppc:
    ACPI / CPPC: Support PCC with interrupt flag
    ACPI / CPPC: Add prefix cppc to cpudata structure name
    ACPI / CPPC: Add support for functional fixed hardware address
    ACPI / CPPC: Don't return on CPPC probe failure
    ACPI / CPPC: Allow build with ACPI_CPU_FREQ_PSS config
    ACPI / CPPC: check for error bit in PCC status field
    ACPI / CPPC: move all PCC related information into pcc_data
    ACPI / CPPC: add sysfs support to compute delivered performance
    ACPI / CPPC: set a non-zero value for transition_latency
    ACPI / CPPC: support for batching CPPC requests
    ACPI / CPPC: acquire pcc_lock only while accessing PCC subspace
    ACPI / CPPC: restructure read/writes for efficient sys mapped reg ops
    mailbox: pcc: Support HW-Reduced Communication Subspace type 2

    * acpi-soc:
    ACPI / APD: constify local structures
    ACPI / APD: Add device HID for Vulcan SPI controller

    Rafael J. Wysocki
     

20 Sep, 2016

1 commit


10 Sep, 2016

4 commits

  • ACPICA commit 3c8c04c2e8a371018b3a29f5cfe27a241caea48d

    Version 20160831

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

    Bob Moore
     
  • ACPICA commit 0e24fb67cde08d7df7671d7d7b183490dc79707e

    The MLC (Module Level Code) is an ACPICA terminology describing the AML
    code out of any control method, its support is an indication of the
    interpreter behavior during the table loading.

    The original implementation of MLC in ACPICA had several issues:
    1. Out of any control method, besides of the object creating opcodes, only
    the code blocks wrapped by "If/Else/While" opcodes were supported.
    2. The supported MLC code blocks were executed after loading the table
    rather than being executed right in place.
    ============================================================
    The demo of this order issue is as follows:
    Name (OBJ1, 1)
    If (CND1 == 1)
    {
    Name (OBJ2, 2)
    }
    Name (OBJ3, 3)
    The original MLC support created OBJ2 after OBJ3's creation.
    ============================================================
    Other than these limitations, MLC support in ACPICA looks correct. And
    supporting this should be easy/natural for ACPICA, but enabling of this was
    blocked by some ACPICA internal and OSPM specific initialization order
    issues we've fixed recently. The wrong support started from the following
    false bug fixing commit:
    Commit: 7f0c826a437157d2b19662977e9cf3b472cf24a6
    Subject: ACPICA: Add support for module-level executable AML code
    Commit: 9a884ab64a4d092b4c3bf24fd9a30f7fbd4591e7
    Subject: ACPICA: Add additional module-level code support
    ...

    We can confirm Windows interpreter behavior via reverse engineering means.
    It can be proven that not only If/Else/While wrapped code blocks, all
    opcodes can be executed at the module level, including operation region
    accesses. And it can be proven that the MLC should be executed right in
    place, not in such a deferred way executed after loading the table.

    And the above facts indeed reflect the spec words around ACPI definition
    block tables (DSDT/SSDT/...), the entire table and the Scope object is
    defined by the AML specification in BNF style as:
    AMLCode := def_block_header term_list
    def_scope := scope_op pkg_length name_string term_list
    The bodies of the scope opening terms (AMLCode/Scope) are all term_list,
    thus the table loading should be no difference than the control method
    evaluations as the body of the Method is also defined by the AML
    specification as term_list:
    def_method := method_op pkg_length name_string method_flags term_list
    The only difference is: after evaluating control method, created named
    objects may be freed due to no reference, while named objects created by
    the table loading should only be freed after unloading the table.

    So this patch follows the spec and the de-facto standard behavior, enables
    the new grammar (term_list) for the table loading.

    By doing so, beyond the fixes to the above issues, we can see additional
    differences comparing to the old grammar based table loading:
    1. Originally, beyond the scope opening terms (AMLCode/Scope),
    If/Else/While wrapped code blocks under the scope creating terms
    (Device/power_resource/Processor/thermal_zone) are also supported as
    deferred MLC, which violates the spec defined grammar where object_list
    is enforced. With MLC support improved as non-deferred, the interpreter
    parses such scope creating terms as term_list rather object_list like the
    scope opening terms.
    After probing the Windows behavior and proving that it also parses these
    terms as term_list, we submitted an ECR (Engineering Change Request) to
    the ASWG (ACPI Specification Working Group) to clarify this. The ECR is
    titled as "ASL Grammar Clarification for Executable AML Opcodes" and has
    been accepted by the ASWG. The new grammar will appear in ACPI
    specification 6.2.
    2. Originally, Buffer/Package/operation_region/create_XXXField/bank_field
    arguments are evaluated in a deferred way after loading the table. With
    MLC support improved, they are also parsed right in place during the
    table loading.
    This is also Windows compliant and the only difference is the removal
    of the debugging messages implemented before acpi_ds_execute_arguments(),
    see Link # [1] for the details. A previous commit should have ensured
    that acpi_check_address_range() won't regress.

    Note that enabling this feature may cause regressions due to long term
    Linux ACPI support on top of the wrong grammar. So this patch also prepares
    a global option to be used to roll back to the old grammar during the
    period between a regression is reported and the regression is
    root-cause-fixed. Lv Zheng.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=112911 # [1]
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=117671 # [1]
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=153541 # [1]
    Link: https://github.com/acpica/acpica/issues/122
    Link: https://bugs.acpica.org/show_bug.cgi?id=963
    Link: https://github.com/acpica/acpica/commit/0e24fb67
    Reported-and-tested-by: Chris Bainbridge
    Reported-by: Ehsan
    Reported-and-tested-by: Dutch Guy
    Tested-by: Mika Westerberg
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit ed6a5fbc694f3a27d93014391aa9a6f6fe490461

    This patch adds 2 new table events to indicate table
    installation/uninstallation.

    Currently, as ACPICA never uninstalls tables, this patch thus only adds
    table handler invocation for the table installation event. Lv Zheng.

    The 2 events are to be used to fix a sysfs table handling issue related to
    LoadTable opcode (see Link # [1] below). The actual sysfs fixing code is
    not included, the sysfs fixes will be sent as separate patches.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=150841 # [1]
    Link: https://github.com/acpica/acpica/commit/ed6a5fbc
    Reported-by: Jason Voelz
    Reported-by: Francisco Leoner
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit fcc129d04f865161f308d3b8743496cc3f4d233e

    There are wrong table event macros, this patch cleans them up.

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

    Lv Zheng
     

09 Sep, 2016

1 commit


31 Aug, 2016

5 commits

  • PCC status field exposes an error bit(2) to indicate any errors during
    the execution of last comamnd. This patch checks the error bit before
    notifying success/failure to the cpufreq driver.

    Signed-off-by: Prashanth Prakash
    Signed-off-by: Rafael J. Wysocki

    Prakash, Prashanth
     
  • The CPPC tables contain entries for per CPU feedback counters which
    allows us to compute the delivered performance over a given interval
    of time.

    The math for delivered performance per the CPPCv5.0+ spec is:
    reference perf * delta(delivered perf ctr)/delta(ref perf ctr)

    Maintaining deltas of the counters in the kernel is messy, as it
    depends on when the reads are triggered. (e.g. via the cpufreq
    ->get() interface). Also the ->get() interace only returns one
    value, so cant return raw values. So instead, leave it to userspace
    to keep track of raw values and do its math for CPUs it cares about.

    delivered and reference perf counters are exposed via the same
    sysfs file to avoid the potential "skid", if these values are read
    individually from userspace.

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

    Ashwin Chaugule
     
  • Compute the expected transition latency for frequency transitions
    using the values from the PCCT tables when the desired perf
    register is in PCC.

    Signed-off-by: Prashanth Prakash
    Reviewed-by: Alexey Klimov
    Signed-off-by: Rafael J. Wysocki

    Prakash, Prashanth
     
  • CPPC defined in section 8.4.7 of ACPI 6.0 specification suggests
    "To amortize the cost of PCC transactions, OSPM should read or write
    all PCC registers via a single read or write command when possible"
    This patch enables opportunistic batching of frequency transition
    requests whenever the request happen to overlap in time.

    Currently the access to pcc is serialized by a spin lock which does
    not scale well as we increase the number of cores in the system. This
    patch improves the scalability by allowing the differnt CPU cores to
    update PCC subspace in parallel and by batching requests which will
    reduce the certain types of operation(checking command completion bit,
    ringing doorbell) by a significant margin.

    Profiling shows significant improvement in the overall effeciency
    to service freq. transition requests. With this patch we observe close
    to 30% of the frequency transition requests being batched with other
    requests while running apache bench on a ARM platform with 6
    independent domains(or sets of related cpus).

    Signed-off-by: Prashanth Prakash
    Signed-off-by: Rafael J. Wysocki

    Prakash, Prashanth
     
  • For cases where sys mapped CPC registers need to be accessed
    frequently, it helps immensly to pre-map them rather than map
    and unmap for each operation. e.g. case where feedback counters
    are sys mem map registers.

    Restructure cpc_read/write and the cpc_regs structure to allow
    pre-mapping the system addresses and unmap them when the CPU exits.

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

    Ashwin Chaugule
     

13 Aug, 2016

16 commits

  • ACPICA commit 1e997ab9a5b939533374fd567681f881cb97c4c7

    Version 20160729.

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

    Bob Moore
     
  • ACPICA commit be836c36454a624a4fb1d17234080ef8c07993fc

    There is a GCC false-warning issue on specific GCC versions that
    "strchr" will be preprocessed and extracted to contain
    !__buildin_constant_p() checker and it surely is a constant logical
    value "1" for strchr() arguments. Then -Wlogical-op errorneously reports a
    warning.

    The regression is triggered after the standard headers are re-ordered in
    the EFI porting task. This patch fixes this regression by moving the
    workaround to a new position after including all other standard headers.

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

    Lv Zheng
     
  • ACPICA commit a760a98ec84b1ec782e0bff5f6612af6fb89c10c

    Originally compiler specific headers are included by the host-specific
    headers. This makes build configuration management very inconvenient. And
    many inclusion order issues can be hidden accross different host OSes. It
    will then likely that some host builds will be broken just because of
    fixing some inclusion order issues for other host builds.

    This patch splits the compiler-specific header inclusions out of the
    host-specific headers so that compiler-specific inclusion order issues will
    not get entangled in the host-specific inclusion orders.

    Note that intel compiler defines __GNUC__, so this patch contains special
    handling because acintel.h and acgcc.h should be mutual exclusive.

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

    Lv Zheng
     
  • ACPICA commit 790b8bae858d6d97da6099c9f8485d4760035a0c

    Linux kernel is not affected by this change.

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

    Lv Zheng
     
  • …)/errno/perror() instead

    ACPICA commit 189429fb7d06cdb89043ae32d615faf553467f1d

    This patch follows new ACPICA design, eliminates old portable OSLs, and
    implements fopen/fread/fwrite/fclose/fseek/ftell for GNU EFI
    environment. This patch also eliminates acpi_log_error(), convering them
    into fprintf(stderr)/perror(). Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/189429fb
    Link: https://bugs.acpica.org/show_bug.cgi?id=1302
    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 9bb265c2afb9910e46f820d6759648580edabd09

    When /Za is specified, headers of some Windows SDKs contain bugs breaking
    VC builds, and MSVC9's default SDK is one of such header-buggy library.

    In order to solve this issue, many VC developers stop using /Za. However
    we've been asked to have this fixed without removing /Za.

    In MSVC9 default SDK, this issue can be fixed by restricting
    to be the last standard file included by every source file in the projects.
    This patch thus moves inclusion to "acapps.h", so that this
    issue can be fixed by ensuring that "acapps.h" is always the last standard
    file included by all of the ACPICA source files. This is in fact also a
    useful cleanup because applications can only include one header (e.x.,
    acpidump.h) instead of including acapps.h separately. Lv Zheng.

    Except some harmless header inclusion re-ordering, Linux kernel is not
    affected by this change.

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

    Lv Zheng
     
  • ACPICA commit 7f9b359b7c78c69b07f62eb2d58f710c351fd75d

    EFI header should use standard C library stuffs (integer types and IO
    handles) rather than implementing such standard stuffs.
    This patch fixes this issue by:
    1. Implementing standard integer types for ACPI_USE_STANDARD_HADERS=n;
    2. Defining EFI types using standard integer types and standard IO handles;
    3. Tuning header inclusion order and environment definition order;
    4. Removing wrong standard header inclusion from ACPICA core files;
    5. Moving several application headers from acpidump.h to acenv.h.
    This patch corrects some of them. Lv Zheng.

    Except some harmless header inclusion re-ordering, Linux kernel is not
    affected by this change.

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

    Lv Zheng
     
  • ACPICA commit 4aab18466b56f3660f27cffd3c0160900737f844

    When mini C library is used, we should have the following macros undefined.
    The only user should be the EFI applications:
    ACPI_USE_SYSTEM_CLIBRARY=n
    ACPI_USE_STANDARD_HEADERS=n
    All other applications uses the compiler specific library:
    ACPI_USE_SYSTEM_CLIBRARY=y
    ACPI_USE_STANDARD_HEADERS=y
    Linux/BSD kernels are the kind of hosts providing C library but does not
    provide the standard headers:
    ACPI_USE_SYSTEM_CLIBRARY=y
    ACPI_USE_STANDARD_HEADERS=n
    But the above logic hasn't been synchronized between the header files.

    This patch synchronizes all header files to correct C library usages for
    different platforms. This patch moves all ACPI_USE_SYSTEM_CLIRARY and
    ACPI_USE_STANDARD_HEADERS to the top most lines of a platform specific
    header.

    After synchronization, ACPI_USE_SYSTEM_CLIRARY definition can be removed
    for ACPI_APPLICATION. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit 32701b33cdc48d9bc43da8c9274cf172135b68fc

    We in fact always use the compiler specific stdarg.h for GCC even
    when ACPI_USE_STANDARD_HEADERS is not defined. So that the va_arg usages
    can always be correct for different compiler options.

    Likewise, the va_arg implemented in acenv.h is actually MSVC specific,
    this patch also moves it to acmsvc.h and tunes acwin.h to correctly use
    it.

    After cleaning up, this patch removes all inclusions from
    other files, but doesn't touch the BSD headers. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit 56920e2093d612ac6338dd8eb0fa89231446198f

    We now safe to enable USE_NATIVE_ALLOCATE_ZEROED for all applications as
    there are implementations in oswinxf.c, osunixxf.c and osefixf.c. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit 34ccd43af3fd1870fddfac0617dd0ba706963558

    Remove all vestiges of the version 2 FADT which never was included
    in the ACPI specification.

    This enabled significant cleanup of both the data table compiler
    and the disassembler.

    Added many clarification comments to associate each FADT version
    with the version of the ACPI spec where it was originally
    defined.

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

    Bob Moore
     
  • ACPICA commit 23a417ca406a527e7ae1710893e59a8b6db30e14

    There is a facility in Linux, developers can control the enabling/disabling
    of a GPE via /sys/firmware/acpi/interrupts/gpexx. This is mainly for
    debugging purposes.

    But many users expect to use this facility to implement quirks to mask a
    specific GPE when there is a gap in Linux causing this GPE to flood. This
    is not working correctly because currently this facility invokes
    enabling/disabling counting based GPE driver APIs:
    acpi_enable_gpe()/acpi_disable_gpe()
    and the GPE drivers can still affect the count to mess up the GPE
    masking purposes.

    However, most of the IRQ chip designs allow masking/unmasking IRQs via a
    masking bit which is different from the enabled bit to achieve the same
    purpose. But the GPE hardware doesn't contain such a feature, this brings
    the trouble.

    In this patch, we introduce a software mechanism to implement the GPE
    masking feature, and acpi_mask_gpe() are provided to the OSPMs to
    mask/unmask GPEs in the above mentioned situation instead of
    acpi_enable_gpe()/acpi_disable_gpe(). ACPICA BZ 1102. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit c160cae765412f5736cf88a9ebcc6138aa761a48

    Linux uses asmlinkage and sparse macros to mark function symbols. This
    leads to the divergences between the Linux and the ACPICA.
    This patch ports such declarators back to ACPICA. Lv Zheng.

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

    Lv Zheng
     
  • ACPICA commit 857c510d70e18eecc275dd3087807a18bae8aa51

    Allow for static configuration of this parameter. It is used
    to abort out of infinite loops caused by non-response from
    hardware.

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

    Bob Moore
     
  • ACPICA commit 58c9e7b83ae35247e430c39363f55b6f70fa04a2

    It is reported that the logging level of the ACPICA messages are not
    correct in the Linux kernel. This patch fixes this issue. Lv Zheng.

    Link: https://github.com/acpica/acpica/commit/58c9e7b8
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=117461
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • ACPICA commit f722da0372261331b74d3ac67645bba912a21643

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

    Jung-uk Kim
     

03 Aug, 2016

1 commit

  • There was only one use of __initdata_refok and __exit_refok

    __init_refok was used 46 times against 82 for __ref.

    Those definitions are obsolete since commit 312b1485fb50 ("Introduce new
    section reference annotations tags: __ref, __refdata, __refconst")

    This patch removes the following compatibility definitions and replaces
    them treewide.

    /* compatibility defines */
    #define __init_refok __ref
    #define __initdata_refok __refdata
    #define __exit_refok __ref

    I can also provide separate patches if necessary.
    (One patch per tree and check in 1 month or 2 to remove old definitions)

    [akpm@linux-foundation.org: coding-style fixes]
    Link: http://lkml.kernel.org/r/1466796271-3043-1-git-send-email-fabf@skynet.be
    Signed-off-by: Fabian Frederick
    Cc: Ingo Molnar
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fabian Frederick
     

31 Jul, 2016

1 commit

  • Pull sound updates from Takashi Iwai:
    "The majority of this update is about ASoC, including a few new
    drivers, and the rest are mostly minor changes. The only substantial
    change in ALSA core is about the additional error handling in the
    compress-offload API. Below are highlights:

    - Add the error propagating support in compress-offload API

    - HD-audio: a usual Dell headset fixup, an Intel HDMI/DP fix, and the
    default mixer setup change ot turn off the loopback

    - Lots of updates for ASoC Intel drivers, mostly board support and
    bug fixing, and to the NAU8825 driver

    - Work on generalizing bits of simple-card to allow more code sharing
    with the Renesas rsrc-card (which can't use simple-card due to DPCM)

    - Removal of the Odroid X2 driver due to replacement with simple-card

    - Support for several new Mediatek platforms and associated boards

    - New ASoC drivers for Allwinner A10, Analog Devices ADAU7002,
    Broadcom Cygnus, Cirrus Logic CS35L33 and CS53L30, Maxim MAX8960
    and MAX98504, Realtek RT5514 and Wolfson WM8758"

    * tag 'sound-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (278 commits)
    sound: oss: Use kernel_read_file_from_path() for mod_firmware_load()
    ASoC: Intel: Skylake: Delete an unnecessary check before the function call "release_firmware"
    ASoC: Intel: Skylake: Fix NULL Pointer exception in dynamic_debug.
    ASoC: samsung: Specify DMA channels through struct snd_dmaengine_pcm_config
    ASoC: samsung: Fix error paths in the I2S driver's probe()
    ASoC: cs53l30: Fix bit shift issue of TDM mode
    ASoC: cs53l30: Fix a bug for TDM slot location validation
    ASoC: rockchip: correct the spdif clk
    ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members
    ASoC: rsrc-card: use asoc_simple_card_parse_card_name()
    ASoC: rsrc-card: use asoc_simple_dai instead of rsrc_card_dai
    ASoC: rsrc-card: use asoc_simple_card_parse_dailink_name()
    ASoC: simple-card: use asoc_simple_card_parse_card_name()
    ASoC: simple-card-utils: add asoc_simple_card_parse_card_name()
    ASoC: simple-card: use asoc_simple_card_parse_dailink_name()
    ASoC: simple-card-utils: add asoc_simple_card_set_dailink_name()
    ASoC: nau8825: drop redundant idiom when converting integer to boolean
    ASoC: nau8825: jack connection decision with different insertion logic
    ASoC: mediatek: Add HDMI dai-links to the mt8173-rt5650 machine driver
    ASoC: mediatek: mt2701: fix non static symbol warning
    ...

    Linus Torvalds
     

25 Jul, 2016

4 commits

  • * acpi-processor:
    ACPI: enable ACPI_PROCESSOR_IDLE on ARM64
    arm64: add support for ACPI Low Power Idle(LPI)
    drivers: firmware: psci: initialise idle states using ACPI LPI
    cpuidle: introduce CPU_PM_CPU_IDLE_ENTER macro for ARM{32, 64}
    arm64: cpuidle: drop __init section marker to arm_cpuidle_init
    ACPI / processor_idle: Add support for Low Power Idle(LPI) states
    ACPI / processor_idle: introduce ACPI_PROCESSOR_CSTATE

    * acpi-cppc:
    mailbox: pcc: Add PCC request and free channel declarations
    ACPI / CPPC: Prevent cpc_desc_ptr points to the invalid data
    ACPI: CPPC: Return error if _CPC is invalid on a CPU

    * acpi-apei:
    ACPI / APEI: Add Boot Error Record Table (BERT) support
    ACPI / einj: Make error paths more talkative
    ACPI / einj: Convert EINJ_PFX to proper pr_fmt

    * acpi-sleep:
    ACPI: Execute _PTS before system reboot

    Rafael J. Wysocki
     
  • * acpi-ec:
    ACPI / EC: Remove wrong ECDT correction quirks
    ACPI / EC: Cleanup boot EC code using acpi_ec_alloc()

    * acpi-video:
    ACPI / video: Dummy acpi_video_register should return error code
    ACPI / video: skip evaluating _DOD when it does not exist
    ACPI / video: Thinkpad X201 Tablet needs video_detect_force_video

    * acpi-button:
    ACPI / button: Add quirks for initial lid state notification
    ACPI / button: Refactor functions to eliminate redundant code
    ACPI / button: Remove initial lid state notification

    * acpi-thermal:
    ACPI / thermal: Remove create_workqueue()

    Rafael J. Wysocki
     
  • * acpi-bus:
    ACPI / bus: Support for platform initiated graceful shutdown
    ACPI / bus: Correct the comments about acpi_subsystem_init()
    ACPI / bus: Use acpi_handle_debug() in acpi_print_osc_error()

    * acpi-pci:
    ACPI / PCI: make pci_slot explicitly non-modular
    ACPI / PCI: pci_slot: Use generic pr_debug utility
    ACPI / PCI: pci_slot: Use more common logging style

    * acpica:
    ACPICA: Linux: Enable ACPI_MUTEX_DEBUG for Linux kernel

    * acpi-doc:
    ACPI / debugger: Add AML debugger documentation
    ACPI: Add documentation describing ACPICA release automation

    Rafael J. Wysocki
     
  • * acpi-numa:
    ACPI / NUMA: Enable ACPI based NUMA on ARM64
    arm64, ACPI, NUMA: NUMA support based on SRAT and SLIT
    ACPI / processor: Add acpi_map_madt_entry()
    ACPI / NUMA: Improve SRAT error detection and add messages
    ACPI / NUMA: Move acpi_numa_memory_affinity_init() to drivers/acpi/numa.c
    ACPI / NUMA: remove unneeded acpi_numa=1
    ACPI / NUMA: move bad_srat() and srat_disabled() to drivers/acpi/numa.c
    x86 / ACPI / NUMA: cleanup acpi_numa_processor_affinity_init()
    arm64, NUMA: Cleanup NUMA disabled messages
    arm64, NUMA: rework numa_add_memblk()
    ACPI / NUMA: move acpi_numa_slit_init() to drivers/acpi/numa.c
    ACPI / NUMA: Move acpi_numa_arch_fixup() to ia64 only
    ACPI / NUMA: remove duplicate NULL check
    ACPI / NUMA: Replace ACPI_DEBUG_PRINT() with pr_debug()
    ACPI / NUMA: Use pr_fmt() instead of printk

    Rafael J. Wysocki