Home
last modified time | relevance | path

Searched refs:fan (Results 1 – 25 of 370) sorted by relevance

12345678910>>...15

/linux/drivers/macintosh/
H A Dwindfarm_fcu_controls.c80 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()
156 fan->target = value; in wf_fcu_fan_set_rpm()
[all …]
H A Dtherm_windtunnel.c58 struct i2c_client *fan; member
159 write_reg( x.fan, 0x25, val, 1 ); in tune_fan()
160 write_reg( x.fan, 0x20, 0, 1 ); in tune_fan()
180 casetemp = read_reg(x.fan, 0x0b, 1) << 8; in poll_temp()
181 casetemp |= (read_reg(x.fan, 0x06, 1) & 0x7) << 5; in poll_temp()
216 x.r0 = read_reg( x.fan, 0x00, 1 ); in setup_hardware()
217 x.r1 = read_reg( x.fan, 0x01, 1 ); in setup_hardware()
218 x.r20 = read_reg( x.fan, 0x20, 1 ); in setup_hardware()
219 x.r23 = read_reg( x.fan, 0x23, 1 ); in setup_hardware()
220 x.r25 = read_reg( x.fan, 0x25, 1 ); in setup_hardware()
[all …]
/linux/drivers/platform/x86/
H A Dgpd-pocket-fan.c55 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
80 if (thermal_zone_get_temp(fan->dts0, &t0) || in gpd_pocket_fan_worker()
81 thermal_zone_get_temp(fan->dts1, &t1)) { in gpd_pocket_fan_worker()
82 dev_warn(fan->dev, "Error getting temperature\n"); in gpd_pocket_fan_worker()
89 speed = fan->last_speed; in gpd_pocket_fan_worker()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/therm/
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 Dfan.c32 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()
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()
49 fan->percent = target; in nvkm_fan_update()
53 duty = fan->get(therm); in nvkm_fan_update()
55 spin_unlock_irqrestore(&fan->lock, flags); in nvkm_fan_update()
[all …]
H A Dfanpwm.c40 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()
75 if (card_type <= NV_40 || (fan->func.log[0] & 1)) in nvkm_fanpwm_set()
[all …]
H A Dbase.c40 struct nvbios_therm_trip_point *trip = therm->fan->bios.trip, in nvkm_therm_update_trip()
48 for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) { in nvkm_therm_update_trip()
78 return therm->fan->bios.min_duty; in nvkm_therm_compute_linear_duty()
80 return therm->fan->bios.max_duty; in nvkm_therm_compute_linear_duty()
84 duty *= (therm->fan->bios.max_duty - therm->fan->bios.min_duty); in nvkm_therm_compute_linear_duty()
86 duty += therm->fan->bios.min_duty; in nvkm_therm_compute_linear_duty()
93 u8 min = therm->fan->bios.linear_min_temp; in nvkm_therm_update_linear()
94 u8 max = therm->fan->bios.linear_max_temp; in nvkm_therm_update_linear()
129 switch(therm->fan->bios.fan_mode) { in nvkm_therm_update()
164 nvkm_therm_cstate(struct nvkm_therm *therm, int fan, int dir) in nvkm_therm_cstate() argument
[all …]
/linux/drivers/acpi/
H A Dfan_core.c58 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
118 if (fan->fif.fine_grain_ctrl) { in fan_get_state_acpi4()
125 *state = (int) fst.control / fan->fif.step_size; in fan_get_state_acpi4()
130 for (i = 0; i < fan->fps_count; i++) { in fan_get_state_acpi4()
131 if (fst.control == fan->fps[i].control) in fan_get_state_acpi4()
[all …]
H A Dfan_hwmon.c18 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
43 if (!fan->acpi4) in acpi_fan_hwmon_is_visible()
50 if (fan->fif.fine_grain_ctrl) in acpi_fan_hwmon_is_visible()
61 if (!fan->acpi4) in acpi_fan_hwmon_is_visible()
68 if (fan->fif.fine_grain_ctrl) in acpi_fan_hwmon_is_visible()
75 for (i = 0; i < fan->fps_count; i++) { in acpi_fan_hwmon_is_visible()
[all …]
H A Dfan_attr.c68 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()
84 status = sysfs_create_file(&device->dev.kobj, &fan->fst_speed.attr); in acpi_fan_create_attributes()
88 if (!fan->acpi4) in acpi_fan_create_attributes()
[all …]
/linux/drivers/hwmon/
H A Dmlxreg-fan.c88 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()
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()
158 err = regmap_read(fan->regmap, tacho->reg, &regval); in mlxreg_fan_read()
168 *val = MLXREG_FAN_GET_RPM(regval, fan->divider, in mlxreg_fan_read()
169 fan->samples); in mlxreg_fan_read()
173 err = regmap_read(fan->regmap, tacho->reg, &regval); in mlxreg_fan_read()
[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 …]
H A Daspeed-bmc-lenovo-hr630.dts335 fan@0 {
337 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
340 fan@1 {
342 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
345 fan@2 {
347 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
350 fan@3 {
352 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
355 fan@4 {
357 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
[all …]
H A Daspeed-bmc-microsoft-olympus.dts177 fan@0 {
179 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
182 fan@1 {
184 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
187 fan@2 {
189 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
192 fan@3 {
194 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
197 fan@4 {
199 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
[all …]
H A Daspeed-bmc-facebook-wedge40.dts34 fan@0 {
36 aspeed,fan-tach-ch = /bits/ 8 <0x00 0x01>;
39 fan@1 {
41 aspeed,fan-tach-ch = /bits/ 8 <0x02 0x03>;
44 fan@6 {
46 aspeed,fan-tach-ch = /bits/ 8 <0x04 0x05>;
49 fan@7 {
51 aspeed,fan-tach-ch = /bits/ 8 <0x06 0x07>;
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/
H A Dfan.c32 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
75 fan->type = NVBIOS_THERM_FAN_TOGGLE; in nvbios_fan_parse()
[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/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/Documentation/devicetree/bindings/hwmon/
H A Dnpcm750-pwm-fan.txt9 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.
27 fan subnode format:
29 Under fan subnode can be upto 8 child nodes, each child node representing a fan.
30 Each fan subnode must have one PWM channel and at least one Fan tach channel.
40 - fan-tach-ch : specify the Fan tach input channel.
42 the fan tach channel number that used.
[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 Dmax31760.rst21 The MAX31760 integrates temperature sensing along with precision PWM fan
30 the user to program a smooth nonlinear fan speed vs. temperature transfer
31 function to minimize acoustic fan noise. Two tachometer inputs allow
43 Lookup table for auto fan control
61 fan[1-2]_input Fan speed (in RPM)
62 fan[1-2]_enable Enable fan readings and fan fault alarms
63 fan[1-2]_fault Fan fault status
71 pwm1 PWM value for direct fan control
72 pwm1_enable 1: direct fan control, 2: temperature based auto fan control
74 pwm1_auto_channels_temp Temperature source for auto fan control. 1: temp1, 2: temp2, 3: max…
[all …]
H A Dasus_rog_ryujin.rst17 (controller) fan speed in RPM, their duties in PWM, as well as coolant temperature.
20 controlled from the device. If not connected, the fan-related sensors will
22 with the AIO and connects to it to allow fan control.
38 fan2_input Internal fan speed (in rpm)
39 fan3_input External (controller) fan 1 speed (in rpm)
40 fan4_input External (controller) fan 2 speed (in rpm)
41 fan5_input External (controller) fan 3 speed (in rpm)
42 fan6_input External (controller) fan 4 speed (in rpm)
45 pwm2 Internal fan duty
46 pwm3 External (controller) fan duty
H A Dg760a.rst19 The GMT G760A Fan Speed PWM Controller is connected directly to a fan
20 and performs closed-loop control of the fan speed.
22 The fan speed is programmed by setting the period via 'pwm1' of two
26 Setting a period of 0 stops the fan; setting the period to 255 sets
27 fan to maximum speed.
29 The measured fan rotation speed returned via 'fan1_input' is derived
31 source and a 2 pulse-per-revolution fan.
34 the G760A chip's status register: Bit 0 is set when the actual fan
35 speed differs more than 20% with respect to the programmed fan speed;
36 bit 1 is set when fan speed is below 1920 RPM.
/linux/arch/riscv/boot/dts/thead/
H A Dth1520-lichee-pi-4a.dts39 fan_config0: fan-trip0 {
45 fan_config1: fan-trip1 {
51 fan_config2: fan-trip2 {
60 cooling-device = <&fan 1 1>;
65 cooling-device = <&fan 2 2>;
70 cooling-device = <&fan 3 3>;
77 fan: pwm-fan { label
80 compatible = "pwm-fan";
89 fan_pins: fan-0 {
/linux/arch/arm64/boot/dts/ti/
H A Dk3-am62x-phyboard-lyra-gpio-fan.dtso15 fan: gpio-fan {
16 compatible = "gpio-fan";
17 gpio-fan,speed-map = <0 0 8600 1>;
26 gpio_fan_pins_default: gpio-fan-default-pins {
36 main0_fan: main0-fan {
47 <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
56 cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;

12345678910>>...15