- 06 2月, 2013 1 次提交
-
-
由 Jacob Pan 提交于
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: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJacob Pan <jacob.jun.pan@linux.intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 17 1月, 2013 1 次提交
-
-
由 Eduardo Valentin 提交于
This patch adds an extra check in the data structure while registering a thermal device. The check is to avoid registering zones with a number of trips greater than zero, but with no .get_trip_temp nor .get_trip_type callbacks. Receiving such data structure may end in wrong data access. Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Reviewed-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 16 1月, 2013 3 次提交
-
-
由 Eduardo Valentin 提交于
Change the logging messages to used dev_* helper functions. Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Reviewed-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Eduardo Valentin 提交于
No need for spinlocks in this file, then removing its header. Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Reviewed-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Eduardo Valentin 提交于
This patch changes the function thermal_generate_netlink_event to receive a thermal zone device instead of a originator id. This way, the messages will always be bound to a thermal zone. Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Reviewed-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 04 1月, 2013 8 次提交
-
-
由 Sachin Kamat 提交于
This eliminates having an #ifdef returning NULL for the case when OF is disabled. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Reviewed-by: NHongbo Zhang <hongbo.zhang@stericsson.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
This eliminates having an #ifdef returning NULL for the case when OF is disabled. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Reviewed-by: NHongbo Zhang <hongbo.zhang@stericsson.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
This eliminates having an #ifdef returning NULL for the case when OF is disabled. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Julia Lawall 提交于
devm_clk_get allocates a resource that is released when a driver detaches. This patch uses devm_clk_get for data that is allocated in the probe function of a platform device and is only released in the remove function. Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
This patch adds .get_trip_type(), .get_trip_temp(), and .notify() on rcar_thermal_zone_ops. Driver will try platform power OFF if it reached to critical temperature. Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Jonghwa Lee 提交于
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: NJonghwa Lee <jonghwa3.lee@samsung.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
step_wise governor should set the device cooling state to upper/lower limit directly when THERMAL_TREND_RAISE/DROP_FULL. Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 12 12月, 2012 2 次提交
-
-
由 Zhang Rui 提交于
Fix DEFAULT_THERMAL_GOVERNOR to be consistant with the default governor selected in kernel config file. Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
[ 12.761956] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 [ 12.762016] IP: [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys] [ 12.762060] PGD 1fec74067 PUD 1fee5b067 PMD 0 [ 12.762127] Oops: 0000 [#1] SMP [ 12.762177] Modules linked in: hid_generic crc32c_intel usbhid hid firewire_ohci(+) e1000e(+) firewire_core crc_itu_t xhci_hcd(+) thermal(+) fan thermal_sys hwmon [ 12.762423] CPU 1 [ 12.762443] Pid: 187, comm: modprobe Tainted: G A 3.7.0-thermal-module+ #25 /DH77DF [ 12.762496] RIP: 0010:[<ffffffffa0005277>] [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys] [ 12.762682] RSP: 0018:ffff8801fe7ddc18 EFLAGS: 00010282 [ 12.762704] RAX: 0000000000000000 RBX: ffff8801ff3e9c00 RCX: ffff8801fdc39800 [ 12.762728] RDX: ffff8801fe7ddc24 RSI: 0000000000000001 RDI: ffff8801ff3e9c00 [ 12.762764] RBP: ffff8801fe7ddc48 R08: 0000000004000000 R09: ffffffffa001f568 [ 12.762797] R10: ffffffff81363083 R11: 0000000000000001 R12: 0000000000000001 [ 12.762832] R13: 0000000000000000 R14: 0000000000000001 R15: ffff8801fde73e68 [ 12.762866] FS: 00007f5548516700(0000) GS:ffff88021f240000(0000) knlGS:0000000000000000 [ 12.762912] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 12.762946] CR2: 0000000000000018 CR3: 00000001fefe2000 CR4: 00000000001407e0 [ 12.762979] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 12.763014] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 12.763048] Process modprobe (pid: 187, threadinfo ffff8801fe7dc000, task ffff8801fe5bdb40) [ 12.763095] Stack: [ 12.763122] 0000000000019640 00000000fdc39800 ffff8801fe7ddc48 ffff8801ff3e9c00 [ 12.763225] 0000000000000002 0000000000000000 ffff8801fe7ddc78 ffffffffa00053e7 [ 12.763338] ffff8801ff3e9c00 0000000000006c98 ffffffffa0007480 ffff8801ff3e9c00 [ 12.763440] Call Trace: [ 12.763470] [<ffffffffa00053e7>] thermal_zone_device_update+0x77/0xa0 [thermal_sys] [ 12.763515] [<ffffffffa0006d38>] thermal_zone_device_register+0x788/0xa88 [thermal_sys] [ 12.763562] [<ffffffffa001f394>] acpi_thermal_add+0x360/0x4c8 [thermal] [ 12.763598] [<ffffffff8133902a>] acpi_device_probe+0x50/0x190 [ 12.763632] [<ffffffff811bd793>] ? sysfs_create_link+0x13/0x20 [ 12.763666] [<ffffffff813cc41b>] driver_probe_device+0x7b/0x240 [ 12.763699] [<ffffffff813cc68b>] __driver_attach+0xab/0xb0 [ 12.763732] [<ffffffff813cc5e0>] ? driver_probe_device+0x240/0x240 [ 12.763766] [<ffffffff813ca836>] bus_for_each_dev+0x56/0x90 [ 12.763799] [<ffffffff813cbf4e>] driver_attach+0x1e/0x20 [ 12.763831] [<ffffffff813cbac0>] bus_add_driver+0x190/0x290 [ 12.763864] [<ffffffffa0022000>] ? 0xffffffffa0021fff [ 12.763896] [<ffffffff813ccbea>] driver_register+0x7a/0x160 [ 12.763928] [<ffffffffa0022000>] ? 0xffffffffa0021fff [ 12.763960] [<ffffffff813399fb>] acpi_bus_register_driver+0x43/0x45 [ 12.763995] [<ffffffffa002203a>] acpi_thermal_init+0x3a/0x42 [thermal] [ 12.764029] [<ffffffff8100207f>] do_one_initcall+0x3f/0x170 [ 12.764063] [<ffffffff810b1a5f>] sys_init_module+0x8f/0x200 [ 12.764097] [<ffffffff815ff259>] system_call_fastpath+0x16/0x1b [ 12.764129] Code: 48 8b 87 c8 02 00 00 41 89 f4 48 8d 55 dc ff 50 28 44 8b 6d dc 41 8d 45 fe 83 f8 01 76 5e 48 8b 83 d8 02 00 00 44 89 e6 48 89 df <ff> 50 18 4c 8d a3 10 03 00 00 4c 89 e7 e8 87 f1 5e e1 8b 83 bc [ 12.765164] RIP [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys] [ 12.765223] RSP <ffff8801fe7ddc18> [ 12.765252] CR2: 0000000000000018 [ 12.765284] ---[ end trace 7723294cdfb00d2a ]--- This is because thermal_zone_device_update() is invoked before any thermal governors being registered. Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 03 12月, 2012 1 次提交
-
-
由 Masanari Iida 提交于
Correct spelling typo within various Kconfig. Signed-off-by: NMasanari Iida <standby24x7@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 26 11月, 2012 2 次提交
-
-
由 Kuninori Morimoto 提交于
This patch adds rcar_zone_to_priv() which is a helper macro for gettign private data. Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Kuninori Morimoto 提交于
The unit of temperature is Milli-Celsius. Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 22 11月, 2012 2 次提交
-
-
由 Eduardo Valentin 提交于
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: NEnric Balletbo i Serra <eballetbo@gmail.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Reviewed-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Eduardo Valentin 提交于
There are predefined cpu_masks that are const data structures. This patch changes the cpu cooling register function so that those const cpu_masks can be used, without compilation warnings. include/linux/cpumask.h * The following particular system cpumasks and operations manage * possible, present, active and online cpus. * * cpu_possible_mask- has bit 'cpu' set iff cpu is populatable * cpu_present_mask - has bit 'cpu' set iff cpu is populated * cpu_online_mask - has bit 'cpu' set iff cpu available to scheduler * cpu_active_mask - has bit 'cpu' set iff cpu available to migration * Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 15 11月, 2012 5 次提交
-
-
由 hongbo.zhang 提交于
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: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NFrancesco Lavra <francescolavra.fl@gmail.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
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: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Zhang Rui 提交于
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
Silences the following sparse warning: drivers/thermal/cpu_cooling.c:67:31: warning: symbol 'notify_device' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 07 11月, 2012 4 次提交
-
-
由 hongbo.zhang 提交于
Problem of using this list is that the cpufreq_get_max_state callback will be called when register cooling device by thermal_cooling_device_register, but this list isn't ready at this moment. What's more, there is no need to maintain such a list, we can get cpufreq_cooling_device instance by the private thermal_cooling_device.devdata. Signed-off-by: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NFrancesco Lavra <francescolavra.fl@gmail.com> Reviewed-by: NAmit Daniel Kachhap <amit.kachhap@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 hongbo.zhang 提交于
In the while loop for counting cpu frequencies, if table[i].frequency equals CPUFREQ_ENTRY_INVALID, index i won't be increased, so this leads to an endless loop, what's more the index i cannot be referred as cpu frequencies number if there is CPUFREQ_ENTRY_INVALID case. Signed-off-by: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAmit Daniel Kachhap <amit.kachhap@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 hongbo.zhang 提交于
The curly bracket should be aligned with corresponding if else statements. Signed-off-by: Nhongbo.zhang <hongbo.zhang@linaro.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Kuninori Morimoto 提交于
devm_kfree and devm_iounmap should not have to be explicitly used Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 05 11月, 2012 11 次提交
-
-
由 Sachin Kamat 提交于
Fixes the following sparse warnings: drivers/thermal/user_space.c:38:5: warning: symbol 'notify_user_space' was not declared. Should it be static? drivers/thermal/user_space.c:46:25: warning: symbol 'thermal_gov_user_space' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
Fixes the following sparse warnings: drivers/thermal/fair_share.c:80:5: warning: symbol 'fair_share_throttle' was not declared. Should it be static? drivers/thermal/fair_share.c:111:25: warning: symbol 'thermal_gov_fair_share' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Sachin Kamat 提交于
Fixes the following sparse warnings: drivers/thermal/step_wise.c:153:5: warning: symbol 'step_wise_throttle' was not declared. Should it be static? drivers/thermal/step_wise.c:172:25: warning: symbol 'thermal_gov_step_wise' was not declared. Should it be static? Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Hugh Dickins 提交于
This patch fixes the following mutex and NULL pointer problems in thermal_sys.c: * mutex_unlock fix in update_temperature function * mutex_unlock fix in bind_cdev function * Correct early return to continue in bind_cdev function * NULL check fix in bind_cdev function * NULL check fix in bind_tz function Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Reported-by: NSedat Dilek <sedat.dilek@gmail.com> Reported-by: NHugh Dickins <hughd@google.com> Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NSedat Dilek <sedat.dilek@gmail.com> Signed-off-by: NHugh Dickins <hughd@google.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
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: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch adds a notification API which the sensor drivers' can use to notify the framework. The framework then takes care of the throttling according to the configured policy. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch removes the throttling logic out of thermal_sys.c; also refactors the code into smaller functions so that are easy to read/maintain. * Seperates the handling of critical and non-critical trips * Re-arranges the set_polling and device_check methods, so that all related functions are arranged in one place. * Removes the 'do_update' and 'trip_update' method, as part of moving the throttling logic out of thermal_sys.c Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 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: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 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: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 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: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Durgadoss R 提交于
This patch makes the thermal_cdev_update function as a global one, so that other files can use it. This function serves as a single arbitrator to set the state of a cooling device. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-