Re: [PATCH v3 1/3] ARM: tegra: Add device-tree for Ouya
From: Peter Geis
Date: Mon Oct 05 2020 - 10:22:59 EST
On Mon, Oct 5, 2020 at 10:02 AM Dmitry Osipenko <digetx@xxxxxxxxx> wrote:
>
> 04.10.2020 16:31, Peter Geis пишет:
> > + thermal-zones {
> > + cpu_thermal: cpu-thermal {
> > + polling-delay = <5000>;
> > + polling-delay-passive = <5000>;
> > +
> > + thermal-sensors = <&cpu_temp 1>;
> > +
> > + trips {
> > + cpu_alert0: cpu-alert0 {
> > + temperature = <50000>;
> > + hysteresis = <10000>;
>
> Hello, Peter!
>
> A day ago I was tuning thermal zones for Nexus 7 because found that the
> current variant is a bit too unpractical. In particular temperature
> hysteresis should be small, otherwise cpufreq could get throttled
> enormously to the point that device becomes unusable. This is an
> active-cooling zone, but it looks to me that hysteresis is a bit too
> high and should make Ouya much noisier than it could be.
>
> I suggest to try to set hysteresis to 0.2C here, i.e. hysteresis = <200>.
>
> I also suggest to bump the temperature threshold to 55C in order to
> ignore temporal temperature spikes because CPU temp should be about 40C
> during idle and then it may raise quickly for a brief moments during
> average usage.
Good Morning,
The Ouya has a rather large heatsink with poor conductivity and a
single stage fan.
The fan is not terribly loud, as it runs at a rather low rpm.
The temperature at the cpu tends to be much higher than observed at
the heatsink.
I've found that a low hysteresis value leads to a situation where the
fan is constantly toggling on and off.
I actually burned out the power transistor driving the fan on my first
Ouya this way.
The high hysteresis value provides a good balance of fan on/off time
under most loads.
The temperature threshold was chosen for this as well.
>
> > + type = "active";
> > + };
> > + cpu_alert1: cpu-alert1 {
> > + temperature = <70000>;
> > + hysteresis = <5000>;
> > + type = "passive";
> > + };
>
> And here to 0.2C as well.
This value was chosen to protect the CPU in case of fan failure.
Again, with the large heatsink and poor conductivity we need to
maintain throttling for longer.
Otherwise the cpu temp will overshoot and risk thermal shutdown before
throttling can prevent it.
>
> > + cpu_crit: cpu-crit {
> > + temperature = <90000>;
> > + hysteresis = <2000>;
> > + type = "critical";
> > + };
>
> The critical zone perhaps should be fine as-is.