/linux-6.8/drivers/thermal/ |
D | thermal_trip.c | 16 struct thermal_trip *trip; in for_each_thermal_trip() local 19 for_each_trip(tz, trip) { in for_each_thermal_trip() 20 ret = cb(trip, data); in for_each_thermal_trip() 50 * __thermal_zone_set_trips - Computes the next trip points for the driver 54 * the trip points. The result is the closer low and high trip points 66 const struct thermal_trip *trip; in __thermal_zone_set_trips() local 76 for_each_trip(tz, trip) { in __thermal_zone_set_trips() 80 trip_low = trip->temperature - trip->hysteresis; in __thermal_zone_set_trips() 88 if (trip->temperature > tz->temperature && in __thermal_zone_set_trips() 89 trip->temperature < high) { in __thermal_zone_set_trips() [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 72 const struct thermal_trip *trip) in thermal_zone_trip_update() argument 74 int trip_id = thermal_zone_trip_id(tz, trip); in thermal_zone_trip_update() 80 trend = get_tz_trend(tz, trip); in thermal_zone_trip_update() 82 if (tz->temperature >= trip->temperature) { in thermal_zone_trip_update() 84 trace_thermal_zone_trip(tz, trip_id, trip->type); in thermal_zone_trip_update() 87 dev_dbg(&tz->device, "Trip%d[type=%d,temp=%d]:trend=%d,throttle=%d\n", in thermal_zone_trip_update() [all …]
|
D | gov_bang_bang.c | 17 const struct thermal_trip *trip) in thermal_zone_trip_update() argument 19 int trip_index = thermal_zone_trip_id(tz, trip); in thermal_zone_trip_update() 22 if (!trip->hysteresis) in thermal_zone_trip_update() 26 dev_dbg(&tz->device, "Trip%d[temp=%d]:temp=%d:hyst=%d\n", in thermal_zone_trip_update() 27 trip_index, trip->temperature, tz->temperature, in thermal_zone_trip_update() 28 trip->hysteresis); in thermal_zone_trip_update() 31 if (instance->trip != trip) in thermal_zone_trip_update() 49 if (instance->target == 0 && tz->temperature >= trip->temperature) in thermal_zone_trip_update() 52 tz->temperature <= trip->temperature - trip->hysteresis) in thermal_zone_trip_update() 69 * @trip: the trip point [all …]
|
D | thermal_debugfs.c | 87 * struct trip_stats - Thermal trip statistics 90 * statistics related to temperature going above a trip point. 92 * @timestamp: the trip crossing timestamp 93 * @duration: total time when the zone temperature was above the trip point 94 * @count: the number of times the zone temperature was above the trip point 95 * @max: maximum recorded temperature above the trip point 96 * @min: minimum recorded temperature above the trip point 97 * @avg: average temperature above the trip point 112 * mitigation episode begins the trip point with the lower temperature 114 * down. During this episode we can have multiple trip points crossed [all …]
|
D | gov_fair_share.c | 20 const struct thermal_trip *trip, *level_trip = NULL; in get_trip_level() local 23 for_each_trip(tz, trip) { in get_trip_level() 24 if (trip->temperature >= tz->temperature) in get_trip_level() 27 level_trip = trip; in get_trip_level() 50 * @trip: trip point 61 * We do not want to throttle too much when we trip a lower temperature, 62 * whereas the throttling is at full swing if we trip critical levels. 63 * (Heavily assumes the trip points are in ascending order) 67 const struct thermal_trip *trip) in fair_share_throttle() argument 77 if (instance->trip != trip) in fair_share_throttle() [all …]
|
D | Kconfig | 12 Each thermal zone contains its own temperature, trip points, 26 trip point crossed, cooling device update or governor 52 poweroff kicks in. Similarly to the critical trip point, 87 bool "Enable writable trip points" 90 trip temperatures can be changed from userspace. The 95 change trip temperatures. 123 The Userspace governor allows to get trip point crossed 141 devices one step at the time, taking into account the trip 230 user can manually input temperature and test the different trip 257 CPUs when the passive trip is crossed. [all …]
|
D | thermal_core.c | 283 * - Critical trip point will cause a system shutdown. 306 const struct thermal_trip *trip) in handle_non_critical_trips() argument 308 tz->governor ? tz->governor->throttle(tz, trip) : in handle_non_critical_trips() 309 def_governor->throttle(tz, trip); in handle_non_critical_trips() 350 const struct thermal_trip *trip) in handle_critical_trips() argument 353 if (trip->temperature <= 0 || tz->temperature < trip->temperature) in handle_critical_trips() 356 trace_thermal_zone_trip(tz, thermal_zone_trip_id(tz, trip), trip->type); in handle_critical_trips() 358 if (trip->type == THERMAL_TRIP_CRITICAL) in handle_critical_trips() 365 struct thermal_trip *trip) in handle_thermal_trip() argument 367 if (trip->temperature == THERMAL_TEMP_INVALID) in handle_thermal_trip() [all …]
|
D | gov_power_allocator.c | 74 * @trip_switch_on: first passive trip point of the thermal zone. The 75 * governor switches on when this trip point is crossed. 76 * If the thermal zone only has one passive trip point, 78 * @trip_max: last passive trip point of the thermal zone. The 101 return (instance->trip == params->trip_max && in power_actor_is_valid() 142 * @trip_switch_on: trip point for the switch on temperature 163 * passive trip points at the same temperature, that person in estimate_pid_constants() 479 * get_governor_trips() - get the two trip points that are key for this governor 484 * a "switch on" trip point and a "maximum desired temperature". These 485 * are defined as the first and last passive trip points. [all …]
|
D | thermal_helpers.c | 25 int get_tz_trend(struct thermal_zone_device *tz, const struct thermal_trip *trip) in get_tz_trend() argument 30 tz->ops->get_trend(tz, trip, &trend)) { in get_tz_trend() 48 const struct thermal_trip *trip; in get_thermal_instance() local 53 trip = &tz->trips[trip_index]; in get_thermal_instance() 56 if (pos->tz == tz && pos->trip == trip && pos->cdev == cdev) { in get_thermal_instance() 85 const struct thermal_trip *trip; in __thermal_zone_get_temp() local 94 for_each_trip(tz, trip) { in __thermal_zone_get_temp() 95 if (trip->type == THERMAL_TRIP_CRITICAL) { in __thermal_zone_get_temp() 96 crit_temp = trip->temperature; in __thermal_zone_get_temp()
|
D | thermal_core.h | 74 int get_tz_trend(struct thermal_zone_device *tz, const struct thermal_trip *trip); 79 int trip); 83 * a certain cooling device on a certain trip point 91 const struct thermal_trip *trip; member 93 unsigned long upper; /* Highest cooling state for this trip point */ 94 unsigned long lower; /* Lowest cooling state for this trip point */ 128 const struct thermal_trip *trip); 130 const struct thermal_trip *trip);
|
D | thermal_netlink.h | 26 const struct thermal_trip *trip); 28 const struct thermal_trip *trip); 30 const struct thermal_trip *trip); 67 const struct thermal_trip *trip) in thermal_notify_tz_trip_down() argument 73 const struct thermal_trip *trip) in thermal_notify_tz_trip_up() argument 79 const struct thermal_trip *trip) in thermal_notify_tz_trip_change() argument
|
/linux-6.8/drivers/acpi/ |
D | thermal.c | 52 * 1.An invalid trip point becomes invalid or a valid trip point becomes invalid 60 "ACPI thermal trip point %s changed\n" \ 66 MODULE_PARM_DESC(act, "Disable or override all lowest active trip points."); 70 MODULE_PARM_DESC(crt, "Disable or lower all critical trip points."); 82 MODULE_PARM_DESC(psv, "Disable or override all passive trip points."); 92 struct acpi_thermal_trip trip; member 99 struct acpi_thermal_trip trip; member 187 active = container_of(acpi_trip, struct acpi_thermal_active, trip); in active_trip_index() 222 const struct thermal_trip *trip) in acpi_thermal_update_trip() argument 224 struct acpi_thermal_trip *acpi_trip = trip->priv; in acpi_thermal_update_trip() [all …]
|
D | thermal_lib.c | 6 * Library routines for retrieving trip point temperature values from the 90 * thermal_acpi_active_trip_temp - Retrieve active trip point temperature 96 * the temperature of the active cooling trip point corresponding to the active 111 * thermal_acpi_passive_trip_temp - Retrieve passive trip point temperature 116 * the temperature of the passive cooling trip point. 130 * thermal_acpi_hot_trip_temp - Retrieve hot trip point temperature 135 * the temperature of the trip point at which the system is expected to be put 150 * thermal_acpi_critical_trip_temp - Retrieve critical trip point temperature 155 * the temperature of the critical cooling trip point.
|
/linux-6.8/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 140 An integer expressing the trip temperature in millicelsius. 146 respect to the trip temperature property above, also in 149 (trip temperature - hysteresis). This potentially prevents a 150 situation where the trip gets constantly triggered soon after 161 There are four valid trip types: active, passive, hot, 164 The critical trip type is used to set the maximum 170 The hot trip type can be used to send a notification to 174 The passive trip type can be used to slow down HW e.g. run [all …]
|
D | db8500-thermal.txt | 9 - num-trips : number of total trip points, this is required, set it 0 if none, 11 - tripN-temp : temperature of trip point N, should be in ascending order; 12 - tripN-type : type of trip point N, should be one of "active" "passive" "hot" 14 - tripN-cdev-num : number of the cooling devices which can be bound to trip 15 point N, this is required if trip point N is defined, set it 0 if none, 17 - tripN-cdev-nameM : name of the No. M cooling device of trip point N;
|
/linux-6.8/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 …]
|
D | exynos5422-odroidhc1.dts | 60 trip = <&cpu0_alert0>; 76 trip = <&cpu0_alert1>; 109 trip = <&cpu1_alert0>; 120 trip = <&cpu1_alert1>; 153 trip = <&cpu2_alert0>; 164 trip = <&cpu2_alert1>; 197 trip = <&cpu3_alert0>; 208 trip = <&cpu3_alert1>; 241 trip = <&gpu_alert0>; 245 trip = <&gpu_alert1>;
|
/linux-6.8/include/linux/ |
D | thermal.h | 48 THERMAL_TRIP_VIOLATED, /* TRIP Point violation */ 49 THERMAL_TRIP_CHANGED, /* TRIP Point temperature changed */ 64 * @threshold: trip crossing notification threshold miliCelsius 65 * @type: trip point type 66 * @priv: pointer to driver data associated with this trip 128 * @trip_temp_attrs: attributes for trip points for sysfs: trip temperature 129 * @trip_type_attrs: attributes for trip points for sysfs: trip type 130 * @trip_hyst_attrs: attributes for trip points for sysfs: trip hysteresis 134 * @num_trips: number of trip points the thermal zone supports 138 * checking whether trip points have been crossed (0 for [all …]
|
/linux-6.8/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 …]
|
/linux-6.8/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 …]
|
/linux-6.8/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 writable. 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 …]
|
/linux-6.8/arch/arm64/boot/dts/marvell/ |
D | armada-8040-clearfog-gt-8k.dts | 118 ap_active: trip-active { 126 trip = <&ap_active>; 130 trip = <&ap_crit>; 139 cp0_active0: trip-active0 { 144 cp0_active1: trip-active1 { 149 cp0_active2: trip-active2 { 154 cp0_active3: trip-active3 { 162 trip = <&cp0_active0>; 166 trip = <&cp0_active1>; 170 trip = <&cp0_active2>; [all …]
|
/linux-6.8/arch/arm64/boot/dts/qcom/ |
D | sa8775p.dtsi | 2466 trip-point0 { 2472 trip-point1 { 2487 trip-point0 { 2493 trip-point1 { 2508 trip-point0 { 2514 trip-point1 { 2529 trip-point0 { 2535 trip-point1 { 2550 trip-point0 { 2556 trip-point1 { [all …]
|
/linux-6.8/Documentation/ABI/testing/ |
D | sysfs-class-thermal | 31 trip points so that user application can take full 51 The temperature above which trip point will be fired. 59 Strings which indicate the type of the trip point. 68 The hysteresis value for a trip point, represented as an 84 The trip point in this thermal zone which `cdev[0-*]` is 86 associated with any trip point. 142 temperature" trip point. For more information see 152 temperature" trip point. For more information see 159 Temperature offset from the desired temperature trip point 164 temperature trip point. For more information see
|