Home
last modified time | relevance | path

Searched full:fan (Results 1 – 25 of 621) sorted by relevance

12345678910>>...25

/linux/drivers/macintosh/
H A Dwindfarm_fcu_controls.c3 * Windfarm PowerMac thermal control. FCU fan control
80 struct wf_fcu_fan *fan = ct->priv; in wf_fcu_fan_release() local
82 kref_put(&fan->fcu_priv->ref, wf_fcu_release); in wf_fcu_fan_release()
83 kfree(fan); in wf_fcu_fan_release()
146 struct wf_fcu_fan *fan = ct->priv; in wf_fcu_fan_set_rpm() local
147 struct wf_fcu_priv *pv = fan->fcu_priv; in wf_fcu_fan_set_rpm()
151 if (value < fan->min) in wf_fcu_fan_set_rpm()
152 value = fan->min; in wf_fcu_fan_set_rpm()
153 if (value > fan->max) in wf_fcu_fan_set_rpm()
154 value = fan->max; in wf_fcu_fan_set_rpm()
[all …]
H A Dwindfarm_smu_controls.c64 /* The SMU has an "old" and a "new" way of setting the fan speed in smu_set_fan()
100 printk(KERN_WARNING "windfarm: SMU failed new fan command " in smu_set_fan()
188 if (!strcmp(l, "Rear Fan 0") || !strcmp(l, "Rear Fan") || in smu_fan_create()
189 !strcmp(l, "Rear fan 0") || !strcmp(l, "Rear fan") || in smu_fan_create()
191 fct->ctrl.name = "cpu-rear-fan-0"; in smu_fan_create()
192 else if (!strcmp(l, "Rear Fan 1") || !strcmp(l, "Rear fan 1") || in smu_fan_create()
194 fct->ctrl.name = "cpu-rear-fan-1"; in smu_fan_create()
195 else if (!strcmp(l, "Front Fan 0") || !strcmp(l, "Front Fan") || in smu_fan_create()
196 !strcmp(l, "Front fan 0") || !strcmp(l, "Front fan") || in smu_fan_create()
198 fct->ctrl.name = "cpu-front-fan-0"; in smu_fan_create()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/therm/
H A Dfan.c27 #include <subdev/bios/fan.h>
32 nvkm_fan_update(struct nvkm_fan *fan, bool immediate, int target) in nvkm_fan_update() argument
34 struct nvkm_therm *therm = fan->parent; in nvkm_fan_update()
41 /* update target fan speed, restricting to allowed range */ in nvkm_fan_update()
42 spin_lock_irqsave(&fan->lock, flags); in nvkm_fan_update()
44 target = fan->percent; in nvkm_fan_update()
45 target = max_t(u8, target, fan->bios.min_duty); in nvkm_fan_update()
46 target = min_t(u8, target, fan->bios.max_duty); in nvkm_fan_update()
47 if (fan->percent != target) { in nvkm_fan_update()
48 nvkm_debug(subdev, "FAN target: %d\n", target); in nvkm_fan_update()
[all …]
H A Dfantog.c39 nvkm_fantog_update(struct nvkm_fantog *fan, int percent) in nvkm_fantog_update() argument
41 struct nvkm_therm *therm = fan->base.parent; in nvkm_fantog_update()
48 spin_lock_irqsave(&fan->lock, flags); in nvkm_fantog_update()
50 percent = fan->percent; in nvkm_fantog_update()
51 fan->percent = percent; in nvkm_fantog_update()
57 u64 next_change = (percent * fan->period_us) / 100; in nvkm_fantog_update()
59 next_change = fan->period_us - next_change; in nvkm_fantog_update()
60 nvkm_timer_alarm(tmr, next_change * 1000, &fan->alarm); in nvkm_fantog_update()
62 spin_unlock_irqrestore(&fan->lock, flags); in nvkm_fantog_update()
68 struct nvkm_fantog *fan = in nvkm_fantog_alarm() local
[all …]
H A Dfanpwm.c29 #include <subdev/bios/fan.h>
40 struct nvkm_fanpwm *fan = (void *)therm->fan; in nvkm_fanpwm_get() local
47 ret = therm->func->pwm_get(therm, fan->func.line, &divs, &duty); in nvkm_fanpwm_get()
50 if (card_type <= NV_40 || (fan->func.log[0] & 1)) in nvkm_fanpwm_get()
55 return nvkm_gpio_get(gpio, 0, fan->func.func, fan->func.line) * 100; in nvkm_fanpwm_get()
61 struct nvkm_fanpwm *fan = (void *)therm->fan; in nvkm_fanpwm_set() local
66 divs = fan->base.perf.pwm_divisor; in nvkm_fanpwm_set()
67 if (fan->base.bios.pwm_freq) { in nvkm_fanpwm_set()
70 divs = therm->func->pwm_clock(therm, fan->func.line); in nvkm_fanpwm_set()
71 divs /= fan->base.bios.pwm_freq; in nvkm_fanpwm_set()
[all …]
/linux/drivers/platform/x86/
H A Dgpd-pocket-fan.c3 * GPD Pocket fan controller driver
33 "Millicelsius values above which the fan speed increases");
38 "Hysteresis in millicelsius before lowering the fan speed");
43 "minimum fan speed to allow when system is powered by AC");
55 static void gpd_pocket_fan_set_speed(struct gpd_pocket_fan_data *fan, int speed) in gpd_pocket_fan_set_speed() argument
57 if (speed == fan->last_speed) in gpd_pocket_fan_set_speed()
60 gpiod_direction_output(fan->gpio0, !!(speed & 1)); in gpd_pocket_fan_set_speed()
61 gpiod_direction_output(fan->gpio1, !!(speed & 2)); in gpd_pocket_fan_set_speed()
63 fan->last_speed = speed; in gpd_pocket_fan_set_speed()
76 struct gpd_pocket_fan_data *fan = in gpd_pocket_fan_worker() local
[all …]
/linux/drivers/acpi/
H A Dfan_core.c3 * fan_core.c - ACPI Fan core Driver
25 #include "fan.h"
30 * Defined inside the "Fan Noise Signal" section at
45 MODULE_PARM_DESC(min_trip_distance, "Minimum distance between fan speed trip points in RPM");
58 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_max_state() local
60 if (fan->acpi4) { in fan_get_max_state()
61 if (fan->fif.fine_grain_ctrl) in fan_get_max_state()
62 *state = 100 / fan->fif.step_size; in fan_get_max_state()
64 *state = fan->fps_count - 1; in fan_get_max_state()
110 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_state_acpi4() local
[all …]
H A Dfan_hwmon.c3 * hwmon interface for the ACPI Fan driver.
16 #include "fan.h"
18 static struct acpi_fan_fps *acpi_fan_get_current_fps(struct acpi_fan *fan, u64 control) in acpi_fan_get_current_fps() argument
22 for (i = 0; i < fan->fps_count; i++) { in acpi_fan_get_current_fps()
23 if (fan->fps[i].control == control) in acpi_fan_get_current_fps()
24 return &fan->fps[i]; in acpi_fan_get_current_fps()
33 const struct acpi_fan *fan = drvdata; in acpi_fan_hwmon_is_visible() local
42 /* Only acpi4 fans support fan control. */ in acpi_fan_hwmon_is_visible()
43 if (!fan->acpi4) in acpi_fan_hwmon_is_visible()
47 * When in fine grain control mode, not every fan control value in acpi_fan_hwmon_is_visible()
[all …]
H A Dfan_attr.c3 * fan_attr.c - Create extra attributes for ACPI Fan driver
15 #include "fan.h"
68 struct acpi_fan *fan = acpi_driver_data(acpi_dev); in show_fine_grain_control() local
70 return sysfs_emit(buf, "%d\n", fan->fif.fine_grain_ctrl); in show_fine_grain_control()
75 struct acpi_fan *fan = acpi_driver_data(device); in acpi_fan_create_attributes() local
79 sysfs_attr_init(&fan->fst_speed.attr); in acpi_fan_create_attributes()
80 fan->fst_speed.show = show_fan_speed; in acpi_fan_create_attributes()
81 fan->fst_speed.store = NULL; in acpi_fan_create_attributes()
82 fan->fst_speed.attr.name = "fan_speed_rpm"; in acpi_fan_create_attributes()
83 fan->fst_speed.attr.mode = 0444; in acpi_fan_create_attributes()
[all …]
H A Dfan.h4 * ACPI fan device IDs are shared between the fan driver and the device power
7 * Add new device IDs before the generic ACPI fan one.
17 {"INT3404", }, /* Fan */ \
18 {"INTC1044", }, /* Fan for Tiger Lake generation */ \
19 {"INTC1048", }, /* Fan for Alder Lake generation */ \
20 {"INTC1063", }, /* Fan for Meteor Lake generation */ \
21 {"INTC106A", }, /* Fan for Lunar Lake generation */ \
22 {"INTC10A2", }, /* Fan for Raptor Lake generation */ \
23 {"INTC10D6", }, /* Fan for Panther Lake generation */ \
24 {"INTC10FE", }, /* Fan for Wildcat Lake generation */ \
[all …]
/linux/drivers/hwmon/
H A Dmlxreg-fan.c27 * FAN datasheet defines the formula for RPM calculations as RPM = 15/t-high.
79 * @fan: private data;
88 struct mlxreg_fan *fan; member
125 struct mlxreg_fan *fan = dev_get_drvdata(dev); in mlxreg_fan_read() local
133 tacho = &fan->tacho[channel]; in mlxreg_fan_read()
137 * Check FAN presence: FAN related bit in presence register is one, in mlxreg_fan_read()
138 * if FAN is physically connected, zero - otherwise. in mlxreg_fan_read()
140 if (tacho->prsnt && fan->tachos_per_drwr) { in mlxreg_fan_read()
141 err = regmap_read(fan->regmap, tacho->prsnt, &regval); in mlxreg_fan_read()
150 if (BIT(rol32(channel, tacho->shift) / fan->tachos_per_drwr) & in mlxreg_fan_read()
[all …]
H A Dmacsmc-hwmon.c33 /* Temperature, voltage, current, power, fan(s) */
45 "Override the SMC to set your own fan speeds on supported machines");
88 struct macsmc_hwmon_fans fan; member
111 *str = hwmon->fan.fans[channel].label; in macsmc_hwmon_read_label()
277 &hwmon->fan.fans[chan].now, 1, val); in macsmc_hwmon_read_fan()
280 &hwmon->fan.fans[chan].min, 1, val); in macsmc_hwmon_read_fan()
283 &hwmon->fan.fans[chan].max, 1, val); in macsmc_hwmon_read_fan()
286 &hwmon->fan.fans[chan].set, 1, val); in macsmc_hwmon_read_fan()
299 if (!fan_control || hwmon->fan.fans[channel].mode.macsmc_key == 0) in macsmc_hwmon_write_fan()
303 * The SMC does no sanity checks on requested fan speeds, so we need to. in macsmc_hwmon_write_fan()
[all …]
H A Dg762.c3 * g762 - Driver for the Global Mixed-mode Technology Inc. fan speed
67 #define G762_REG_FAN_CMD1_FAN_MODE 0x10 /* fan mode: closed/open-loop */
71 #define G762_REG_FAN_CMD1_PULSE_PER_REV 0x01 /* pulse per fan revolution */
74 #define G762_REG_FAN_CMD2_GEAR_MODE_1 0x08 /* fan gear mode */
76 #define G762_REG_FAN_CMD2_FAN_STARTV_1 0x02 /* fan startup voltage */
79 #define G762_REG_FAN_STA_FAIL 0x02 /* fan fail */
80 #define G762_REG_FAN_STA_OOC 0x01 /* fan out of control */
96 * Extract pulse count per fan revolution value (2 or 4) from given
103 * Extract fan clock divisor (1, 2, 4 or 8) from given FAN_CMD1
111 * Extract fan gear mode multiplier value (0, 2 or 4) from given
[all …]
/linux/Documentation/devicetree/bindings/hwmon/
H A Dnpcm750-pwm-fan.txt1 Nuvoton NPCM PWM and Fan Tacho controller device
4 controller outputs and 16 Fan tachometer controller inputs.
7 controller outputs and 16 Fan tachometer controller inputs.
9 Required properties for pwm-fan node
12 - compatible : "nuvoton,npcm750-pwm-fan" for Poleg NPCM7XX.
13 : "nuvoton,npcm845-pwm-fan" for Arbel NPCM8XX.
17 * "fan" for the Fan registers.
21 * "fan" for Fan controller operating clock.
22 - interrupts : contain the Fan interrupts with flags for falling edge.
24 - pinctrl-0 : phandle referencing pin configuration of the PWM and Fan
[all …]
/linux/Documentation/hwmon/
H A Dg762.rst4 The GMT G762 Fan Speed PWM Controller is connected directly to a fan
5 and performs closed-loop or open-loop control of the fan speed. Two
19 fan revolution, ...); Those can be modified via devicetree bindings
25 set desired fan speed. This only makes sense in closed-loop
26 fan speed control (i.e. when pwm1_enable is set to 2).
29 provide current fan rotation value in RPM as reported by
30 the fan to the device.
33 fan clock divisor. Supported value are 1, 2, 4 and 8.
36 number of pulses per fan revolution. Supported values
40 reports fan failure, i.e. no transition on fan gear pin for
[all …]
H A Dnct6775.rst106 There are 4 to 5 fan rotation speed sensors, 8 to 15 analog voltage sensors,
108 fan regulation strategies (plus manual fan control mode).
119 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
121 NCT6775F, fan readings can be divided by a programmable divider (1, 2, 4, 8,
123 do not have a fan speed divider. The driver sets the most suitable fan divisor
124 itself; specifically, it increases the divider value each time a fan speed
125 reading returns an invalid value, and it reduces it if the fan speed reading
133 The driver supports automatic fan control mode known as Thermal Cruise.
135 predefined temperature range. If the temperature goes out of range, fan
144 - this file stores PWM duty cycle or DC value (fan speed) in range:
[all …]
H A Dw83792d.rst44 The driver implements three temperature sensors, seven fan rotation speed
45 sensors, nine voltage sensors, and two automatic fan regulation
46 strategies called: Smart Fan I (Thermal Cruise mode) and Smart Fan II.
48 The driver also implements up to seven fan control outputs: pwm1-7. Pwm1-7
53 Automatic fan control mode is possible only for fan1-fan3.
55 For all pwmX outputs, a value of 0 means minimum fan speed and a value of
56 255 means maximum fan speed.
63 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
64 triggered if the rotation speed has dropped below a programmable limit. Fan
105 of full speed rotation of corresponding fan.
[all …]
H A Dadm9240.rst54 temperature, two fan speeds and chassis intrusion. Measured values can
76 with independent fan speed measurement cycles counting alternating rising
77 edges of the fan tacho inputs.
79 DS1780 measurement cycle is about once per second including fan speed.
81 LM81 measurement cycle is about once per 400ms including fan speed.
93 Fan Speed
95 Two fan tacho inputs are provided, the ADM9240 gates an internal 22.5kHz
96 clock via a divider to an 8-bit counter. Fan speed (rpm) is calculated by:
100 Automatic fan clock divider
105 - fan clock divider not changed
[all …]
H A Dw83627ehf.rst88 2 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID
90 and some automatic fan regulation strategies (plus manual fan control mode).
105 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
106 triggered if the rotation speed has dropped below a programmable limit. Fan
109 suitable fan divisor itself. Some fans might not be present because they
116 The driver supports automatic fan control mode known as Thermal Cruise.
118 predefined temperature range. If the temperature goes out of range, fan
139 this file stores PWM duty cycle or DC value (fan speed) in range:
144 this file controls mode of fan/temperature control:
148 * 3 "Fan Speed Cruise" mode
[all …]
H A Daquacomputer_d5next.rst8 * Aquacomputer Aquaero 5/6 fan controllers
12 * Aquacomputer Octo fan controller
13 * Aquacomputer Quadro fan controller
18 * Aquacomputer Poweradjust 3 fan controller
32 speed (in RPM), power, voltage and current. Temperature offsets and fan speeds
35 For the D5 Next pump, available sensors are pump and fan speed, power, voltage
38 count. Attaching a fan to it is optional and allows it to be controlled using
39 temperature curves directly from the pump. If it's not connected, the fan-related
69 and fan IC. It also exposes pump and fan speeds (in RPM), voltages, as well as pump
73 with speed, power, voltage and current of both the pump and optionally connected fan.
[all …]
/linux/arch/arm/boot/dts/aspeed/
H A Daspeed-bmc-amd-daytonax.dts231 fan@0 {
233 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
236 fan@1 {
238 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
241 fan@2 {
243 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
246 fan@3 {
248 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
251 fan@4 {
253 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
[all …]
/linux/arch/arm64/boot/dts/renesas/
H A Dr8a779g3-sparrow-hawk-fan-argon40.dtso3 * Device Tree Overlay for the Argon40 HAT blower fan on connector CN7
10 * # Localize hwmon sysfs directory that matches the PWM fan,
11 * # enable the PWM fan, and configure the fan speed manually.
12 * r8a779g3-sparrow-hawk$ ls -1 /sys/devices/platform/pwm-fan-ext/hwmon/hwmon?/pwm?_enable
13 * /sys/devices/platform/pwm-fan-ext/hwmon/hwmon0/pwm1_enable
15 * # Select mode 2 , enable fan PWM and regulator and keep them enabled.
16 * # For details, see Linux Documentation/hwmon/pwm-fan.rst
17 * r8a779g3-sparrow-hawk$ echo 2 > /sys/devices/platform/pwm-fan-ext/hwmon/hwmon0/pwm1_enable
19 * # Configure PWM fan speed in range 0..255 , 0 is stopped , 255 is full speed .
20 * # Fan speed 101 is about 2/5 of the PWM fan speed:
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/
H A Dfan.c26 #include <subdev/bios/fan.h>
32 u32 fan = 0; in nvbios_fan_table() local
36 fan = nvbios_rd32(bios, bit_P.offset + 0x58); in nvbios_fan_table()
38 if (fan) { in nvbios_fan_table()
39 *ver = nvbios_rd08(bios, fan + 0); in nvbios_fan_table()
42 *hdr = nvbios_rd08(bios, fan + 1); in nvbios_fan_table()
43 *len = nvbios_rd08(bios, fan + 2); in nvbios_fan_table()
44 *cnt = nvbios_rd08(bios, fan + 3); in nvbios_fan_table()
45 return fan; in nvbios_fan_table()
66 nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan) in nvbios_fan_parse() argument
[all …]
H A Dtherm.c153 nvbios_therm_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan) in nvbios_therm_fan_parse() argument
163 fan->nr_fan_trip = 0; in nvbios_therm_fan_parse()
164 fan->fan_mode = NVBIOS_THERM_FAN_OTHER; in nvbios_therm_fan_parse()
170 fan->min_duty = value & 0xff; in nvbios_therm_fan_parse()
171 fan->max_duty = (value & 0xff00) >> 8; in nvbios_therm_fan_parse()
174 fan->nr_fan_trip++; in nvbios_therm_fan_parse()
175 if (fan->fan_mode > NVBIOS_THERM_FAN_TRIP) in nvbios_therm_fan_parse()
176 fan->fan_mode = NVBIOS_THERM_FAN_TRIP; in nvbios_therm_fan_parse()
177 cur_trip = &fan->trip[fan->nr_fan_trip - 1]; in nvbios_therm_fan_parse()
183 cur_trip = &fan->trip[fan->nr_fan_trip - 1]; in nvbios_therm_fan_parse()
[all …]
/linux/Documentation/admin-guide/acpi/
H A Dfan_performance_states.rst4 ACPI Fan Performance States
8 fan (for example, PNP0C0B or INT3404), the ACPI fan driver creates additional
10 These attributes list properties of fan performance states.
37 where each of the "state*" files represents one performance state of the fan
43 * ``control_percent``: The percent value to be used to set the fan speed to a
49 * ``speed_rpm``: Speed of the fan in rotations per minute.
51 * ``noise_level_mdb``: Audible noise emitted by the fan in this state in
54 * ``power_mw``: Power draw of the fan in this state in milliwatts.
64 ACPI Fan Fine Grain Control
67 When _FIF object specifies support for fine grain control, then fan speed
[all …]

12345678910>>...25