Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 159f67da authored by Lina Iyer's avatar Lina Iyer Committed by Ram Chandrasekar
Browse files

drivers: thermal: Indicate in DT the trips are for temperature falling



SoCs may need to handle the case where the temperature is below the
timing closure temperatures of the logic. At low temperature, the timing
closures may not be met. The compensative action at such temperatures is
to increase the voltage, by switching to a higher OPP.

Thermal governors need to understand that the temperatures are
descending in order to correctly estimate the mitigative actions.

Change-Id: I56eb249a853d9c8ed9a96ff8a41a1ba87abb29f4
Signed-off-by: default avatarLina Iyer <ilina@codeaurora.org>
parent 436b4a5f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -175,6 +175,11 @@ Optional property:
			2000mW, while on a 10'' tablet is around
			4500mW.

- tracks-low:		Indicates that the temperature sensor tracks the low
  Type: bool		thresholds, so the governors may mitigate by ensuring
			timing closures and other low temperature operating
			issues.

Note: The delay properties are bound to the maximum dT/dt (temperature
derivative over time) in two situations for a thermal zone:
(i)  - when passive cooling is activated (polling-delay-passive); and
+3 −0
Original line number Diff line number Diff line
@@ -1007,6 +1007,9 @@ int __init of_parse_thermal_zones(void)
		tzp->slope = tz->slope;
		tzp->offset = tz->offset;

		if (of_property_read_bool(child, "tracks-low"))
			tzp->tracks_low = true;

		zone = thermal_zone_device_register(child->name, tz->ntrips,
						    mask, tz,
						    ops, tzp,
+6 −0
Original line number Diff line number Diff line
@@ -348,6 +348,12 @@ struct thermal_zone_params {
	 * 		Used by thermal zone drivers (default 0).
	 */
	int offset;

	/*
	 * @tracks_low:	Indicates that the thermal zone params are for
	 *		temperatures falling below the thresholds.
	 */
	bool tracks_low;
};

struct thermal_genl_event {