08 Feb, 2013

3 commits


06 Feb, 2013

2 commits

  • This patch adds support to set the emulated temperature method in
    thermal zone (sensor). After setting this feature thermal zone may
    report this temperature and not the actual temperature. The emulation
    implementation may be based on sensor capability through platform
    specific handler or pure software emulation if no platform handler defined.

    This is useful in debugging different temperature threshold and its
    associated cooling action. Critical threshold's cannot be emulated.
    Writing 0 on this node should disable emulation.

    Signed-off-by: Amit Daniel Kachhap
    Acked-by: Kukjin Kim
    Signed-off-by: Zhang Rui

    Amit Daniel Kachhap
     
  • Intel PowerClamp driver performs synchronized idle injection across
    all online CPUs. The goal is to maintain a given package level C-state
    ratio.

    Compared to other throttling methods already exist in the kernel,
    such as ACPI PAD (taking CPUs offline) and clock modulation, this is often
    more efficient in terms of performance per watt.

    Please refer to Documentation/thermal/intel_powerclamp.txt for more details.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Jacob Pan
    Signed-off-by: Zhang Rui

    Jacob Pan
     

04 Jan, 2013

1 commit

  • This patch supports exynos's emulation mode with newly created sysfs node.
    Exynos 4x12 (4212, 4412) and 5 series provide emulation mode for thermal
    management unit. Thermal emulation mode supports software debug for TMU's
    operation. User can set temperature manually with software code and TMU
    will read current temperature from user value not from sensor's value.
    This patch includes also documentary placed under Documentation/thermal/.

    Signed-off-by: Jonghwa Lee
    Signed-off-by: Zhang Rui

    Jonghwa Lee
     

14 Dec, 2012

1 commit

  • Pull trivial branch from Jiri Kosina:
    "Usual stuff -- comment/printk typo fixes, documentation updates, dead
    code elimination."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    HOWTO: fix double words typo
    x86 mtrr: fix comment typo in mtrr_bp_init
    propagate name change to comments in kernel source
    doc: Update the name of profiling based on sysfs
    treewide: Fix typos in various drivers
    treewide: Fix typos in various Kconfig
    wireless: mwifiex: Fix typo in wireless/mwifiex driver
    messages: i2o: Fix typo in messages/i2o
    scripts/kernel-doc: check that non-void fcts describe their return value
    Kernel-doc: Convention: Use a "Return" section to describe return values
    radeon: Fix typo and copy/paste error in comments
    doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c
    various: Fix spelling of "asynchronous" in comments.
    Fix misspellings of "whether" in comments.
    eisa: Fix spelling of "asynchronous".
    various: Fix spelling of "registered" in comments.
    doc: fix quite a few typos within Documentation
    target: iscsi: fix comment typos in target/iscsi drivers
    treewide: fix typo of "suport" in various comments and Kconfig
    treewide: fix typo of "suppport" in various comments
    ...

    Linus Torvalds
     

03 Dec, 2012

1 commit


22 Nov, 2012

1 commit

  • As thermal drivers can be built as modules and also
    the thermal framework itself, building cpu cooling
    only as built-in can cause linking errors. For instance:
    * Generic Thermal sysfs driver
    *
    Generic Thermal sysfs driver (THERMAL) [M/n/y/?] m
    generic cpu cooling support (CPU_THERMAL) [N/y/?] (NEW) y

    with the following drive:
    CONFIG_OMAP_BANDGAP=m

    generates:
    ERROR: "cpufreq_cooling_unregister" [drivers/staging/omap-thermal/omap-thermal.ko] undefined!
    ERROR: "cpufreq_cooling_register" [drivers/staging/omap-thermal/omap-thermal.ko] undefined!

    This patch changes cpu cooling driver to allow it
    to be built as module.

    Reported-by: Enric Balletbo i Serra
    Signed-off-by: Eduardo Valentin
    Reviewed-by: Durgadoss R
    Signed-off-by: Zhang Rui

    Eduardo Valentin
     

15 Nov, 2012

3 commits

  • This driver is based on the thermal management framework in thermal_sys.c. A
    thermal zone device is created with the trip points to which cooling devices
    can be bound, the current cooling device is cpufreq, e.g. CPU frequency is
    clipped down to cool the CPU, and other cooling devices can be added and bound
    to the trip points dynamically. The platform specific PRCMU interrupts are
    used to active thermal update when trip points are reached.

    Signed-off-by: hongbo.zhang
    Reviewed-by: Viresh Kumar
    Reviewed-by: Francesco Lavra
    Signed-off-by: Zhang Rui

    hongbo.zhang
     
  • CPU_FREQ_TABLE depends on CPU_FREQ. Selecting CPU_FREQ_TABLE without checking
    for dependencies gives the following compilation warnings:
    warning: (ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC && UX500_SOC_DB8500 &&
    CPU_THERMAL && EXYNOS_THERMAL) selects CPU_FREQ_TABLE which has unmet
    direct dependencies (ARCH_HAS_CPUFREQ && CPU_FREQ)

    Based-on-patch-by: Sachin Kamat
    Signed-off-by: Zhang Rui

    Zhang Rui
     
  • Signed-off-by: Zhang Rui

    Zhang Rui
     

05 Nov, 2012

4 commits

  • This patch provides option to choose the default thermal
    governor. If no option is provided, the step_wise
    governor is selected by default.

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

    Durgadoss R
     
  • This patch registers a governor which will let the
    user land manage the platform thermals. Whenever a
    trip happens, this governor just notifies the user
    space using kobj_uevent().

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

    Durgadoss R
     
  • This patch adds a simple step_wise governor to the
    generic thermal layer. This algorithm throttles the
    cooling devices in a linear fashion. If the 'trend'
    is heating, it throttles by one step. And if the
    thermal trend is cooling it de-throttles by one step.

    This actually moves the throttling logic from thermal_sys.c
    and puts inside step_wise.c, without any change.

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

    Durgadoss R
     
  • This patch introduces a simple 'weight' based
    governor named fair_share governor. Whenever the
    thermal framework gets notified of the trip point
    violation, this governor (if configured), throttles
    the cooling devices associated with a thermal zone.

    This mapping between a thermal zone and a cooling device
    and the effectiveness of cooling are provided in the
    platform layer.

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

    Durgadoss R
     

16 Oct, 2012

1 commit

  • Commit 023614183768 ("thermal: add generic cpufreq cooling
    implementation") requires cpufreq_frequency_get_table(), but that
    function is only defined for CONFIG_CPU_FREQ_TABLE resulting in the
    following build error:

    drivers/built-in.o: In function `cpufreq_get_max_state':
    drivers/thermal/cpu_cooling.c:259: undefined reference to `cpufreq_frequency_get_table'
    drivers/built-in.o: In function `get_cpu_frequency':
    drivers/thermal/cpu_cooling.c:129: undefined reference to `cpufreq_frequency_get_table'

    Fix it by selecting CONFIG_CPU_FREQ_TABLE for such a configuration.

    It turns out CONFIG_EXYNOS_THERMAL also needs CONFIG_CPU_FREQ_TABLE, so
    select it there as well.

    Signed-off-by: David Rientjes
    Signed-off-by: Linus Torvalds

    David Rientjes
     

24 Sep, 2012

4 commits

  • Insert exynos5 TMU sensor changes into the thermal driver. Some exynos4
    changes are made generic for exynos series.

    [akpm@linux-foundation.org: fix comment layout]
    Signed-off-by: SangWook Ju
    Signed-off-by: Amit Daniel Kachhap
    Acked-by: Guenter Roeck
    Cc: Durgadoss
    Cc: Len Brown
    Cc: Jean Delvare
    Cc: Kyungmin Park
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Amit Daniel Kachhap
    Signed-off-by: Zhang Rui

    Amit Daniel Kachhap
     
  • This movement is needed because the hwmon entries and corresponding sysfs
    interface is a duplicate of utilities already provided by
    driver/thermal/thermal_sys.c. The goal is to place it in thermal folder
    and add necessary functions to use the in-kernel thermal interfaces.

    Signed-off-by: Amit Daniel Kachhap
    Acked-by: Guenter Roeck
    Cc: SangWook Ju
    Cc: Durgadoss
    Cc: Len Brown
    Cc: Jean Delvare
    Cc: Kyungmin Park
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Amit Daniel Kachhap
    Signed-off-by: Zhang Rui

    Amit Daniel Kachhap
     
  • This patchset introduces a new generic cooling device based on cpufreq
    that can be used on non-ACPI platforms. As a proof of concept, we have
    drivers for the following platforms using this mechanism now:

    * Samsung Exynos (Exynos4 and Exynos5) in the current patchset.
    * Freescale i.MX (git://git.linaro.org/people/amitdanielk/linux.git imx6q_thermal)

    There is a small change in cpufreq cooling registration APIs, so a minor
    change is needed for Freescale platforms.

    Brief Description:

    1) The generic cooling devices code is placed inside driver/thermal/*
    as placing inside acpi folder will need un-necessary enabling of acpi
    code. This code is architecture independent.

    2) This patchset adds generic cpu cooling low level implementation
    through frequency clipping. In future, other cpu related cooling
    devices may be added here. An ACPI version of this already exists
    (drivers/acpi/processor_thermal.c) .But this will be useful for
    platforms like ARM using the generic thermal interface along with the
    generic cpu cooling devices. The cooling device registration API's
    return cooling device pointers which can be easily binded with the
    thermal zone trip points. The important APIs exposed are,

    a) struct thermal_cooling_device *cpufreq_cooling_register(
    struct cpumask *clip_cpus)
    b) void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)

    3) Samsung exynos platform thermal implementation is done using the
    generic cpu cooling APIs and the new trip type. The temperature sensor
    driver present in the hwmon folder(registered as hwmon driver) is moved
    to thermal folder and registered as a thermal driver.

    A simple data/control flow diagrams is shown below,

    Core Linux thermal Exynos thermal interface
    Cc: Guenter Roeck
    Cc: SangWook Ju
    Cc: Durgadoss
    Cc: Len Brown
    Cc: Jean Delvare
    Cc: Kyungmin Park
    Cc: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Amit Daniel Kachhap
    Signed-off-by: Zhang Rui

    Amit Daniel Kachhap
     
  • This patch add basic Renesas R-Car thermal sensor support.
    It was tested on R-Car H1 Marzen board.

    Signed-off-by: Kuninori Morimoto
    Cc: Len Brown
    Cc: Joe Perches
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Cc: Magnus Damm
    Signed-off-by: Andrew Morton
    Signed-off-by: Zhang Rui

    Kuninori Morimoto
     

02 Jun, 2012

1 commit

  • SPEAr platforms now support DT and so must convert all drivers to support
    DT. This patch adds DT probing support for SPEAr thermal sensor driver
    and updates its documentation too.

    Also, as SPEAr is the only user of this driver and is only available with
    DT, make this an only DT driver. So, platform_data is completely removed
    and passed via DT now.

    Signed-off-by: Viresh Kumar
    Cc: Dan Carpenter
    Reviewed-by: Vincenzo Frascino
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Viresh Kumar
     

22 Mar, 2012

1 commit

  • ST's SPEAr13xx machines are based on CortexA9 ARM processors. These
    machines contain a thermal sensor for junction temperature monitoring.

    This patch adds support for this thermal sensor in existing thermal
    framework.

    [akpm@linux-foundation.org: little code cleanup]
    [akpm@linux-foundation.org: print the pointer correctly]
    [viresh.kumar@st.com: thermal/spear_thermal: add compilation dependency on PLAT_SPEAR]
    Signed-off-by: Vincenzo Frascino
    Signed-off-by: Viresh Kumar
    Signed-off-by: Viresh Kumar
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Vincenzo Frascino
     

03 Aug, 2011

1 commit

  • It's about time to revert 16d752397301b9 ("thermal: Create
    CONFIG_THERMAL_HWMON=n"). Anybody running a kernel >= 2.6.40 would also
    be running a recent enough version of lm-sensors.

    Actually having CONFIG_THERMAL_HWMON is pretty convenient so instead of
    dropping it, we keep it but hide it.

    Signed-off-by: Jean Delvare
    Cc: Rene Herman
    Acked-by: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Jean Delvare
     

01 Mar, 2011

1 commit

  • Several ACPI drivers fail to build if CONFIG_NET is unset, because
    they refer to things depending on CONFIG_THERMAL that in turn depends
    on CONFIG_NET. However, CONFIG_THERMAL doesn't really need to depend
    on CONFIG_NET, because the only part of it requiring CONFIG_NET is
    the netlink interface in thermal_sys.c.

    Put the netlink interface in thermal_sys.c under #ifdef CONFIG_NET
    and remove the dependency of CONFIG_THERMAL on CONFIG_NET from
    drivers/thermal/Kconfig.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Randy Dunlap
    Cc: Ingo Molnar
    Cc: Len Brown
    Cc: Stephen Rothwell
    Cc: Luming Yu
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

12 Jan, 2011

1 commit


19 Sep, 2009

1 commit


26 Jun, 2008

1 commit


29 Apr, 2008

1 commit


18 Mar, 2008

2 commits


13 Mar, 2008

1 commit


08 Feb, 2008

1 commit


02 Feb, 2008

1 commit