On Wed, Feb 20, 2019 at 6:39 AM Eduardo Valentin <edubez...@gmail.com> wrote:
>
> On Thu, Feb 07, 2019 at 04:19:41PM +0530, Amit Kucheria wrote:
> > qcs404 has 10 sensors connected to the single TSENS IP. Define a thermal
> > zone for each of those sensors to expose the temperature of each zone.
> >
> > Signed-off-by: Amit Kucheria <amit.kuche...@linaro.org>
> > ---
> >  arch/arm64/boot/dts/qcom/qcs404.dtsi | 243 +++++++++++++++++++++++++++
> >  1 file changed, 243 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi 
> > b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> > index 57d14d8f0c90..ca99c45864df 100644
> > --- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> > @@ -3,6 +3,7 @@
> >
> >  #include <dt-bindings/interrupt-controller/arm-gic.h>
> >  #include <dt-bindings/clock/qcom,gcc-qcs404.h>
> > +#include <dt-bindings/thermal/thermal.h>
> >
> >  / {
> >       interrupt-parent = <&intc>;
> > @@ -30,6 +31,7 @@
> >                       reg = <0x100>;
> >                       enable-method = "psci";
> >                       next-level-cache = <&L2_0>;
> > +                     #cooling-cells= <2>;
> >               };
> >
> >               CPU1: cpu@101 {
> > @@ -38,6 +40,7 @@
> >                       reg = <0x101>;
> >                       enable-method = "psci";
> >                       next-level-cache = <&L2_0>;
> > +                     #cooling-cells= <2>;
> >               };
> >
> >               CPU2: cpu@102 {
> > @@ -46,6 +49,7 @@
> >                       reg = <0x102>;
> >                       enable-method = "psci";
> >                       next-level-cache = <&L2_0>;
> > +                     #cooling-cells= <2>;
> >               };
> >
> >               CPU3: cpu@103 {
> > @@ -54,6 +58,7 @@
> >                       reg = <0x103>;
> >                       enable-method = "psci";
> >                       next-level-cache = <&L2_0>;
> > +                     #cooling-cells= <2>;
> >               };
> >
> >               L2_0: l2-cache {
> > @@ -507,4 +512,242 @@
> >                       #interrupt-cells = <2>;
> >               };
> >       };
> > +
> > +     thermal-zones {
>
> There are several zones with passive trips and no cooling maps.

Indeed. The policy bits are still a WIP and in some cases the
throttling is handled by someone in userspace. But I'd like to expose
at least the temperatures at each of the sensors to make it easier for
others to use this information. See my reply to the cover letter.

Regards,
Amit




> > +             aoss-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 0>;
> > +
> > +                     trips {
> > +                             aoss_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             aoss_crit: aoss_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +             };
> > +
> > +             dsp-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 1>;
> > +
> > +                     trips {
> > +                             dsp_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             dsp_crit: dsp_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +             };
> > +
> > +             lpass-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 2>;
> > +
> > +                     trips {
> > +                             lpass_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             lpass_crit: lpass_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +             };
> > +
> > +             wlan-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 3>;
> > +
> > +                     trips {
> > +                             wlan_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             wlan_crit: wlan_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +             };
> > +
> > +             cluster-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 4>;
> > +
> > +                     trips {
> > +                             cluster_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             cluster_crit: cluster_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +             };
> > +
> > +             cpu0-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 5>;
> > +
> > +                     trips {
> > +                             cpu0_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             cpu0_crit: cpu_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +                     cooling-maps {
> > +                             map0 {
> > +                                     trip = <&cpu0_alert0>;
> > +                                     cooling-device = <&CPU0 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU1 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU2 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU3 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> > +                             };
> > +                     };
> > +             };
> > +
> > +             cpu1-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 6>;
> > +
> > +                     trips {
> > +                             cpu1_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             cpu1_crit: cpu_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +                     cooling-maps {
> > +                             map0 {
> > +                                     trip = <&cpu1_alert0>;
> > +                                     cooling-device = <&CPU0 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU1 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU2 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU3 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> > +                             };
> > +                     };
> > +             };
> > +
> > +             cpu2-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 7>;
> > +
> > +                     trips {
> > +                             cpu2_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             cpu2_crit: cpu_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +                     cooling-maps {
> > +                             map0 {
> > +                                     trip = <&cpu2_alert0>;
> > +                                     cooling-device = <&CPU0 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU1 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU2 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU3 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> > +                             };
> > +                     };
> > +             };
> > +
> > +             cpu3-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 8>;
> > +
> > +                     trips {
> > +                             cpu3_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             cpu3_crit: cpu_crit {
> > +                                     temperature = <110000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +                     cooling-maps {
> > +                             map0 {
> > +                                     trip = <&cpu3_alert0>;
> > +                                     cooling-device = <&CPU0 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU1 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU2 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> > +                                                    <&CPU3 
> > THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
> > +                             };
> > +                     };
> > +             };
> > +
> > +             gpu-thermal {
> > +                     polling-delay-passive = <250>;
> > +                     polling-delay = <1000>;
> > +
> > +                     thermal-sensors = <&tsens 9>;
> > +
> > +                     trips {
> > +                             gpu_alert0: trip-point@0 {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "passive";
> > +                             };
> > +                             gpu_crit: gpu_crit {
> > +                                     temperature = <95000>;
> > +                                     hysteresis = <2000>;
> > +                                     type = "critical";
> > +                             };
> > +                     };
> > +             };
> > +     };
> >  };
> > --
> > 2.17.1
> >

Reply via email to