- 04 12月, 2013 3 次提交
-
-
由 Eduardo Valentin 提交于
This patch adds a new API to allow registering cooling devices in the thermal framework derived from device tree nodes. This API links the cooling device with the device tree node so that binding with thermal zones is possible, given that thermal zones are pointing to cooling device device tree nodes. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Eduardo Valentin 提交于
This patch introduces a device tree bindings for describing the hardware thermal behavior and limits. Also a parser to read and interpret the data and feed it in the thermal framework is presented. This patch introduces a thermal data parser for device tree. The parsed data is used to build thermal zones and thermal binding parameters. The output data can then be used to deploy thermal policies. This patch adds also documentation regarding this API and how to define tree nodes to use this infrastructure. Note that, in order to be able to have control on the sensor registration on the DT thermal zone, it was required to allow changing the thermal zone .get_temp callback. For this reason, this patch also removes the 'const' modifier from the .ops field of thermal zone devices. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Acked-by: NMark Rutland <mark.rutland@arm.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Eduardo Valentin 提交于
This patch changes the thermal core driver to allow registration of thermal zones without the .get_temp callback. The idea behind this change is to allow lazy registration of sensor callbacks. The thermal zone will be disabled whenever the ops does not contain a .get_temp callback. The sysfs interface will be returning -EINVAL on any temperature read operation. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
- 20 11月, 2013 2 次提交
-
-
由 Johannes Berg 提交于
Register generic netlink multicast groups as an array with the family and give them contiguous group IDs. Then instead of passing the global group ID to the various functions that send messages, pass the ID relative to the family - for most families that's just 0 because the only have one group. This avoids the list_head and ID in each group, adding a new field for the mcast group ID offset to the family. At the same time, this allows us to prevent abusing groups again like the quota and dropmon code did, since we can now check that a family only uses a group it owns. Signed-off-by: NJohannes Berg <johannes.berg@intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Johannes Berg 提交于
This doesn't really change anything, but prepares for the next patch that will change the APIs to pass the group ID within the family, rather than the global group ID. Signed-off-by: NJohannes Berg <johannes.berg@intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 06 11月, 2013 2 次提交
-
-
由 Ni Wade 提交于
The thermal zone params can be used to set governor to specific thermal governor for thermal zone device. But if the thermal zone params has only governor name without thermal bind params, then the thermal zone device will not be binding to cooling device. Because tz->ops->bind operator is not invoked in bind_tz() and bind_cdev() when there is thermal zone params. Signed-off-by: NWei Ni <wni@nvidia.com> Signed-off-by: NJinyoung Park <jinyoungp@nvidia.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Wei Yongjun 提交于
In case of error, the function thermal_cooling_device_register() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 21 10月, 2013 1 次提交
-
-
由 Zhang Rui 提交于
Commit b82715fd introduces a 'device' subdirectory under /sys/class/hwmon/hwmonX/ directory, for the thermal_zone hwmon devices. And this results in different handling by libsensors. The problem is reported and discussed in this thread http://marc.info/?l=linux-pm&m=138229306109596&w=2 This patch reverts commit b82715fd. Reported-by: NArnaud Ebalard <arno@natisbad.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 16 10月, 2013 1 次提交
-
-
由 Viresh Kumar 提交于
CONFIG_CPU_FREQ_TABLE will be always enabled when cpufreq framework is used, as cpufreq core depends on it. So, we don't need this CONFIG option anymore as it is not configurable. Remove CONFIG_CPU_FREQ_TABLE and update its users. Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 15 10月, 2013 4 次提交
-
-
由 Eduardo Valentin 提交于
This patch changes the behavior of TI SoC thermal driver when there is a PCB thermal zone. Instead of reporting an error code when reading from PCB temperature sensor fails, this patch will make the driver attempt to compose the hotspot extrapolation based on bandgap readings only. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Lukasz Majewski 提交于
The commit d0a0ce3e ("thermal: exynos: Add missing definations and code cleanup") has removed setting of test MUX address value at TMU configuration setting. This field is not present on Exynos4210 and Exynos5 SoCs. However on Exynos4412 SoC it is required to set this field after reset because without it TMU shows maximal available temperature, which causes immediate platform shutdown. Signed-off-by: NLukasz Majewski <l.majewski@samsung.com> Reviewed-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Reviewed-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Lukasz Majewski 提交于
Up till now Exynos5250 and Exynos4412 had the same definitions for TMU data. Following commit changes that, by introducing separate exynos4412_default_tmu_data structure. Since Exynos4412 was chronologically first, the corresponding name for TMU registers and default data was renamed. Additionally, new SOC_ARCH_EXYNOS4412 type has been defined. Moreover, the SOC_ARCH_EXYNOS name has been changed to SOC_ARCH_EXYNOS5250. Signed-off-by: NLukasz Majewski <l.majewski@samsung.com> Reviewed-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Reviewed-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Lukasz Majewski 提交于
The commit 4de0bdaa ("thermal: exynos: Add support for instance based register/unregister") broke check for presence of therm_dev at global thermal zone in exynos_report_trigger(). The resulting wrong test prevents thermal_zone_device_update() call, which calls handlers for situation when trip points are passed. Such behavior prevents thermal driver from proper reaction (when TMU interrupt is raised) in a situation when overheating is detected at TMU hardware. It turns out, that after exynos thermal subsystem redesign (at v3.12) this check is not needed, since it is not possible to register thermal zone without valid thermal device. Signed-off-by: NLukasz Majewski <l.majewski@samsung.com> Reviewed-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Reviewed-by: NTomasz Figa <t.figa@samsung.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
- 14 10月, 2013 1 次提交
-
-
由 durgadoss.r@intel.com 提交于
The thermal_release function is called whenever any device belonging to 'thermal' class unregisters. This function performs kfree(cdev) without any check. In cases where there are more device registrations other than just 'thermal_zone' and 'cooling_device' this might accidently free memory allocated them silently; and cause memory errors. This patch changes this behavior by doing kfree(cdev) only when the device pointer belongs to a real cdev i.e. cooling_device. Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 09 10月, 2013 3 次提交
-
-
由 Jacob Pan 提交于
This will enable intel_powerclamp driver on newer Intel CPUs including some Ivy Bridge and Haswell processors. Signed-off-by: NJacob Pan <jacob.jun.pan@linux.intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 durgadoss.r@intel.com 提交于
This patch * adds missing kfree() for cpu_clamping_mask * adds return value checking for alloc_percpu() * unregister hotcpu notifier in exit path Signed-off-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Luka Perkov 提交于
Fix typo, finish sentence and add missing dots. Signed-off-by: NLuka Perkov <luka@openwrt.org> CC: Randy Dunlap <rdunlap@infradead.org> Acked-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 25 9月, 2013 2 次提交
-
-
由 Srinivas Pandruvada 提交于
x86_pkg_temp receives thermal notifications via a callback from a therm_throt driver, where thermal interrupts are processed. This callback is pkg_temp_thermal_platform_thermal_notify. Here to avoid multiple interrupts from cores in a package, we disable the source and also set a variable to avoid scheduling delayed work function. This variable is protected via spin_lock_irqsave. On one buggy platform, we still receiving interrupts even if the source is disabled. This can cause deadlock/lockdep warning, when interrupt is generated while under spinlock in work function. Change spin_lock to spin_lock_irqsave and spin_unlock to spin_unlock_irqrestore as the data it is trying to protect can also be modified in a notification call called from interrupt handler. Signed-off-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Regid Ichira 提交于
Applied to the HEAD of linux.git, VERSION = 3 PATCHLEVEL = 11 SUBLEVEL = 0 Signed-off-by: NRegid Ichira <regid23@nt1.in> Acked-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 03 9月, 2013 5 次提交
-
-
由 Eduardo Valentin 提交于
This patch avoids NULL pointer accesses while unregistering cpu cooling devices, in case a NULL pointer is received. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Eduardo Valentin 提交于
When registering a thermal zone device using platform information via bind_params, the thermal framework will always perform the cdev binding using the lowest and highest limits (THERMAL_NO_LIMIT). This patch changes the data structures so that it is possible to inform what are the desired limits for each trip point inside a bind_param. The way the binding is performed is also changed so that it uses the new data structure. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Eduardo Valentin 提交于
When registering a new thermal_device, the thermal framework will always add a hwmon sysfs interface. This patch adds a flag to make this behavior optional. Now when registering a new thermal device, the caller can optionally inform if hwmon interface is desirable. This can be done by means of passing a thermal_zone_params.no_hwmon == true. In order to keep same behavior as of today, all current calls will by default create the hwmon interface. Cc: David Woodhouse <dwmw2@infradead.org> Cc: linux-acpi@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: Zhang Rui <rui.zhang@intel.com> Suggested-by: NWei Ni <wni@nvidia.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Eduardo Valentin 提交于
When creating virtual hwmon devices based out of thermal zone devices, the virtual devices won't have parents. This patch changes the code so that the parent of virtual hwmon devices is the thermal zone device that they are based of. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Eduardo Valentin 提交于
In order to improve code organization, this patch moves the hwmon sysfs support to a file named thermal_hwmon. This helps to add extra support for hwmon without scrambling the code. In order to do this move, the hwmon list head is now using its own locking. Before, the list used the global thermal locking. Also, some minor changes in the code were required, as recommended by checkpatch.pl. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Acked-by: NDurgadoss R <durgadoss.r@intel.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
- 29 8月, 2013 6 次提交
-
-
由 Sachin Kamat 提交于
Commit 1cd1ecb6 ("thermal: exynos: Remove non DT based support") cleaned up some non-DT code. However, there were few more things needed for complete cleanup to make this driver DT only. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Sachin Kamat 提交于
NULL pointer was being dereferenced in its own error message. Changed it to the correct device pointer. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Sachin Kamat 提交于
Fixes some trivial typos. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Ranganath Krishnan 提交于
Workaround to compute thermal trend even when update interval is not set. This patch will ensure to compute the thermal trend when bandgap counter delay is not set. Signed-off-by: NRanganath Krishnan <ranganath@ti.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Ranganath Krishnan 提交于
Set the bandgap mask counter_delay with the polling_delay value on registering the thermal zone. This patch will ensure to get the correct update interval for computing the thermal trend. Signed-off-by: NRanganath Krishnan <ranganath@ti.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Ranganath Krishnan 提交于
Initialize MPU, GPU, CORE, DSPEVE and IVA thermal sensors of DRA752 bandgap with the counter delay mask. Signed-off-by: NRanganath Krishnan <ranganath@ti.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
- 15 8月, 2013 6 次提交
-
-
由 Eduardo Valentin 提交于
In case the trend is not changing or when there is no request for throttling, it is expected that the instance would not change its requested target. This patch improves the code implementation to cover for this expected behavior. With current implementation, the instance will always reset to cdev.cur_state, even in not expected cases, like those mentioned above. This patch changes the step_wise governor implementation of get_target so that we accomplish: (a) - default value will be current instance->target, so we do not change the thermal instance target unnecessarily. (b) - the code now it is clear about what is the intention. There is a clear statement of what are the expected outcomes (c) - removal of hardcoded constants, now it is put in use the THERMAL_NO_TARGET macro. (d) - variable names are also improved so that reader can clearly understand the difference between instance cur target, next target and cdev cur_state. Cc: Zhang Rui <rui.zhang@intel.com> Cc: Durgadoss R <durgadoss.r@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Reported-by: NRuslan Ruslichenko <ruslan.ruslichenko@ti.com> Signed-of-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Shawn Guo 提交于
The cooling device only needs update on a new target state. Since we already check old target in thermal_zone_trip_update(), we can do one more check to see if it's a new target state. If not, we can reasonably save some uncecesary code execution. Signed-off-by: NShawn Guo <shawn.guo@linaro.org> Acked-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Lan Tianyu 提交于
Thermal/cpu_cooling: Return directly for the cpu out of allowed_cpus in the cpufreq_thermal_notifier() cpufreq_thermal_notifier() is to change the cpu's cpufreq in the allowed_cpus mask when associated thermal-cpufreq cdev's cooling state is changed. It's a cpufreq policy notifier handler and it will be triggered even if those cpus out of allowed_cpus has changed freq policy. cpufreq_thermal_notifier() checks the policy->cpu. If it belongs to allowed_cpus, change max_freq(default to 0) to the desire cpufreq value and pass 0 and max_freq to cpufreq_verify_within_limits() as cpufreq scope. But if not, do nothing and max_freq will remain 0. This will cause the cpufreq scope to become 0~0. This is not right. This patch is to return directly after finding cpu not belonging to allowed_cpus. Signed-off-by: NLan Tianyu <tianyu.lan@intel.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Naveen Krishna Chatradhi 提交于
The error check is checking for a "base" mapped memory base instead of "base_common". Fixing the same. Signed-off-by: NNaveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Philipp Zabel 提交于
Enable automatic measurements at 10 Hz and use the alarm interrupt to react more quickly to sudden temperature changes above the passive or critical temperature trip points. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
由 Philipp Zabel 提交于
Set passive and critical trip point values depending on the maximum die temperature stored in the OCOTP fuses. This allows higher trip points for industrial and automotive rated i.MX6 SoCs. Also allow to configure the passive trip point from userspace. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Acked-by: NShawn Guo <shawn.guo@linaro.org> Signed-off-by: NZhang Rui <rui.zhang@intel.com>
-
- 13 8月, 2013 4 次提交
-
-
由 Amit Daniel Kachhap 提交于
TMU probe function now checks for a device tree defined regulator. For compatibility reasons it is allowed to probe driver even without this regulator defined. Acked-by: NJonghwa Lee <jonghwa3.lee@samsung.com> Acked-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NLukasz Majewski <l.majewski@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Amit Daniel Kachhap 提交于
This patch adds support for h/w mode calibration in the TMU controller. Soc's like 5440 support this features. The h/w bits needed for calibration setting are same as that of enum calibration_type. Acked-by: NJonghwa Lee <jonghwa3.lee@samsung.com> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Amit Daniel Kachhap 提交于
This patch sets the second point trimming value according to the platform data if the register value is 0. Acked-by: NJonghwa Lee <jonghwa3.lee@samsung.com> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Acked-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-
由 Amit Daniel Kachhap 提交于
This patch adds configuration data for exynos5440 soc. Also register definations for the controller are added. Acked-by: NJonghwa Lee <jonghwa3.lee@samsung.com> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com> Acked-by: NEduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
-