Lines Matching +full:max +full:- +full:speed
66 /* Fixed speed for slot fan */
100 #define LOW_OVER_CLEAR ((-10) << 16)
110 /* We max all CPU fans in case of a sensor error. We also do the in cpu_max_all_fans()
162 * We calculate a history of max temperatures and use that for the in cpu_check_overtemp()
168 cpu_thist_total -= t_old; in cpu_check_overtemp()
194 /* High overtemp -> immediate shutdown */ in cpu_check_overtemp()
218 return -EIO; in read_one_cpu_vals()
227 return -EIO; in read_one_cpu_vals()
235 return -EIO; in read_one_cpu_vals()
262 /* Read current speed */ in cpu_fans_tick_split()
263 wf_control_get(cpu_rear_fans[cpu], &sp->target); in cpu_fans_tick_split()
265 DBG_LOTS(" CPU%d: cur_target = %d RPM\n", cpu, sp->target); in cpu_fans_tick_split()
275 t_max = max(t_max, temp); in cpu_fans_tick_split()
284 DBG_LOTS(" CPU%d: target = %d RPM\n", cpu, sp->target); in cpu_fans_tick_split()
287 err = wf_control_set(cpu_rear_fans[cpu], sp->target); in cpu_fans_tick_split()
290 cpu_rear_fans[cpu]->name, err); in cpu_fans_tick_split()
296 intake = (sp->target * CPU_INTAKE_SCALE) >> 16; in cpu_fans_tick_split()
301 cpu_front_fans[cpu]->name, err); in cpu_fans_tick_split()
318 /* Read current speed from cpu 0 */ in cpu_fans_tick_combined()
319 wf_control_get(cpu_rear_fans[0], &sp->target); in cpu_fans_tick_combined()
321 DBG_LOTS(" CPUs: cur_target = %d RPM\n", sp->target); in cpu_fans_tick_combined()
338 t_max = max(t_max, max(temp0, temp1)); in cpu_fans_tick_combined()
344 /* Use the max temp & power of both */ in cpu_fans_tick_combined()
345 temp = max(temp0, temp1); in cpu_fans_tick_combined()
346 power = max(power0, power1); in cpu_fans_tick_combined()
352 intake = (sp->target * CPU_INTAKE_SCALE) >> 16; in cpu_fans_tick_combined()
354 /* Same deal with pump speed */ in cpu_fans_tick_combined()
361 pump = (sp->target * wf_control_get_max(pump0)) / in cpu_fans_tick_combined()
362 cpu_mpu_data[0]->rmaxn_exhaust_fan; in cpu_fans_tick_combined()
364 DBG_LOTS(" CPUs: target = %d RPM\n", sp->target); in cpu_fans_tick_combined()
369 err = wf_control_set(cpu_rear_fans[cpu], sp->target); in cpu_fans_tick_combined()
372 cpu_rear_fans[cpu]->name, err); in cpu_fans_tick_combined()
378 cpu_front_fans[cpu]->name, err); in cpu_fans_tick_combined()
386 cpu_pumps[cpu]->name, err); in cpu_fans_tick_combined()
401 tmax = mpu->tmax << 16; in cpu_setup_pid()
402 ttarget = mpu->ttarget << 16; in cpu_setup_pid()
403 ptarget = ((s32)(mpu->pmaxh - mpu->padjmax)) << 16; in cpu_setup_pid()
412 /* Set PID min/max by using the rear fan min/max */ in cpu_setup_pid()
415 DBG("wf_72: CPU%d max RPM range = [%d..%d]\n", cpu, fmin, fmax); in cpu_setup_pid()
418 hsize = min_t(int, mpu->tguardband, WF_PID_MAX_HISTORY); in cpu_setup_pid()
424 pid.gd = mpu->pid_gd; in cpu_setup_pid()
425 pid.gp = mpu->pid_gp; in cpu_setup_pid()
426 pid.gr = mpu->pid_gr; in cpu_setup_pid()
431 pid.max = fmax; in cpu_setup_pid()
449 .max = 100,
461 .max = 100,
467 int speed; in backside_fan_tick() local
472 if (--backside_tick > 0) in backside_fan_tick()
478 /* Update fan speed from actual fans */ in backside_fan_tick()
479 err = wf_control_get(backside_fan, &speed); in backside_fan_tick()
481 backside_pid.target = speed; in backside_fan_tick()
491 speed = wf_pid_run(&backside_pid, temp); in backside_fan_tick()
493 DBG_LOTS("backside PID temp=%d.%.3d speed=%d\n", in backside_fan_tick()
494 FIX32TOPRINT(temp), speed); in backside_fan_tick()
496 err = wf_control_set(backside_fan, speed); in backside_fan_tick()
514 const u32 *vers = of_get_property(u3, "device-rev", NULL); in backside_setup_pid()
523 param.min = max(param.min, fmin); in backside_setup_pid()
524 param.max = min(param.max, fmax); in backside_setup_pid()
541 .max = 4000,
547 int speed; in drives_fan_tick() local
552 if (--drives_tick > 0) in drives_fan_tick()
558 /* Update fan speed from actual fans */ in drives_fan_tick()
559 err = wf_control_get(drives_fan, &speed); in drives_fan_tick()
561 drives_pid.target = speed; in drives_fan_tick()
570 speed = wf_pid_run(&drives_pid, temp); in drives_fan_tick()
572 DBG_LOTS("drives PID temp=%d.%.3d speed=%d\n", in drives_fan_tick()
573 FIX32TOPRINT(temp), speed); in drives_fan_tick()
575 err = wf_control_set(drives_fan, speed); in drives_fan_tick()
589 param.min = max(param.min, fmin); in drives_setup_pid()
590 param.max = min(param.max, fmax); in drives_setup_pid()
675 if (!strcmp(ct->name, "cpu-front-fan-0")) in pm72_new_control()
677 else if (!strcmp(ct->name, "cpu-front-fan-1")) in pm72_new_control()
679 else if (!strcmp(ct->name, "cpu-rear-fan-0")) in pm72_new_control()
681 else if (!strcmp(ct->name, "cpu-rear-fan-1")) in pm72_new_control()
683 else if (!strcmp(ct->name, "cpu-pump-0")) in pm72_new_control()
685 else if (!strcmp(ct->name, "cpu-pump-1")) in pm72_new_control()
687 else if (!strcmp(ct->name, "backside-fan")) in pm72_new_control()
689 else if (!strcmp(ct->name, "slots-fan")) in pm72_new_control()
691 else if (!strcmp(ct->name, "drive-bay-fan")) in pm72_new_control()
693 else if (!strcmp(ct->name, "cpufreq-clamp")) in pm72_new_control()
720 if (!strcmp(sr->name, "cpu-diode-temp-0")) in pm72_new_sensor()
722 else if (!strcmp(sr->name, "cpu-diode-temp-1")) in pm72_new_sensor()
724 else if (!strcmp(sr->name, "cpu-voltage-0")) in pm72_new_sensor()
726 else if (!strcmp(sr->name, "cpu-voltage-1")) in pm72_new_sensor()
728 else if (!strcmp(sr->name, "cpu-current-0")) in pm72_new_sensor()
730 else if (!strcmp(sr->name, "cpu-current-1")) in pm72_new_sensor()
732 else if (!strcmp(sr->name, "backside-temp")) in pm72_new_sensor()
734 else if (!strcmp(sr->name, "hd-temp")) in pm72_new_sensor()
802 return -ENODEV; in wf_pm72_init()
819 return -ENXIO; in wf_pm72_init()