Re: [PATCH 1/2] thermal: core: add initial support for cold and critical_cold trip point

From: Rafael J. Wysocki
Date: Wed Dec 13 2023 - 09:45:00 EST


On Wed, Dec 13, 2023 at 3:20 PM Christian Marangi <ansuelsmth@xxxxxxxxx> wrote:
>
> On Wed, Dec 13, 2023 at 03:12:41PM +0100, Daniel Lezcano wrote:
> > On 12/12/2023 23:13, Christian Marangi wrote:
> > > Add initial support for cold and critical_cold trip point. Many if not
> > > all hwmon and thermal device have normally trip point for hot
> > > temperature and for cold temperature.
> > >
> > > Till now only hot temperature were supported. Add support for also cold
> > > temperature to permit complete definition of cold trip point in DT.
> > >
> > > Thermal driver may use these additional trip point to correctly set
> > > interrupt for cold temperature values and react based on that with
> > > various measure like enabling attached heater, forcing higher voltage
> > > and other specialaized peripherals.
> > >
> > > For hwmon drivers this is needed as currently there is a problem with
> > > setting the full operating range of the device for thermal devices
> > > defined with hwmon. To better describe the problem, the following
> > > example is needed:
> > >
> > > In the scenario of a simple hwmon with an active trip point declared
> > > and a cooling device attached, the hwmon subsystem currently set the
> > > min and max trip point based on the single active trip point.
> > > Thermal subsystem parse all the trip points and calculate the lowest and
> > > the highest trip point and calls the .set_trip of hwmon to setup the
> > > trip points.
> > >
> > > The fact that we currently don't have a way to declare the cold/min
> > > temperature values, makes the thermal subsystem to set the low value as
> > > -INT_MAX.
> > > For hwmon drivers that doesn't use clamp_value and actually reject
> > > invalid values for the trip point, this results in the hwmon settings to
> > > be rejected.
> > >
> > > To permit to pass the correct range of trip point, permit to set in DT
> > > also cold and critical_cold trip point.
> > >
> > > Thermal driver may also define .cold and .critical_cold to act on these
> > > trip point tripped and apply the required measure.
> >
> > Agree with the feature but we need to clarify the semantic of the trip
> > points first. What actions do we expect for them in order to have like a
> > mirror reflection of the existing hot trip points.
> >
> > What action do you expect with:
> >
> > - 'cold' ?
> >
> > - 'critical_cold' ?
> >
> >
>
> This is more of a sensible topic but I think it's the thermal driver
> that needs to implement these. As said in the commit description,
> examples are setting higher voltage from the attached regulator,
> enabling some hardware heater.

So how is it different from an active trip point? There are heating
rather than cooling devices associated with it, but other than this??

> Maybe with critical cold bigger measure can be applied. Currently for
> critical trip point we shutdown the system (if the critical ops is not
> declared) but with critical_cold condition I think it won't work... I
> expect a system in -40°C would just lock up/glitch so rebooting in that
> condition won't change a thing...
>
> Anyway yes we can define a shutdown by default for that but IMHO it
> wouldn't make much sense.

So why do you want to add it at all?