Re: [PATCH V5 07/11] of: Add bindings of hw-trip-points for soctherm
From: Matt Longnecker
Date: Wed Feb 17 2016 - 15:52:39 EST
(cc += linux-pm)
Rob,
The Linux thermal framework makes a sharp distinction between "thermal
zones" and "cooling devices". thermal_zones are aware of temperatures
and have trip points. cooling_devices are unaware of temperatures --
they just have a state variable. The thermal framework binds thermal
zones at particular temperatures to particular cooling devices. It does
so *in software*
The SOC_THERM IP block doesn't fit neatly in that paradigm. Yes, it
provides the ability to read temperatures and raise interrupts at
temperatures. However, it also has the ability to take cooling action
_in hardware_ at particular temperatures. It can throttle the CPU & GPU
clock and it can shut down the SOC. Neither of those are graceful
actions, but they are valuable in practice.
In previous incarnations of this driver we have implemented an unholy
mash-up of a cooling device and a thermal zone for configuring the
hardware thermal actions. It was a mess. This patchset from Wei takes a
simpler approach -- allow the thermal hardware cooling actions to be
configured directly via DT. It's simple but it's good enough in
practice. I like it.
-Matt
On 02/17/2016 01:46 AM, Wei Ni wrote:
On 2016å02æ15æ 15:15, Wei Ni wrote:
>Hi, Rob
>
>On 2016å02æ12æ 22:42, Rob Herring wrote:
>>On Fri, Jan 29, 2016 at 2:47 AM, Wei Ni<wni@xxxxxxxxxx> wrote:
>>>Add hw-trips sub-node for soctherm, which is
>>>used to describe the hardware trip points for
>>>each soctherm sensors.
>>
>>I still don't understand why you are doing something custom here.
>>What's wrong with what is defined in:
>>
>>Documentation/devicetree/bindings/thermal/thermal.txt
I think it's better to add a .set_trip_temp for of-thermal's
thermal_zone_of_device_ops{}, so that we can set trip points on hardware. I'm
preparing patches, and will send out next version.
Thanks for your comments.