Lines Matching full:sensors
43 static int update_trip_temp(struct intel_soc_dts_sensors *sensors, in update_trip_temp() argument
56 if (sensors->intr_type == INTEL_SOC_DTS_INTERRUPT_MSI) in update_trip_temp()
59 temp_out = (sensors->tj_max - temp) / 1000; in update_trip_temp()
138 ret = update_trip_temp(dts->sensors, thres_index, temp); in configure_trip()
152 struct intel_soc_dts_sensors *sensors = dts->sensors; in sys_set_trip_temp() local
155 if (temp > sensors->tj_max) in sys_set_trip_temp()
158 mutex_lock(&sensors->dts_update_lock); in sys_set_trip_temp()
159 status = update_trip_temp(sensors, trip, temp); in sys_set_trip_temp()
160 mutex_unlock(&sensors->dts_update_lock); in sys_set_trip_temp()
171 struct intel_soc_dts_sensors *sensors; in sys_get_curr_temp() local
174 sensors = dts->sensors; in sys_get_curr_temp()
182 *temp = sensors->tj_max - out * 1000; in sys_get_curr_temp()
281 void intel_soc_dts_iosf_interrupt_handler(struct intel_soc_dts_sensors *sensors) in intel_soc_dts_iosf_interrupt_handler() argument
288 spin_lock_irqsave(&sensors->intr_notify_lock, flags); in intel_soc_dts_iosf_interrupt_handler()
304 spin_unlock_irqrestore(&sensors->intr_notify_lock, flags); in intel_soc_dts_iosf_interrupt_handler()
308 thermal_zone_device_update(sensors->soc_dts[i].tzone, in intel_soc_dts_iosf_interrupt_handler()
312 spin_unlock_irqrestore(&sensors->intr_notify_lock, flags); in intel_soc_dts_iosf_interrupt_handler()
316 static void dts_trips_reset(struct intel_soc_dts_sensors *sensors, int dts_index) in dts_trips_reset() argument
318 configure_trip(&sensors->soc_dts[dts_index], 0, 0, 0); in dts_trips_reset()
319 configure_trip(&sensors->soc_dts[dts_index], 1, 0, 0); in dts_trips_reset()
326 struct intel_soc_dts_sensors *sensors; in intel_soc_dts_iosf_init() local
338 sensors = kzalloc(sizeof(*sensors), GFP_KERNEL); in intel_soc_dts_iosf_init()
339 if (!sensors) in intel_soc_dts_iosf_init()
342 spin_lock_init(&sensors->intr_notify_lock); in intel_soc_dts_iosf_init()
343 mutex_init(&sensors->dts_update_lock); in intel_soc_dts_iosf_init()
344 sensors->intr_type = intr_type; in intel_soc_dts_iosf_init()
345 sensors->tj_max = tj_max * 1000; in intel_soc_dts_iosf_init()
351 sensors->soc_dts[i].sensors = sensors; in intel_soc_dts_iosf_init()
353 ret = configure_trip(&sensors->soc_dts[i], 0, in intel_soc_dts_iosf_init()
360 temp = sensors->tj_max - crit_offset; in intel_soc_dts_iosf_init()
365 ret = configure_trip(&sensors->soc_dts[i], 1, trip_type, temp); in intel_soc_dts_iosf_init()
371 ret = add_dts_thermal_zone(i, &sensors->soc_dts[i], critical_trip); in intel_soc_dts_iosf_init()
376 return sensors; in intel_soc_dts_iosf_init()
380 remove_dts_thermal_zone(&sensors->soc_dts[i]); in intel_soc_dts_iosf_init()
384 dts_trips_reset(sensors, i); in intel_soc_dts_iosf_init()
386 kfree(sensors); in intel_soc_dts_iosf_init()
391 void intel_soc_dts_iosf_exit(struct intel_soc_dts_sensors *sensors) in intel_soc_dts_iosf_exit() argument
396 remove_dts_thermal_zone(&sensors->soc_dts[i]); in intel_soc_dts_iosf_exit()
397 dts_trips_reset(sensors, i); in intel_soc_dts_iosf_exit()
399 kfree(sensors); in intel_soc_dts_iosf_exit()