| /kernel/linux/linux-6.6/drivers/thermal/ |
| D | thermal_trip.c | 37 * __thermal_zone_set_trips - Computes the next trip points for the driver 41 * the trip points. The result is the closer low and high trip points 53 struct thermal_trip trip; in __thermal_zone_set_trips() local 67 ret = __thermal_zone_get_trip(tz, i , &trip); in __thermal_zone_set_trips() 71 trip_low = trip.temperature - trip.hysteresis; in __thermal_zone_set_trips() 79 if (trip.temperature > tz->temperature && in __thermal_zone_set_trips() 80 trip.temperature < high) { in __thermal_zone_set_trips() 81 high = trip.temperature; in __thermal_zone_set_trips() 86 /* No need to change trip points */ in __thermal_zone_set_trips() 114 struct thermal_trip *trip) in __thermal_zone_get_trip() argument [all …]
|
| D | gov_step_wise.c | 20 * If the temperature is higher than a trip point, 22 * state for this trip point 24 * If the temperature is lower than a trip point, 27 * state for this trip point, if the cooling state already 84 const struct thermal_trip *trip = &tz->trips[trip_id]; in thermal_zone_trip_update() local 92 if (tz->temperature >= trip->temperature) { in thermal_zone_trip_update() 94 trace_thermal_zone_trip(tz, trip_id, trip->type); in thermal_zone_trip_update() 97 dev_dbg(&tz->device, "Trip%d[type=%d,temp=%d]:trend=%d,throttle=%d\n", in thermal_zone_trip_update() 98 trip_id, trip->type, trip->temperature, trend, throttle); in thermal_zone_trip_update() 101 if (instance->trip != trip) in thermal_zone_trip_update() [all …]
|
| D | gov_fair_share.c | 19 * get_trip_level: - obtains the current trip level for a zone 24 struct thermal_trip trip; in get_trip_level() local 28 __thermal_zone_get_trip(tz, count, &trip); in get_trip_level() 29 if (tz->temperature < trip.temperature) in get_trip_level() 34 * count > 0 only if temperature is greater than first trip in get_trip_level() 38 trace_thermal_zone_trip(tz, count - 1, trip.type); in get_trip_level() 52 * @trip_index: trip point index 63 * We do not want to throttle too much when we trip a lower temperature, 64 * whereas the throttling is at full swing if we trip critical levels. 65 * (Heavily assumes the trip points are in ascending order) [all …]
|
| D | gov_bang_bang.c | 18 const struct thermal_trip *trip = &tz->trips[trip_index]; in thermal_zone_trip_update() local 21 if (!trip->hysteresis) in thermal_zone_trip_update() 25 dev_dbg(&tz->device, "Trip%d[temp=%d]:temp=%d:hyst=%d\n", in thermal_zone_trip_update() 26 trip_index, trip->temperature, tz->temperature, in thermal_zone_trip_update() 27 trip->hysteresis); in thermal_zone_trip_update() 30 if (instance->trip != trip) in thermal_zone_trip_update() 48 if (instance->target == 0 && tz->temperature >= trip->temperature) in thermal_zone_trip_update() 51 tz->temperature <= trip->temperature - trip->hysteresis) in thermal_zone_trip_update() 68 * @trip: the trip point 92 static int bang_bang_control(struct thermal_zone_device *tz, int trip) in bang_bang_control() argument [all …]
|
| D | Kconfig | 12 Each thermal zone contains its own temperature, trip points, 26 trip point crossed, cooling device update or governor 45 poweroff kicks in. Similarly to the critical trip point, 84 bool "Enable writable trip points" 87 trip temperatures can be changed from userspace. The 92 change trip temperatures. 120 The Userspace governor allows to get trip point crossed 138 devices one step at the time, taking into account the trip 227 user can manually input temperature and test the different trip 254 CPUs when the passive trip is crossed. [all …]
|
| D | gov_power_allocator.c | 58 * @trip_switch_on: first passive trip point of the thermal zone. The 59 * governor switches on when this trip point is crossed. 60 * If the thermal zone only has one passive trip point, 62 * @trip_max_desired_temperature: last passive trip point of the thermal 100 if (instance->trip != trip_max_desired_temperature) in estimate_sustainable_power() 119 * @trip_switch_on: trip point number for the switch on temperature 129 struct thermal_trip trip; in estimate_pid_constants() local 134 ret = __thermal_zone_get_trip(tz, trip_switch_on, &trip); in estimate_pid_constants() 136 temperature_threshold -= trip.temperature; in estimate_pid_constants() 142 * passive trip points at the same temperature, that person in estimate_pid_constants() [all …]
|
| /kernel/linux/linux-6.6/drivers/acpi/ |
| D | thermal.c | 60 * 1.An invalid trip point becomes invalid or a valid trip point becomes invalid 69 "ACPI thermal trip point %s changed\n" \ 75 MODULE_PARM_DESC(act, "Disable or override all lowest active trip points."); 79 MODULE_PARM_DESC(crt, "Disable or lower all critical trip points."); 91 MODULE_PARM_DESC(psv, "Disable or override all passive trip points."); 101 struct acpi_thermal_trip trip; member 109 struct acpi_thermal_trip trip; member 256 if (((flag & ACPI_TRIPS_PASSIVE) && tz->trips.passive.trip.valid) || in __acpi_thermal_trips_update() 258 valid = tz->trips.passive.trip.valid; in __acpi_thermal_trips_update() 270 tz->trips.passive.trip.valid = false; in __acpi_thermal_trips_update() [all …]
|
| /kernel/linux/linux-5.10/drivers/thermal/ |
| D | thermal_of.c | 25 * struct __thermal_cooling_bind_param - a cooling device for a trip point 27 * @min: minimum cooling state used at this trip point 28 * @max: maximum cooling state used at this trip point 38 * struct __thermal_bind_param - a match between trip and cooling device 41 * @trip_id: the trip point index 58 * @ntrips: number of trip points 59 * @trips: an array of trip points (0..ntrips - 1) 72 /* trip data */ 110 * of_thermal_get_ntrips - function to export number of available trip 114 * This function is a globally visible wrapper to get number of trip points [all …]
|
| D | gov_step_wise.c | 19 * If the temperature is higher than a trip point, 21 * state for this trip point 24 * for this trip point 26 * for this trip point 27 * If the temperature is lower than a trip point, 30 * state for this trip point, if the cooling state already 116 static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip) in thermal_zone_trip_update() argument 125 if (trip == THERMAL_TRIPS_NONE) { in thermal_zone_trip_update() 129 tz->ops->get_trip_temp(tz, trip, &trip_temp); in thermal_zone_trip_update() 130 tz->ops->get_trip_type(tz, trip, &trip_type); in thermal_zone_trip_update() [all …]
|
| D | Kconfig | 12 Each thermal zone contains its own temperature, trip points, 26 trip point crossed, cooling device update or governor 45 poweroff kicks in. Similarly to the critical trip point, 80 bool "Enable writable trip points" 83 trip temperatures can be changed from userspace. The 88 change trip temperatures. 213 user can manually input temperature and test the different trip 240 CPUs when the passive trip is crossed. 250 It supports one critical trip point and one passive trip point. The 252 passive trip is crossed. [all …]
|
| D | gov_fair_share.c | 19 * get_trip_level: - obtains the current trip level for a zone 38 * count > 0 only if temperature is greater than first trip in get_trip_level() 62 * @trip: trip point index 73 * We do not want to throttle too much when we trip a lower temperature, 74 * whereas the throttling is at full swing if we trip critical levels. 75 * (Heavily assumes the trip points are in ascending order) 78 static int fair_share_throttle(struct thermal_zone_device *tz, int trip) in fair_share_throttle() argument 88 if (instance->trip != trip) in fair_share_throttle() 99 if (instance->trip != trip) in fair_share_throttle()
|
| D | gov_bang_bang.c | 16 static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip) in thermal_zone_trip_update() argument 21 tz->ops->get_trip_temp(tz, trip, &trip_temp); in thermal_zone_trip_update() 28 tz->ops->get_trip_hyst(tz, trip, &trip_hyst); in thermal_zone_trip_update() 30 dev_dbg(&tz->device, "Trip%d[temp=%d]:temp=%d:hyst=%d\n", in thermal_zone_trip_update() 31 trip, trip_temp, tz->temperature, in thermal_zone_trip_update() 37 if (instance->trip != trip) in thermal_zone_trip_update() 75 * @trip: the trip point 99 static int bang_bang_control(struct thermal_zone_device *tz, int trip) in bang_bang_control() argument 103 thermal_zone_trip_update(tz, trip); in bang_bang_control()
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/ |
| D | core_thermal.c | 178 * defined with four trip points. The critical and emergency in mlxsw_thermal_module_trips_update() 180 * and "hot" trip points, "normal" and "critical" trip points are in mlxsw_thermal_module_trips_update() 202 struct mlxsw_thermal_trip *trip = trips; in mlxsw_thermal_tz_score_update() local 210 i++, trip++) { in mlxsw_thermal_tz_score_update() 211 if (temp < trip->temp) { in mlxsw_thermal_tz_score_update() 212 delta = DIV_ROUND_CLOSEST(temp, trip->temp - temp); in mlxsw_thermal_tz_score_update() 237 const struct mlxsw_thermal_trip *trip = &thermal->trips[i]; in mlxsw_thermal_bind() local 240 trip->max_state, in mlxsw_thermal_bind() 241 trip->min_state, in mlxsw_thermal_bind() 244 dev_err(dev, "Failed to bind cooling device to trip %d\n", i); in mlxsw_thermal_bind() [all …]
|
| /kernel/linux/linux-5.10/drivers/thermal/intel/int340x_thermal/ |
| D | int340x_thermal_zone.c | 44 int trip, int *temp) in int340x_thermal_get_trip_temp() argument 50 return d->override_ops->get_trip_temp(zone, trip, temp); in int340x_thermal_get_trip_temp() 54 if (trip < d->aux_trip_nr) in int340x_thermal_get_trip_temp() 55 *temp = d->aux_trips[trip]; in int340x_thermal_get_trip_temp() 56 else if (trip == d->crt_trip_id) in int340x_thermal_get_trip_temp() 58 else if (trip == d->psv_trip_id) in int340x_thermal_get_trip_temp() 60 else if (trip == d->hot_trip_id) in int340x_thermal_get_trip_temp() 65 d->act_trips[i].id == trip) { in int340x_thermal_get_trip_temp() 80 int trip, in int340x_thermal_get_trip_type() argument 87 return d->override_ops->get_trip_type(zone, trip, type); in int340x_thermal_get_trip_type() [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/thermal/ |
| D | sysfs-api.rst | 27 inputs from thermal zone attributes (the current temperature and trip point 55 the total number of trip points this thermal zone supports. 57 Bit string: If 'n'th bit is set, then trip point 'n' is writeable. 70 set the trip points window. Whenever the current temperature 71 is updated, the trip points immediately below and above the 79 upon trip points so that user applications can take 84 get the type of certain trip point. 86 get the temperature above which the certain trip point 98 whether trip points have been crossed (0 for interrupt driven systems). 260 int trip, struct thermal_cooling_device *cdev, [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/thermal/ |
| D | thermal-zones.yaml | 35 max dT/dt, such that a device does not cross several trip boundaries 60 this zone, one sub-node containing the various trip points for this 127 An integer expressing the trip temperature in millicelsius. 133 respect to the trip temperature property above, also in 136 (trip temperature - hysteresis). This potentially prevents a 137 situation where the trip gets constantly triggered soon after 148 There are four valid trip types: active, passive, hot, 151 The critical trip type is used to set the maximum 157 The hot trip type can be used to send a notification to 161 The passive trip type can be used to slow down HW e.g. run [all …]
|
| /kernel/linux/linux-5.10/drivers/thermal/intel/ |
| D | intel_quark_dts_thermal.c | 82 /* Programmable Trip Point Register is configured via QRK_MBI_UNIT_RMU */ 93 /* Quark DTS has 2 trip points: hot & catastrophic */ 95 /* If DTS not locked, all trip points are configurable */ 97 /* If DTS locked, all trip points are not configurable */ 114 "Polling interval for checking trip points (in milliseconds)"); 175 static int _get_trip_temp(int trip, int *temp) in _get_trip_temp() argument 189 * Thermal Sensor Programmable Trip Point Register has 8-bit in _get_trip_temp() 190 * fields for critical (catastrophic) and hot set trip point in _get_trip_temp() 194 *temp = (out >> (trip * QRK_DTS_SHIFT_TP)) & QRK_DTS_MASK_TP_THRES; in _get_trip_temp() 201 int trip, int *temp) in sys_get_trip_temp() argument [all …]
|
| D | Kconfig | 20 two trip points which can be set by user to get notifications via thermal 42 thermal zone. There are two trip points. One of the trip point can 44 notification methods.The other trip is a critical trip point, which 53 The DTS will be registered as a thermal zone. There are two trip points: 54 hot & critical. The critical trip point default value is set by 69 the alert trip point interrupts and notifies the thermal framework with 70 the trip point and temperature details of the zone. 78 programmable trip points and other information.
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/thermal/ |
| D | thermal-zones.yaml | 35 max dT/dt, such that a device does not cross several trip boundaries 57 this zone, one sub-node containing the various trip points for this 124 An integer expressing the trip temperature in millicelsius. 130 respect to the trip temperature property above, also in 133 (trip temperature - hysteresis). This potentially prevents a 134 situation where the trip gets constantly triggered soon after 145 There are four valid trip types: active, passive, hot, 148 The critical trip type is used to set the maximum 154 The hot trip type can be used to send a notification to 158 The passive trip type can be used to slow down HW e.g. run [all …]
|
| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | exynos5422-odroidxu3-common.dtsi | 78 * Exynos542x supports only 4 trip-points 81 * interrupt-driven trip: cpu0_alert2 96 trip = <&cpu0_alert0>; 100 trip = <&cpu0_alert1>; 104 trip = <&cpu0_alert2>; 113 trip = <&cpu0_alert3>; 129 trip = <&cpu0_alert4>; 179 trip = <&cpu1_alert0>; 183 trip = <&cpu1_alert1>; 187 trip = <&cpu1_alert2>; [all …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/samsung/ |
| D | exynos5422-odroidxu3-common.dtsi | 82 * Exynos542x supports only 4 trip-points 85 * interrupt-driven trip: cpu0_alert2 100 trip = <&cpu0_alert0>; 104 trip = <&cpu0_alert1>; 108 trip = <&cpu0_alert2>; 117 trip = <&cpu0_alert3>; 133 trip = <&cpu0_alert4>; 183 trip = <&cpu1_alert0>; 187 trip = <&cpu1_alert1>; 191 trip = <&cpu1_alert2>; [all …]
|
| /kernel/linux/linux-6.6/drivers/thermal/intel/ |
| D | Kconfig | 32 two trip points which can be set by user to get notifications via thermal 55 thermal zone. There are two trip points. One of the trip point can 57 notification methods.The other trip is a critical trip point, which 66 The DTS will be registered as a thermal zone. There are two trip points: 67 hot & critical. The critical trip point default value is set by 82 the alert trip point interrupts and notifies the thermal framework with 83 the trip point and temperature details of the zone. 92 programmable trip points and other information.
|
| D | intel_quark_dts_thermal.c | 82 /* Programmable Trip Point Register is configured via QRK_MBI_UNIT_RMU */ 94 /* Quark DTS has 2 trip points: hot & catastrophic */ 96 /* If DTS not locked, all trip points are configurable */ 98 /* If DTS locked, all trip points are not configurable */ 116 "Polling interval for checking trip points (in milliseconds)"); 177 static int get_trip_temp(int trip) in get_trip_temp() argument 191 * Thermal Sensor Programmable Trip Point Register has 8-bit in get_trip_temp() 192 * fields for critical (catastrophic) and hot set trip point in get_trip_temp() 196 temp = (out >> (trip * QRK_DTS_SHIFT_TP)) & QRK_DTS_MASK_TP_THRES; in get_trip_temp() 203 int trip, int temp) in update_trip_temp() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/thermal/broadcom/ |
| D | brcmstb_thermal.c | 68 /* HW bit to enable the trip */ 72 /* HW field to read the trip temperature */ 178 struct avs_tmon_trip *trip = &avs_tmon_trips[type]; in avs_tmon_trip_enable() local 179 u32 val = __raw_readl(priv->tmon_base + trip->enable_offs); in avs_tmon_trip_enable() 181 dev_dbg(priv->dev, "%sable trip, type %d\n", en ? "en" : "dis", type); in avs_tmon_trip_enable() 184 val |= trip->enable_mask; in avs_tmon_trip_enable() 186 val &= ~trip->enable_mask; in avs_tmon_trip_enable() 188 __raw_writel(val, priv->tmon_base + trip->enable_offs); in avs_tmon_trip_enable() 194 struct avs_tmon_trip *trip = &avs_tmon_trips[type]; in avs_tmon_get_trip_temp() local 195 u32 val = __raw_readl(priv->tmon_base + trip->reg_offs); in avs_tmon_get_trip_temp() [all …]
|
| /kernel/linux/linux-5.10/drivers/thermal/ti-soc-thermal/ |
| D | ti-thermal.h | 30 /* trip points of interest in milicelsius (at hotspot level) */ 43 * ti_thermal_get_trip_value - returns trip temperature based on index 44 * @i: trip index 50 * ti_thermal_is_valid_trip - check for trip index 51 * @i: trip index 53 #define ti_thermal_is_valid_trip(trip) \ argument 54 ((trip) >= 0 && (trip) < OMAP_TRIP_NUMBER)
|