Lines Matching full:control
2 * Windfarm PowerMac thermal control. iMac G5 iSight
17 * The algorithm used is the PID control algorithm, used the same way
25 * controls with a tiny difference. The control-ids of hard-drive-fan
36 * OD Fan control correction.
46 * HD Fan control correction.
56 * CPU Fan control correction.
70 * control value. The correction is computed in the following way :
74 * ref_value is the value of the reference control. If new_min is
81 * control : cpu-fan
87 * control : optical-drive-fan
98 * The various control loops found in Darwin config file are:
100 * HD Fan control loop.
103 * control : hard-drive-fan
113 * control : hard-drive-fan
122 * OD Fan control loop.
125 * control : optical-drive-fan
135 * control : optical-drive-fan
144 * GPU Fan control loop.
147 * control : hard-drive-fan
157 * control : cpu-fan
166 * KODIAK (aka northbridge) Fan control loop.
169 * control : optical-drive-fan
179 * control : hard-drive-fan
188 * CPU Fan control loop.
190 * control : cpu-fan
195 * CPU Slew control loop.
197 * control : cpufreq-clamp
249 /* Set to kick the control loop into life */
261 LOOP_GPU, /* control = hd or cpu, but luckily,
263 LOOP_HD, /* control = hd */
264 LOOP_KODIAK, /* control = hd or od */
265 LOOP_OD, /* control = od */
351 * ****** System Fans Control Loop ******
355 /* Since each loop handles only one control and we want to avoid
356 * writing virtual control, we store the control correction with the
370 /* GPU Fan control loop */
385 /* HD Fan control loop */
400 /* KODIAK Fan control loop */
415 /* OD Fan control loop */
438 /* State data used by the system fans control loop
449 * ****** CPU Fans Control Loop ******
455 /* State data used by the cpu fans control loop
521 struct wf_control *control = NULL; in pm121_create_sys_fans() local
540 control = controls[param->control_id]; in pm121_create_sys_fans()
558 pid_param.min = control->ops->get_min(control); in pm121_create_sys_fans()
559 pid_param.max = control->ops->get_max(control); in pm121_create_sys_fans()
563 pr_debug("pm121: %s Fan control loop initialized.\n" in pm121_create_sys_fans()
571 control the same control */ in pm121_create_sys_fans()
574 loop_names[loop_id], control->name); in pm121_create_sys_fans()
576 if (control) in pm121_create_sys_fans()
577 wf_control_set_max(control); in pm121_create_sys_fans()
585 struct wf_control *control; in pm121_sys_fans_tick() local
592 control = controls[param->control_id]; in pm121_sys_fans_tick()
626 control->name, (int)new_setpoint); in pm121_sys_fans_tick()
628 if (control && pm121_failure_state == 0) { in pm121_sys_fans_tick()
629 rc = control->ops->set_value(control, st->setpoint); in pm121_sys_fans_tick()
632 control->name, rc); in pm121_sys_fans_tick()
681 "CPU control loop (%d)\n", piddata->history_len); in pm121_create_cpu_fans()
701 pr_debug("pm121: CPU Fan control initialized.\n"); in pm121_create_cpu_fans()
794 pr_debug("pm121: creating control loops !\n"); in pm121_tick()
856 * the control loop levels, but we don't want to keep it clear in pm121_tick()
942 pr_debug("pm121: new control %s detected\n", in pm121_notify()
1038 MODULE_DESCRIPTION("Thermal control logic for iMac G5 (iSight)");