Lines Matching +full:turned +full:- +full:off
1 // SPDX-License-Identifier: GPL-2.0-only
3 * gov_bang_bang.c - A simple thermal throttling governor using hysteresis
14 * Fan: OFF ON
18 * trip_temp: +---->+
22 * (trip_temp - hyst): +<----+
28 * gets turned on.
30 * (trip_temp - hyst) so that the fan gets turned off again.
40 if (instance->target != 0 && instance->target != 1 && in bang_bang_set_instance_target()
41 instance->target != THERMAL_NO_TARGET) in bang_bang_set_instance_target()
42 pr_debug("Unexpected state %ld of thermal instance %s in bang-bang\n", in bang_bang_set_instance_target()
43 instance->target, instance->name); in bang_bang_set_instance_target()
49 instance->target = target; in bang_bang_set_instance_target()
50 instance->initialized = true; in bang_bang_set_instance_target()
52 dev_dbg(&instance->cdev->device, "target=%ld\n", instance->target); in bang_bang_set_instance_target()
54 thermal_cdev_update_nocheck(instance->cdev); in bang_bang_set_instance_target()
58 * bang_bang_trip_crossed - controls devices associated with the given zone
70 lockdep_assert_held(&tz->lock); in bang_bang_trip_crossed()
72 dev_dbg(&tz->device, "Trip%d[temp=%d]:temp=%d:hyst=%d\n", in bang_bang_trip_crossed()
73 thermal_zone_trip_id(tz, trip), trip->temperature, in bang_bang_trip_crossed()
74 tz->temperature, trip->hysteresis); in bang_bang_trip_crossed()
76 list_for_each_entry(instance, &td->thermal_instances, trip_node) in bang_bang_trip_crossed()
86 if (tz->governor_data) in bang_bang_manage()
90 const struct thermal_trip *trip = &td->trip; in bang_bang_manage()
93 if (trip->temperature == THERMAL_TEMP_INVALID || in bang_bang_manage()
94 trip->type == THERMAL_TRIP_CRITICAL || in bang_bang_manage()
95 trip->type == THERMAL_TRIP_HOT) in bang_bang_manage()
102 turn_on = tz->temperature >= td->threshold; in bang_bang_manage()
103 list_for_each_entry(instance, &td->thermal_instances, trip_node) { in bang_bang_manage()
104 if (!instance->initialized) in bang_bang_manage()
109 tz->governor_data = (void *)true; in bang_bang_manage()
120 tz->governor_data = NULL; in bang_bang_update_tz()