Re: [PATCH v1 01/12] of: Add bindings of thermtrip for Tegra soctherm

2019-02-20 Thread Wei Ni



On 20/2/2019 9:22 AM, Eduardo Valentin wrote:
> On Fri, Dec 28, 2018 at 11:28:42AM +0800, Wei Ni wrote:
>>
>>
>> On 28/12/2018 7:06 AM, Rob Herring wrote:
>>> On Tue, Dec 18, 2018 at 03:34:33PM +0800, Wei Ni wrote:
 Add optional property "nvidia,thermtrips".
 If present, these trips will be used as HW shutdown trips,
 and critical trips will be used as SW shutdown trips.

 Signed-off-by: Wei Ni 
 ---
  .../bindings/thermal/nvidia,tegra124-soctherm.txt| 20 
 +---
  1 file changed, 17 insertions(+), 3 deletions(-)

 diff --git 
 a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt 
 b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
 index b6c0ae53d4dc..ab66d6feab4b 100644
 --- 
 a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
 +++ 
 b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
 @@ -55,10 +55,21 @@ Required properties :
- #cooling-cells: Should be 1. This cooling device only support 
 on/off state.
  See ./thermal.txt for a description of this property.
  
 +Optional properties:
 +- nvidia,thermtrips : When present, this property specifies the 
 temperature at
 +  which the soctherm hardware will assert the thermal trigger signal to 
 the
 +  Power Management IC, which can be configured to reset or shutdown the 
 device.
 +  It is an array of pairs where each pair represents a tsensor id 
 followed by a
 +  temperature in milli Celcius. In the absence of this property the 
 critical
 +  trip point will be used for thermtrip temperature.
 +
  Note:
 -- the "critical" type trip points will be set to SOC_THERM hardware as the
 -shut down temperature. Once the temperature of this thermal zone is higher
 -than it, the system will be shutdown or reset by hardware.
 +- the "critical" type trip points will be used to set the temperature at 
 which
 +the SOC_THERM hardware will assert a thermal trigger if the 
 "nvidia,thermtrips"
 +property is missing. When the thermtrips property is present, the breach 
 of a
 +critical trip point is reported back to the thermal framework to implement
 +software shutdown.
>>>
>>> This hardly seems like a NVidia specific concept. A h/w shutdown 
>>> temperature... Come up with something common.
>>
>> Hi Rob,
>> In current thermal framework, it doesn't support to set h/w shutdown
>> trips, the "critical" trip is used for s/w shutdown. I noticed that in
>> rockchip-thermal driver, it also used "rockchip,hw-tshut-temp" to set
>> h/w shutdown temperature.
> 
> Why a critical trip point cannot be used for your hw shutdown too?

Hi Eduardo,
The thermal framework handle the critical type trip point in
handle_critical_trips(), it will call orderly_poweroff to shutdown
system gracefully.
"
if (trip_type == THERMAL_TRIP_CRITICAL) {
...
if (!power_off_triggered) {
/*
 * Queue a backup emergency shutdown in the event of
 * orderly_poweroff failure
 */
thermal_emergency_poweroff();
orderly_poweroff(true);
power_off_triggered = true;
}
"
And in this change, we added a new property to handle hw shutdown for
Tegra. When trigger the hw shutdown trip point, the hw will cut the
power to poweroff directly. If the temperature is raised very quickly,
the hardware can shutdown system before s/w shutdown.

Thanks.
Wei.

> 
>>
>>>
>>> Also, we already have a temperature table. Why do we need temperatures 
>>> in 2 places.
>>
>> Sorry, what do you mean temperature table? Do you mean the trip nodes?
>>
>> Thanks.
>> Wei.
>>
>>>
 +
  - the "hot" type trip points will be set to SOC_THERM hardware as the 
 throttle
  temperature. Once the the temperature of this thermal zone is higher
  than it, it will trigger the HW throttle event.
 @@ -79,6 +90,9 @@ Example :
  
#thermal-sensor-cells = <1>;
  
 +  nvidia,thermtrips = >>> +   TEGRA124_SOCTHERM_SENSOR_GPU 103000>;
 +
throttle-cfgs {
/*
 * When the "heavy" cooling device triggered,
 -- 
 2.7.4



Re: [PATCH v1 01/12] of: Add bindings of thermtrip for Tegra soctherm

2019-02-19 Thread Eduardo Valentin
On Fri, Dec 28, 2018 at 11:28:42AM +0800, Wei Ni wrote:
> 
> 
> On 28/12/2018 7:06 AM, Rob Herring wrote:
> > On Tue, Dec 18, 2018 at 03:34:33PM +0800, Wei Ni wrote:
> >> Add optional property "nvidia,thermtrips".
> >> If present, these trips will be used as HW shutdown trips,
> >> and critical trips will be used as SW shutdown trips.
> >>
> >> Signed-off-by: Wei Ni 
> >> ---
> >>  .../bindings/thermal/nvidia,tegra124-soctherm.txt| 20 
> >> +---
> >>  1 file changed, 17 insertions(+), 3 deletions(-)
> >>
> >> diff --git 
> >> a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt 
> >> b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
> >> index b6c0ae53d4dc..ab66d6feab4b 100644
> >> --- 
> >> a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
> >> +++ 
> >> b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
> >> @@ -55,10 +55,21 @@ Required properties :
> >>- #cooling-cells: Should be 1. This cooling device only support 
> >> on/off state.
> >>  See ./thermal.txt for a description of this property.
> >>  
> >> +Optional properties:
> >> +- nvidia,thermtrips : When present, this property specifies the 
> >> temperature at
> >> +  which the soctherm hardware will assert the thermal trigger signal to 
> >> the
> >> +  Power Management IC, which can be configured to reset or shutdown the 
> >> device.
> >> +  It is an array of pairs where each pair represents a tsensor id 
> >> followed by a
> >> +  temperature in milli Celcius. In the absence of this property the 
> >> critical
> >> +  trip point will be used for thermtrip temperature.
> >> +
> >>  Note:
> >> -- the "critical" type trip points will be set to SOC_THERM hardware as the
> >> -shut down temperature. Once the temperature of this thermal zone is higher
> >> -than it, the system will be shutdown or reset by hardware.
> >> +- the "critical" type trip points will be used to set the temperature at 
> >> which
> >> +the SOC_THERM hardware will assert a thermal trigger if the 
> >> "nvidia,thermtrips"
> >> +property is missing. When the thermtrips property is present, the breach 
> >> of a
> >> +critical trip point is reported back to the thermal framework to implement
> >> +software shutdown.
> > 
> > This hardly seems like a NVidia specific concept. A h/w shutdown 
> > temperature... Come up with something common.
> 
> Hi Rob,
> In current thermal framework, it doesn't support to set h/w shutdown
> trips, the "critical" trip is used for s/w shutdown. I noticed that in
> rockchip-thermal driver, it also used "rockchip,hw-tshut-temp" to set
> h/w shutdown temperature.

Why a critical trip point cannot be used for your hw shutdown too?

> 
> > 
> > Also, we already have a temperature table. Why do we need temperatures 
> > in 2 places.
> 
> Sorry, what do you mean temperature table? Do you mean the trip nodes?
> 
> Thanks.
> Wei.
> 
> > 
> >> +
> >>  - the "hot" type trip points will be set to SOC_THERM hardware as the 
> >> throttle
> >>  temperature. Once the the temperature of this thermal zone is higher
> >>  than it, it will trigger the HW throttle event.
> >> @@ -79,6 +90,9 @@ Example :
> >>  
> >>#thermal-sensor-cells = <1>;
> >>  
> >> +  nvidia,thermtrips =  >> +   TEGRA124_SOCTHERM_SENSOR_GPU 103000>;
> >> +
> >>throttle-cfgs {
> >>/*
> >> * When the "heavy" cooling device triggered,
> >> -- 
> >> 2.7.4
> >>


Re: [PATCH v1 01/12] of: Add bindings of thermtrip for Tegra soctherm

2018-12-27 Thread Wei Ni



On 28/12/2018 7:06 AM, Rob Herring wrote:
> On Tue, Dec 18, 2018 at 03:34:33PM +0800, Wei Ni wrote:
>> Add optional property "nvidia,thermtrips".
>> If present, these trips will be used as HW shutdown trips,
>> and critical trips will be used as SW shutdown trips.
>>
>> Signed-off-by: Wei Ni 
>> ---
>>  .../bindings/thermal/nvidia,tegra124-soctherm.txt| 20 
>> +---
>>  1 file changed, 17 insertions(+), 3 deletions(-)
>>
>> diff --git 
>> a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt 
>> b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
>> index b6c0ae53d4dc..ab66d6feab4b 100644
>> --- a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
>> +++ b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
>> @@ -55,10 +55,21 @@ Required properties :
>>- #cooling-cells: Should be 1. This cooling device only support 
>> on/off state.
>>  See ./thermal.txt for a description of this property.
>>  
>> +Optional properties:
>> +- nvidia,thermtrips : When present, this property specifies the temperature 
>> at
>> +  which the soctherm hardware will assert the thermal trigger signal to the
>> +  Power Management IC, which can be configured to reset or shutdown the 
>> device.
>> +  It is an array of pairs where each pair represents a tsensor id followed 
>> by a
>> +  temperature in milli Celcius. In the absence of this property the critical
>> +  trip point will be used for thermtrip temperature.
>> +
>>  Note:
>> -- the "critical" type trip points will be set to SOC_THERM hardware as the
>> -shut down temperature. Once the temperature of this thermal zone is higher
>> -than it, the system will be shutdown or reset by hardware.
>> +- the "critical" type trip points will be used to set the temperature at 
>> which
>> +the SOC_THERM hardware will assert a thermal trigger if the 
>> "nvidia,thermtrips"
>> +property is missing. When the thermtrips property is present, the breach of 
>> a
>> +critical trip point is reported back to the thermal framework to implement
>> +software shutdown.
> 
> This hardly seems like a NVidia specific concept. A h/w shutdown 
> temperature... Come up with something common.

Hi Rob,
In current thermal framework, it doesn't support to set h/w shutdown
trips, the "critical" trip is used for s/w shutdown. I noticed that in
rockchip-thermal driver, it also used "rockchip,hw-tshut-temp" to set
h/w shutdown temperature.

> 
> Also, we already have a temperature table. Why do we need temperatures 
> in 2 places.

Sorry, what do you mean temperature table? Do you mean the trip nodes?

Thanks.
Wei.

> 
>> +
>>  - the "hot" type trip points will be set to SOC_THERM hardware as the 
>> throttle
>>  temperature. Once the the temperature of this thermal zone is higher
>>  than it, it will trigger the HW throttle event.
>> @@ -79,6 +90,9 @@ Example :
>>  
>>  #thermal-sensor-cells = <1>;
>>  
>> +nvidia,thermtrips = > + TEGRA124_SOCTHERM_SENSOR_GPU 103000>;
>> +
>>  throttle-cfgs {
>>  /*
>>   * When the "heavy" cooling device triggered,
>> -- 
>> 2.7.4
>>


Re: [PATCH v1 01/12] of: Add bindings of thermtrip for Tegra soctherm

2018-12-27 Thread Rob Herring
On Tue, Dec 18, 2018 at 03:34:33PM +0800, Wei Ni wrote:
> Add optional property "nvidia,thermtrips".
> If present, these trips will be used as HW shutdown trips,
> and critical trips will be used as SW shutdown trips.
> 
> Signed-off-by: Wei Ni 
> ---
>  .../bindings/thermal/nvidia,tegra124-soctherm.txt| 20 
> +---
>  1 file changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git 
> a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt 
> b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
> index b6c0ae53d4dc..ab66d6feab4b 100644
> --- a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
> +++ b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
> @@ -55,10 +55,21 @@ Required properties :
>- #cooling-cells: Should be 1. This cooling device only support on/off 
> state.
>  See ./thermal.txt for a description of this property.
>  
> +Optional properties:
> +- nvidia,thermtrips : When present, this property specifies the temperature 
> at
> +  which the soctherm hardware will assert the thermal trigger signal to the
> +  Power Management IC, which can be configured to reset or shutdown the 
> device.
> +  It is an array of pairs where each pair represents a tsensor id followed 
> by a
> +  temperature in milli Celcius. In the absence of this property the critical
> +  trip point will be used for thermtrip temperature.
> +
>  Note:
> -- the "critical" type trip points will be set to SOC_THERM hardware as the
> -shut down temperature. Once the temperature of this thermal zone is higher
> -than it, the system will be shutdown or reset by hardware.
> +- the "critical" type trip points will be used to set the temperature at 
> which
> +the SOC_THERM hardware will assert a thermal trigger if the 
> "nvidia,thermtrips"
> +property is missing. When the thermtrips property is present, the breach of a
> +critical trip point is reported back to the thermal framework to implement
> +software shutdown.

This hardly seems like a NVidia specific concept. A h/w shutdown 
temperature... Come up with something common.

Also, we already have a temperature table. Why do we need temperatures 
in 2 places.

> +
>  - the "hot" type trip points will be set to SOC_THERM hardware as the 
> throttle
>  temperature. Once the the temperature of this thermal zone is higher
>  than it, it will trigger the HW throttle event.
> @@ -79,6 +90,9 @@ Example :
>  
>   #thermal-sensor-cells = <1>;
>  
> + nvidia,thermtrips =  +  TEGRA124_SOCTHERM_SENSOR_GPU 103000>;
> +
>   throttle-cfgs {
>   /*
>* When the "heavy" cooling device triggered,
> -- 
> 2.7.4
> 


[PATCH v1 01/12] of: Add bindings of thermtrip for Tegra soctherm

2018-12-17 Thread Wei Ni
Add optional property "nvidia,thermtrips".
If present, these trips will be used as HW shutdown trips,
and critical trips will be used as SW shutdown trips.

Signed-off-by: Wei Ni 
---
 .../bindings/thermal/nvidia,tegra124-soctherm.txt| 20 +---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git 
a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt 
b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
index b6c0ae53d4dc..ab66d6feab4b 100644
--- a/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
+++ b/Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.txt
@@ -55,10 +55,21 @@ Required properties :
   - #cooling-cells: Should be 1. This cooling device only support on/off 
state.
 See ./thermal.txt for a description of this property.
 
+Optional properties:
+- nvidia,thermtrips : When present, this property specifies the temperature at
+  which the soctherm hardware will assert the thermal trigger signal to the
+  Power Management IC, which can be configured to reset or shutdown the device.
+  It is an array of pairs where each pair represents a tsensor id followed by a
+  temperature in milli Celcius. In the absence of this property the critical
+  trip point will be used for thermtrip temperature.
+
 Note:
-- the "critical" type trip points will be set to SOC_THERM hardware as the
-shut down temperature. Once the temperature of this thermal zone is higher
-than it, the system will be shutdown or reset by hardware.
+- the "critical" type trip points will be used to set the temperature at which
+the SOC_THERM hardware will assert a thermal trigger if the "nvidia,thermtrips"
+property is missing. When the thermtrips property is present, the breach of a
+critical trip point is reported back to the thermal framework to implement
+software shutdown.
+
 - the "hot" type trip points will be set to SOC_THERM hardware as the throttle
 temperature. Once the the temperature of this thermal zone is higher
 than it, it will trigger the HW throttle event.
@@ -79,6 +90,9 @@ Example :
 
#thermal-sensor-cells = <1>;
 
+   nvidia,thermtrips = ;
+
throttle-cfgs {
/*
 * When the "heavy" cooling device triggered,
-- 
2.7.4