30 Aug, 2013

1 commit


29 Aug, 2013

1 commit


27 Aug, 2013

1 commit

  • * acpi-assorted:
    ACPI / osl: Kill macro INVALID_TABLE().
    earlycpio.c: Fix the confusing comment of find_cpio_data().
    ACPI / x86: Print Hot-Pluggable Field in SRAT.
    ACPI / thermal: Use THERMAL_TRIPS_NONE macro to replace number
    ACPI / thermal: Remove unused macros in the driver/acpi/thermal.c
    ACPI / thermal: Remove the unused lock of struct acpi_thermal
    ACPI / osl: Fix osi_setup_entries[] __initdata attribute location
    ACPI / numa: Fix __init attribute location in slit_valid()
    ACPI / dock: Fix __init attribute location in find_dock_and_bay()
    ACPI / Sleep: Fix incorrect placement of __initdata
    ACPI / processor: Fix incorrect placement of __initdata
    ACPI / EC: Fix incorrect placement of __initdata
    ACPI / scan: Drop unnecessary label from acpi_create_platform_device()
    ACPI: Move acpi_bus_get_device() from bus.c to scan.c
    ACPI / scan: Allow platform device creation without any IO resources
    ACPI: Cleanup sparse warning on acpi_os_initialize1()
    platform / thinkpad: Remove deprecated hotkey_report_mode parameter
    ACPI: Remove the old /proc/acpi/event interface

    Rafael J. Wysocki
     

15 Aug, 2013

3 commits


15 Jul, 2013

2 commits


26 Apr, 2013

1 commit

  • Commit 4ae46be "Thermal: Introduce thermal_zone_trip_update()"
    introduced a regression causing the fan to be always on even when
    the system is idle.

    My original idea in that commit is that:
    - when the current temperature is above the trip point,
    keep the fan on, even if the temperature is dropping.
    - when the current temperature is below the trip point,
    turn on the fan when the temperature is raising,
    turn off the fan when the temperature is dropping.

    But this is what the code actually does:
    - when the current temperature is above the trip point,
    the fan keeps on.
    - when the current temperature is below the trip point,
    the fan is always on because thermal_get_trend()
    in driver/acpi/thermal.c returns THERMAL_TREND_RAISING.
    Thus the fan keeps running even if the system is idle.

    Fix this in drivers/acpi/thermal.c.

    [rjw: Changelog]
    References: https://bugzilla.kernel.org/show_bug.cgi?id=56591
    References: https://bugzilla.kernel.org/show_bug.cgi?id=56601
    References: https://bugzilla.kernel.org/show_bug.cgi?id=50041#c45
    Signed-off-by: Zhang Rui
    Tested-by: Matthias
    Tested-by: Ville Syrjälä
    Cc: 3.7+
    Signed-off-by: Rafael J. Wysocki

    Zhang Rui
     

15 Feb, 2013

1 commit

  • * acpi-assorted:
    ACPI: Add DMI entry for Sony VGN-FW41E_H
    ACPI: fix obsolete comment in custom_method.c
    ACPI / thermal: Use mode to enable/disable kernel thermal processing
    ACPI thermal: remove unnecessary newline from exception message
    ACPI sysfs: remove unnecessary newline from exception
    ACPI video: remove unnecessary newline from error messages
    ACPI: SRAT: report non-volatile memory in debug
    ACPI: Rework acpi_get_child() to be more efficient

    Rafael J. Wysocki
     

26 Jan, 2013

3 commits


12 Dec, 2012

1 commit

  • Pull thermal management update from Zhang Rui:
    "Highlights:

    - Introduction of thermal policy support, together with three new
    thermal governors, including step_wise, user_space, fire_share.

    - Introduction of ST-Ericsson db8500_thermal driver and ST-Ericsson
    db8500_cpufreq_cooling driver.

    - Thermal Kconfig file and Makefile refactor.

    - Fixes for generic thermal layer, generic cpucooling, rcar thermal
    driver and Exynos thermal driver."

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)
    Thermal: Fix DEFAULT_THERMAL_GOVERNOR
    Thermal: fix a NULL pointer dereference when generic thermal layer is built as a module
    thermal: rcar: add rcar_zone_to_priv() macro
    thermal: rcar: fixup the unit of temperature
    thermal: cpu cooling: allow module builds
    thermal: cpu cooling: use const parameter while registering
    Thermal: Add ST-Ericsson DB8500 thermal properties and platform data.
    Thermal: Add ST-Ericsson DB8500 thermal driver.
    drivers/thermal/Makefile refactor
    Exynos: Add missing dependency
    Refactor drivers/thermal/Kconfig
    thermal: cpu_cooling: Make 'notify_device' static
    Thermal: Remove the cooling_cpufreq_list.
    Thermal: fix bug of counting cpu frequencies.
    Thermal: add indent for code alignment.
    thermal: rcar_thermal: remove explicitly used devm_kfree/iounap()
    thermal: user_space: Add missing static storage class specifiers
    thermal: fair_share: Add missing static storage class specifiers
    thermal: step_wise: Add missing static storage class specifiers
    Thermal: Fix oops and unlocking in thermal_sys.c
    ...

    Linus Torvalds
     

28 Nov, 2012

1 commit

  • On some platforms, _TMP and _CRT/_HOT/_PSV/_ACx have dependency.
    And there is no way for OS to detect this dependency.

    commit 9bcb8118965ab4631a65ee0726e6518f75cda6c5 shows us a problem
    that _TMP must be evaluate after _CRT/_HOT/_PSV/_ACx, or else
    firmware will shutdown the system.

    But the machine in https://bugzilla.kernel.org/show_bug.cgi?id=43284
    shows us that _PSV would return valid value only if _TMP has been
    evaluated once.

    With this patch, all of the control methods will be evaluated once,
    in the _CRT/_HOT/_PSV/_CRT/_TMP order, before they are actually used.

    [rjw: Added a local variable for the handle and modified the loop
    slightly.]
    Signed-off-by: Zhang Rui
    Tested-by: katabami
    Signed-off-by: Rafael J. Wysocki

    Zhang Rui
     

05 Nov, 2012

1 commit


09 Oct, 2012

1 commit


24 Sep, 2012

4 commits

  • This function is used to update the cooling state of
    all the cooling devices that are bound to an active trip point.

    This will be used for passive cooling as well, in the future patches.
    as both active and passive cooling can share the same algorithm,
    which is

    1. if the temperature is higher than a trip point,
    a. if the trend is THERMAL_TREND_RAISING, use higher cooling
    state for this trip point
    b. if the trend is THERMAL_TREND_DROPPING, use lower cooling
    state for this trip point

    2. if the temperature is lower than a trip point, use lower
    cooling state for this trip point.

    Signed-off-by: Zhang Rui
    Reviewed-by: Rafael J. Wysocki
    Reviewed-by: Eduardo Valentin

    Zhang Rui
     
  • Remove tc1/tc2 in generic thermal layer.
    .get_trend() callback starts to take effect from this patch.

    Signed-off-by: Zhang Rui
    Reviewed-by: Rafael J. Wysocki
    Reviewed-by: Valentin, Eduardo

    Zhang Rui
     
  • According to ACPI spec, tc1 and tc2 are used by OSPM
    to anticipate the temperature trends.
    We introduced the same concept to the generic thermal layer
    for passive cooling, but now it seems that these values
    are hard to be used on other platforms.

    So We introduce .get_trend() as a more general solution.

    For the platform thermal drivers that have their own way to
    anticipate the temperature trends, they should provide
    their own .get_trend() callback.
    Or else, we will calculate the temperature trends by simply
    comparing the current temperature and the cached previous
    temperature reading.

    Signed-off-by: Zhang Rui
    Reviewed-by: Rafael J. Wysocki
    Reviewed-by: Valentin, Eduardo

    Zhang Rui
     
  • set upper and lower limits when binding
    a thermal cooling device to a thermal zone device.

    Signed-off-by: Zhang Rui
    Reviewed-by: Rafael J. Wysocki
    Reviewed-by: Eduardo Valentin

    Zhang Rui
     

10 Aug, 2012

1 commit


27 Jul, 2012

1 commit

  • Pull ACPI & power management update from Len Brown:
    "Re-write of the turbostat tool.
    lower overhead was necessary for measuring very large system when
    they are very idle.

    IVB support in intel_idle
    It's what I run on my IVB, others should be able to also:-)

    ACPICA core update
    We have found some bugs due to divergence between Linux and the
    upstream ACPICA base. Most of these patches are to reduce that
    divergence to reduce the risk of future bugs.

    Some cpuidle updates, mostly for non-Intel
    More will be coming, as they depend on this part.

    Some thermal management changes needed by non-ACPI systems.

    Some _OST (OS Status Indication) updates for hot ACPI hot-plug."

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (51 commits)
    Thermal: Documentation update
    Thermal: Add Hysteresis attributes
    Thermal: Make Thermal trip points writeable
    ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check
    tools/power: turbostat: fix large c1% issue
    tools/power: turbostat v2 - re-write for efficiency
    ACPICA: Update to version 20120711
    ACPICA: AcpiSrc: Fix some translation issues for Linux conversion
    ACPICA: Update header files copyrights to 2012
    ACPICA: Add new ACPI table load/unload external interfaces
    ACPICA: Split file: tbxface.c -> tbxfload.c
    ACPICA: Add PCC address space to space ID decode function
    ACPICA: Fix some comment fields
    ACPICA: Table manager: deploy new firmware error/warning interfaces
    ACPICA: Add new interfaces for BIOS(firmware) errors and warnings
    ACPICA: Split exception code utilities to a new file, utexcep.c
    ACPI: acpi_pad: tune round_robin_time
    ACPICA: Update to version 20120620
    ACPICA: Add support for implicit notify on multiple devices
    ACPICA: Update comments; no functional change
    ...

    Linus Torvalds
     

25 Jul, 2012

2 commits

  • With commit 6503e5df08008b9a47022b5e9ebba658c8fa69af,
    the value of /sys/class/thermal/thermal_zoneX/mode has been changed
    from user/kernel to enabled/disabled.
    Update the documentation so that users won't be confused.

    Signed-off-by: Zhang Rui
    Signed-off-by: Len Brown

    Zhang Rui
     
  • Some of the thermal drivers using the Generic Thermal Framework
    require (all/some) trip points to be writeable. This patch makes
    the trip point temperatures writeable on a per-trip point basis,
    and modifies the required function call in thermal.c. This patch
    also updates the Documentation to reflect the new change.

    Signed-off-by: Durgadoss R
    Signed-off-by: Zhang Rui
    Signed-off-by: Len Brown

    Durgadoss R
     

01 Jul, 2012

1 commit


30 Mar, 2012

1 commit

  • An HP laptop (Pavilion G4-1016tx) has the following code in _TMP:

    Store (\_SB.PCI0.LPCB.EC0.RTMP, Local0)
    If (LGreaterEqual (Local0, S4TP))
    {
    Store (One, HTS4)
    }

    S4TP is initialised at 0 and not programmed further until either _HOT or
    _CRT is called. If we evaluate _TMP before the trip points then HTS4 will
    always be set, causing the firmware to generate a message on boot
    complaining that the system shut down because of overheating. The simplest
    solution is just to reverse the checking of trip points and _TMP in thermal
    init.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Len Brown

    Matthew Garrett
     

17 Jul, 2011

1 commit

  • Structs battery_file, acpi_dock_ops, file_operations,
    thermal_cooling_device_ops, thermal_zone_device_ops, kernel_param_ops
    are not changed in runtime. It is safe to make them const.
    register_hotplug_dock_device() was altered to take const "ops" argument
    to respect acpi_dock_ops' const notion.

    Signed-off-by: Vasiliy Kulikov
    Acked-by: Jeff Garzik
    Signed-off-by: Len Brown

    Vasiliy Kulikov
     

12 Jan, 2011

1 commit

  • Use the new function acpi_bus_update_power() for manipulating power
    resources used by ACPI fan devices, which allows them to be put into
    the right state during initialization and resume. Consequently,
    remove the flags.force_power_state field from struct acpi_device,
    which is not necessary any more.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     

16 Oct, 2010

1 commit

  • Remove the deprecated ACPI thermal driver procfs I/F,
    as stated in the changelog of commit 43d9f87b79804f2d75d9d8a81c862b179f055a15

    sysfs I/F is available at /sys/class/thermal/thermal_zoneX/

    Signed-off-by: Zhang Rui
    Signed-off-by: Len Brown

    Zhang Rui
     

15 Aug, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

15 Mar, 2010

1 commit


23 Feb, 2010

1 commit

  • V2: Corrected integer/long conversion.

    Some BIOSes return a negative value for the critical trip point.
    Especially since Windows 2006...
    We currently invalidate the whole thermal zone in this case.
    But it may still be needed for cooling, also without critical
    trip point.

    This patch invalidates the critical trip point if no _CRT
    function is found or if it returns negative values, but does
    not invalidate the whole thermal zone in this case.

    Reference: http://bugzilla.novell.com/show_bug.cgi?id=531547

    Signed-off-by: Thomas Renninger
    Tested-by: clarkt@cnsp.com
    Acked-by: Zhang Rui
    Signed-off-by: Len Brown

    Thomas Renninger
     

19 Feb, 2010

1 commit


06 Nov, 2009

1 commit

  • Users can force a passive trip point for a thermal zone that does not
    have _PSV defined in ACPI by setting the passive attribute in sysfs.
    It's useful to display such trip points in /proc/acpi/thermal_zone.

    .../TZ1/cooling_mode:
    .../TZ1/polling_frequency:polling frequency: 10 seconds
    .../TZ1/state:state: ok
    .../TZ1/temperature:temperature: 53 C
    .../TZ1/trip_points:critical (S5): 110 C
    .../TZ1/trip_points:passive (forced): 95 C

    And if not set (passive is 0):
    .../TZ1/trip_points:passive (forced):

    Signed-off-by: Frans Pop
    Acked-by: Zhang Rui
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Frans Pop
     

29 Aug, 2009

1 commit

  • Linux/ACPI core files using internal.h all PREFIX "ACPI: ",
    however, not all ACPI drivers use/want it -- and they
    should not have to #undef PREFIX to define their own.

    Add GPL commment to internal.h while we are there.

    This does not change any actual console output,
    asside from a whitespace fix.

    Signed-off-by: Len Brown

    Len Brown
     

18 Apr, 2009

1 commit


08 Apr, 2009

2 commits