Lines Matching +full:thermal +full:- +full:diode
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Windfarm PowerMac thermal control.
99 #define LOW_OVER_CLEAR ((-10) << 16)
167 cpu_thist_total -= t_old; in cpu_check_overtemp()
193 /* High overtemp -> immediate shutdown */ in cpu_check_overtemp()
213 /* Get diode temperature */ in read_one_cpu_vals()
217 return -EIO; in read_one_cpu_vals()
226 return -EIO; in read_one_cpu_vals()
234 return -EIO; in read_one_cpu_vals()
262 wf_control_get(cpu_rear_fans[cpu], &sp->target); in cpu_fans_tick_split()
264 DBG_LOTS(" CPU%d: cur_target = %d RPM\n", cpu, sp->target); in cpu_fans_tick_split()
283 DBG_LOTS(" CPU%d: target = %d RPM\n", cpu, sp->target); in cpu_fans_tick_split()
286 err = wf_control_set(cpu_rear_fans[cpu], sp->target); in cpu_fans_tick_split()
289 cpu_rear_fans[cpu]->name, err); in cpu_fans_tick_split()
295 intake = (sp->target * CPU_INTAKE_SCALE) >> 16; in cpu_fans_tick_split()
300 cpu_front_fans[cpu]->name, err); in cpu_fans_tick_split()
318 wf_control_get(cpu_rear_fans[0], &sp->target); in cpu_fans_tick_combined()
320 DBG_LOTS(" CPUs: cur_target = %d RPM\n", sp->target); in cpu_fans_tick_combined()
351 intake = (sp->target * CPU_INTAKE_SCALE) >> 16; in cpu_fans_tick_combined()
360 pump = (sp->target * wf_control_get_max(pump0)) / in cpu_fans_tick_combined()
361 cpu_mpu_data[0]->rmaxn_exhaust_fan; in cpu_fans_tick_combined()
363 DBG_LOTS(" CPUs: target = %d RPM\n", sp->target); in cpu_fans_tick_combined()
368 err = wf_control_set(cpu_rear_fans[cpu], sp->target); in cpu_fans_tick_combined()
371 cpu_rear_fans[cpu]->name, err); in cpu_fans_tick_combined()
377 cpu_front_fans[cpu]->name, err); in cpu_fans_tick_combined()
385 cpu_pumps[cpu]->name, err); in cpu_fans_tick_combined()
400 tmax = mpu->tmax << 16; in cpu_setup_pid()
401 ttarget = mpu->ttarget << 16; in cpu_setup_pid()
402 ptarget = ((s32)(mpu->pmaxh - mpu->padjmax)) << 16; in cpu_setup_pid()
417 hsize = min_t(int, mpu->tguardband, WF_PID_MAX_HISTORY); in cpu_setup_pid()
423 pid.gd = mpu->pid_gd; in cpu_setup_pid()
424 pid.gp = mpu->pid_gp; in cpu_setup_pid()
425 pid.gr = mpu->pid_gr; in cpu_setup_pid()
471 if (--backside_tick > 0) in backside_fan_tick()
513 const u32 *vers = of_get_property(u3, "device-rev", NULL); in backside_setup_pid()
551 if (--drives_tick > 0) in drives_fan_tick()
674 if (!strcmp(ct->name, "cpu-front-fan-0")) in pm72_new_control()
676 else if (!strcmp(ct->name, "cpu-front-fan-1")) in pm72_new_control()
678 else if (!strcmp(ct->name, "cpu-rear-fan-0")) in pm72_new_control()
680 else if (!strcmp(ct->name, "cpu-rear-fan-1")) in pm72_new_control()
682 else if (!strcmp(ct->name, "cpu-pump-0")) in pm72_new_control()
684 else if (!strcmp(ct->name, "cpu-pump-1")) in pm72_new_control()
686 else if (!strcmp(ct->name, "backside-fan")) in pm72_new_control()
688 else if (!strcmp(ct->name, "slots-fan")) in pm72_new_control()
690 else if (!strcmp(ct->name, "drive-bay-fan")) in pm72_new_control()
692 else if (!strcmp(ct->name, "cpufreq-clamp")) in pm72_new_control()
719 if (!strcmp(sr->name, "cpu-diode-temp-0")) in pm72_new_sensor()
721 else if (!strcmp(sr->name, "cpu-diode-temp-1")) in pm72_new_sensor()
723 else if (!strcmp(sr->name, "cpu-voltage-0")) in pm72_new_sensor()
725 else if (!strcmp(sr->name, "cpu-voltage-1")) in pm72_new_sensor()
727 else if (!strcmp(sr->name, "cpu-current-0")) in pm72_new_sensor()
729 else if (!strcmp(sr->name, "cpu-current-1")) in pm72_new_sensor()
731 else if (!strcmp(sr->name, "backside-temp")) in pm72_new_sensor()
733 else if (!strcmp(sr->name, "hd-temp")) in pm72_new_sensor()
798 return -ENODEV; in wf_pm72_init()
815 return -ENXIO; in wf_pm72_init()
840 MODULE_DESCRIPTION("Thermal control for AGP PowerMac G5s");