/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/subdev/therm/ |
D | fantog.c | 39 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() 56 if (list_empty(&fan->alarm.head) && percent != (duty * 100)) { 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() [all …]
|
D | fan.c | 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() 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 …]
|
D | fanpwm.c | 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() 75 if (card_type <= NV_40 || (fan->func.log[0] & 1)) in nvkm_fanpwm_set() [all …]
|
D | base.c | 37 struct nvbios_therm_trip_point *trip = therm->fan->bios.trip, in nvkm_therm_update_trip() 45 for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) { in nvkm_therm_update_trip() 69 u8 linear_min_temp = therm->fan->bios.linear_min_temp; in nvkm_therm_update_linear() 70 u8 linear_max_temp = therm->fan->bios.linear_max_temp; in nvkm_therm_update_linear() 76 return therm->fan->bios.min_duty; in nvkm_therm_update_linear() 78 return therm->fan->bios.max_duty; in nvkm_therm_update_linear() 82 duty *= (therm->fan->bios.max_duty - therm->fan->bios.min_duty); in nvkm_therm_update_linear() 84 duty += therm->fan->bios.min_duty; in nvkm_therm_update_linear() 112 switch(therm->fan->bios.fan_mode) { in nvkm_therm_update() 144 nvkm_therm_cstate(struct nvkm_therm *therm, int fan, int dir) in nvkm_therm_cstate() argument [all …]
|
D | gf119.c | 127 if (therm->fan->tach.func != DCB_GPIO_UNUSED) { in gf119_therm_init() 128 nvkm_mask(device, 0x00d79c, 0x000000ff, therm->fan->tach.line); in gf119_therm_init()
|
D | fannil.c | 44 therm->fan = priv; in nvkm_fannil_create()
|
D | gt215.c | 43 struct dcb_gpio_func *tach = &therm->fan->tach; in gt215_therm_init()
|
D | Kbuild | 2 nvkm-y += nvkm/subdev/therm/fan.o
|
/linux-4.4.14/drivers/macintosh/ |
D | windfarm_fcu_controls.c | 81 struct wf_fcu_fan *fan = ct->priv; in wf_fcu_fan_release() local 83 kref_put(&fan->fcu_priv->ref, wf_fcu_release); in wf_fcu_fan_release() 84 kfree(fan); in wf_fcu_fan_release() 147 struct wf_fcu_fan *fan = ct->priv; in wf_fcu_fan_set_rpm() local 148 struct wf_fcu_priv *pv = fan->fcu_priv; in wf_fcu_fan_set_rpm() 152 if (value < fan->min) in wf_fcu_fan_set_rpm() 153 value = fan->min; in wf_fcu_fan_set_rpm() 154 if (value > fan->max) in wf_fcu_fan_set_rpm() 155 value = fan->max; in wf_fcu_fan_set_rpm() 157 fan->target = value; in wf_fcu_fan_set_rpm() [all …]
|
D | therm_windtunnel.c | 57 struct i2c_client *fan; member 158 write_reg( x.fan, 0x25, val, 1 ); in tune_fan() 159 write_reg( x.fan, 0x20, 0, 1 ); in tune_fan() 179 casetemp = read_reg(x.fan, 0x0b, 1) << 8; in poll_temp() 180 casetemp |= (read_reg(x.fan, 0x06, 1) & 0x7) << 5; in poll_temp() 215 x.r0 = read_reg( x.fan, 0x00, 1 ); in setup_hardware() 216 x.r1 = read_reg( x.fan, 0x01, 1 ); in setup_hardware() 217 x.r20 = read_reg( x.fan, 0x20, 1 ); in setup_hardware() 218 x.r23 = read_reg( x.fan, 0x23, 1 ); in setup_hardware() 219 x.r25 = read_reg( x.fan, 0x25, 1 ); in setup_hardware() [all …]
|
D | windfarm_smu_controls.c | 259 struct device_node *smu, *fans, *fan; in smu_controls_init() local 273 for (fan = NULL; in smu_controls_init() 274 fans && (fan = of_get_next_child(fans, fan)) != NULL;) { in smu_controls_init() 277 fct = smu_fan_create(fan, 0); in smu_controls_init() 280 "RPM fan %s\n", fan->name); in smu_controls_init() 292 for (fan = NULL; in smu_controls_init() 293 fans && (fan = of_get_next_child(fans, fan)) != NULL;) { in smu_controls_init() 296 fct = smu_fan_create(fan, 1); in smu_controls_init() 299 "PWM fan %s\n", fan->name); in smu_controls_init()
|
D | therm_adt746x.c | 91 static void write_fan_speed(struct thermostat *th, int speed, int fan); 148 static void write_fan_speed(struct thermostat *th, int speed, int fan) in write_fan_speed() argument 157 if (th->type == ADT7467 && fan == 1) in write_fan_speed() 160 if (th->last_speed[fan] != speed) { in write_fan_speed() 164 "for %s fan.\n", sensor_location[fan+1]); in write_fan_speed() 167 "for %s fan.\n", speed, sensor_location[fan+1]); in write_fan_speed() 173 manual = read_reg(th, MANUAL_MODE[fan]); in write_fan_speed() 175 write_reg(th, MANUAL_MODE[fan], in write_fan_speed() 176 manual | MANUAL_MASK | th->pwm_inv[fan]); in write_fan_speed() 177 write_reg(th, FAN_SPD_SET[fan], speed); in write_fan_speed() [all …]
|
D | Kconfig | 195 This driver provides some thermostat and fan control for the desktop 202 This driver provides some thermostat and fan control for the 204 better fan behaviour by default, and some manual control.
|
/linux-4.4.14/drivers/acpi/ |
D | fan.c | 98 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_max_state() local 100 if (fan->acpi4) in fan_get_max_state() 101 *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 131 for (i = 0; i < fan->fps_count; i++) { in fan_get_state_acpi4() 132 if (control == fan->fps[i].control) in fan_get_state_acpi4() 135 if (i == fan->fps_count) { in fan_get_state_acpi4() 167 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_cur_state() local 169 if (fan->acpi4) in fan_get_cur_state() 186 struct acpi_fan *fan = acpi_driver_data(device); in fan_set_state_acpi4() local [all …]
|
D | Makefile | 65 obj-$(CONFIG_ACPI_FAN) += fan.o
|
D | Kconfig | 189 This driver supports ACPI fan devices, allowing user-mode 190 applications to perform basic fan control (on, off, status). 193 the module will be called fan.
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
D | fan.c | 32 u16 fan = 0x0000; in nvbios_fan_table() local 36 fan = nvbios_rd16(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 …]
|
D | therm.c | 153 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 …]
|
D | perf.c | 186 struct nvbios_perf_fan *fan) in nvbios_perf_fan_parse() argument 194 fan->pwm_divisor = nvbios_rd16(bios, perf + 6); in nvbios_perf_fan_parse() 196 fan->pwm_divisor = 0; in nvbios_perf_fan_parse()
|
D | Kbuild | 10 nvkm-y += nvkm/subdev/bios/fan.o
|
/linux-4.4.14/Documentation/hwmon/ |
D | g762 | 4 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 24 fan1_target: set desired fan speed. This only makes sense in closed-loop 25 fan speed control (i.e. when pwm1_enable is set to 2). 27 fan1_input: provide current fan rotation value in RPM as reported by 28 the fan to the device. 30 fan1_div: fan clock divisor. Supported value are 1, 2, 4 and 8. 32 fan1_pulses: number of pulses per fan revolution. Supported values 35 fan1_fault: reports fan failure, i.e. no transition on fan gear pin for [all …]
|
D | max31790 | 19 PWM outputs. The desired fan speeds (or PWM duty cycles) are written 21 or can be used to modulate the fan's power terminals using an external 24 Tachometer inputs monitor fan tachometer logic outputs for precise (+/-1%) 25 monitoring and control of fan RPM as well as detection of fan failure. 33 fan[1-12]_input RO fan tachometer speed in RPM 34 fan[1-12]_fault RO fan experienced fault 35 fan[1-6]_target RW desired fan speed in RPM 37 pwm[1-6] RW fan target duty cycle (0-255)
|
D | g760a | 15 The GMT G760A Fan Speed PWM Controller is connected directly to a fan 16 and performs closed-loop control of the fan speed. 18 The fan speed is programmed by setting the period via 'pwm1' of two 22 Setting a period of 0 stops the fan; setting the period to 255 sets 23 fan to maximum speed. 25 The measured fan rotation speed returned via 'fan1_input' is derived 27 source and a 2 pulse-per-revolution fan. 30 the G760A chip's status register: Bit 0 is set when the actual fan 31 speed differs more than 20% with respect to the programmed fan speed; 32 bit 1 is set when fan speed is below 1920 RPM.
|
D | nct6775 | 54 There are 4 to 5 fan rotation speed sensors, 8 to 15 analog voltage sensors, 56 fan regulation strategies (plus manual fan control mode). 69 NCT6775F, fan readings can be divided by a programmable divider (1, 2, 4, 8, 71 do not have a fan speed divider. The driver sets the most suitable fan divisor 72 itself; specifically, it increases the divider value each time a fan speed 73 reading returns an invalid value, and it reduces it if the fan speed reading 81 The driver supports automatic fan control mode known as Thermal Cruise. 83 predefined temperature range. If the temperature goes out of range, fan 91 pwm[1-5] - this file stores PWM duty cycle or DC value (fan speed) in range: 94 pwm[1-5]_enable - this file controls mode of fan/temperature control: [all …]
|
D | adm9240 | 41 temperature, two fan speeds and chassis intrusion. Measured values can 63 with independent fan speed measurement cycles counting alternating rising 64 edges of the fan tacho inputs. 66 DS1780 measurement cycle is about once per second including fan speed. 68 LM81 measurement cycle is about once per 400ms including fan speed. 82 Two fan tacho inputs are provided, the ADM9240 gates an internal 22.5kHz 87 Automatic fan clock divider 91 - fan clock divider not changed 92 - auto fan clock adjuster enabled for valid fan speed reading 96 - fan clock divider set to max [all …]
|
D | f71882fg | 71 These chips also have fan controlling features, using either DC or PWM, in 88 Both PWM (pulse-width modulation) and DC fan speed control methods are 99 There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC 101 mode where the actual RPM of the fan (as measured) is controlled and the speed 102 gets specified as 0-100% of the fan#_full_speed file. 105 whole lot of a difference when modifying fan control settings. The only 106 important difference is that in RPM mode the 0-100% controls the fan speed 107 between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs 108 RPM mode, it will also set fan#_full_speed properly, if it does not then 109 fan control will not work properly, unless you set a sane fan#_full_speed [all …]
|
D | w83792d | 39 The driver implements three temperature sensors, seven fan rotation speed 40 sensors, nine voltage sensors, and two automatic fan regulation 43 The driver also implements up to seven fan control outputs: pwm1-7. Pwm1-7 48 Automatic fan control mode is possible only for fan1-fan3. 50 For all pwmX outputs, a value of 0 means minimum fan speed and a value of 51 255 means maximum fan speed. 97 of full speed rotation of corresponding fan. 128 Works as expected. You just need to specify desired PWM/DC value (fan speed) 135 fan speed to keep the temperatures of CPU and the system within specific 138 interval. The fan speed will be lowered as long as the current temperature [all …]
|
D | adm1026 | 27 List of GPIO pins (0-7) to program as fan tachs 37 16 general purpose digital I/O lines, eight (8) fan speed sensors (8-bit), 50 in counts of a 22.5kHz internal clock. Each fan has a high limit which 51 corresponds to a minimum fan speed. If the limit is exceeded, an interrupt 52 can be generated. Each fan can be programmed to divide the reference clock 55 two pulse per revolution fan is 661 RPM. 75 times a second. Fan speed measurement time depends on fan speed and 76 divisor. It can take as long as 1.5 seconds to measure all fan speeds. 78 The ADM1026 has the ability to automatically control fan speed based on the 80 used to control fan speed. Usually only one of these two outputs will be [all …]
|
D | w83627ehf | 54 2 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID 56 and some automatic fan regulation strategies (plus manual fan control mode). 75 suitable fan divisor itself. Some fans might not be present because they 82 The driver supports automatic fan control mode known as Thermal Cruise. 84 predefined temperature range. If the temperature goes out of range, fan 103 pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range: 106 pwm[1-4]_enable - this file controls mode of fan/temperature control: 137 there are no changes to fan speed. Once the temperature leaves the interval, 138 fan speed increases (temp is higher) or decreases if lower than desired. 141 pwm[1-4]_min_output - minimum fan speed (range 1 - 255), when the temperature [all …]
|
D | lm63 | 30 The LM63 is a digital temperature sensor with integrated fan monitoring 33 The LM63 is basically an LM86 with fan speed monitoring and control 48 The fan speed is measured using a tachometer. Contrary to most chips which 51 value for measuring the speed of the fan. It can measure fan speeds down to 54 Note that the pin used for fan monitoring is shared with an alert out 55 function. Depending on how the board designer wanted to use the chip, fan 59 for fan monitoring and alert out. On the LM64, monitoring is always enabled; 62 A PWM output can be used to control the speed of the fan. The LM63 has two 69 but will return 'old' values. Values in the automatic fan control lookup table
|
D | dme1737 | 29 * force_start: bool Enables the monitoring of voltage, fan and temp inputs 46 1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement 47 up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and 50 For the DME1737, A8000 and SCH5027, fan[1-2] and pwm[1-2] are always present. 55 For the SCH311x and SCH5127, fan[1-3] and pwm[1-3] are always present and 56 fan[4-6] and pwm[5-6] don't exist. 138 fan tachometers. All 6 inputs have an associated min limit which triggers an 140 to the number of pulses per fan revolution that the connected tachometer 143 attribute that needs to be set to the maximum attainable RPM (fan at 100% duty- 150 This chip features 5 PWM outputs. PWM outputs 1-3 are associated with fan [all …]
|
D | pwm-fan | 1 Kernel driver pwm-fan 4 This driver enables the use of a PWM module to drive a fan. It uses the 14 The driver implements a simple interface for driving a fan connected to 16 a range of SoCs. The driver exposes the fan to the user space through
|
D | asc7621 | 27 The fan speed control uses this finer value to produce a "step-less" fan 37 data sheet. Our temperature reports and fan PWM outputs are very smooth 50 Since there is a fan to zone assignment that allows for the "hotter" of 51 a set of zones to control the PWM of an individual fan, but there is no 53 is currently controlling the PWM for a given fan. This is in register 65 individual fans on each that would benefit from individual fan control. 69 fan types. We can also support pulse-stretched PWM so that 3-wire fans 84 Using temperature information from these four zones, an automatic fan speed 88 To set fan speed, the aSC7621 has three independent pulse width modulation 93 temperature readings for better control of fan speed and minimum acoustic [all …]
|
D | amc6821 | 18 The chip has one on-chip and one remote temperature sensor and one pwm fan 48 pwm1_enable rw regulator mode, 1=open loop, 2=fan controlled 49 by remote temperature, 3=fan controlled by 61 which is rw. Below this temperature fan stops. 68 temp1_auto_point3_temp rw Above this temperature fan runs at maximum 77 Below this temperature the fan stops in 85 temp2_auto_point3_temp rw Above this temperature fan runs at maximum
|
D | w83793 | 36 This driver exports 10 voltage sensors, up to 12 fan tachometer inputs, 37 6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan 38 (automatic fan speed control) on all temperature/PWM combinations, 2 63 For fan sensors, an alarm triggers if the measured value is below the 67 If you want to set a pwm fan to manual mode, you just need to make sure it 71 control the fan. 77 slow down all controlled fans, this means one fan can receive different 79 will always pick the safest (max) PWM value for each fan. 105 Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and
|
D | max6650 | 25 set, e.g. only one fan-input, instead of 4 for the MAX6651. 31 fan1_input ro fan tachometer speed in RPM 35 fan1_target rw desired fan speed in RPM (closed loop mode only) 58 voltage_12V: 5=5V fan, 12=12V fan, 0=don't change
|
D | adt7470 | 20 external temperatures. It has four (4) 16-bit counters for measuring fan speed. 21 There are four (4) PWM outputs that can be used to control fan speed. 24 that allows fan speed to be adjusted automatically based on any of the ten 30 Each of the measured inputs (temperature, fan speed) has corresponding high/low 36 automatic fan pwm control to set the fan speed. The driver will not read the
|
D | w83l786ng | 27 The driver implements two temperature sensors, two fan rotation speed 35 or 128 for fan 1/2) to give the readings more range or accuracy. 44 pwm[1-2] - this file stores PWM duty cycle or DC value (fan speed) in range: 46 pwm[1-2]_enable - this file controls mode of fan/temperature control:
|
D | sysfs-interface | 14 temperature sensor is connected to the CPU, or that the second fan is on 49 "fan" (fan). Usual items are "input" (measured value), "max" (high 193 fan[1-*]_min Fan minimum value 197 fan[1-*]_max Fan maximum value 202 fan[1-*]_input Fan input value. 206 fan[1-*]_div Fan divisor. 213 fan[1-*]_pulses Number of tachometer pulses per fan revolution. 216 This value is a characteristic of the fan connected to the 217 device's input, so it has to be set in accordance with the fan 222 per fan revolution. [all …]
|
D | it87 | 124 include an 'environment controller' with 3 temperature sensors, 3 fan 146 counters for fans 1 to 3. This is better (no more fan clock divider mess) but 158 IT8728F. It only supports 3 fans, 16-bit fan mode, and the full speed mode 159 of the fan is not supported (value 0 of pwmX_enable). 162 IT8728F. It only supports 16-bit fan mode. 164 The IT8790E supports up to 3 fans. 16-bit fan mode is always enabled. 166 The IT8732F supports a closed-loop mode for fan control, but this is not 174 16-bit tachometer counters aren't used, fan readings can be divided by 226 The fan speed control features are limited to manual PWM mode. Automatic 231 If you are only able to control the fan speed with very small PWM values, [all …]
|
D | adm1031 | 24 The ADM1030 and ADM1031 are digital temperature sensors and fan controllers. 34 The ADM1030 monitors a single fan speed, while the ADM1031 monitors up to 35 two. Each fan channel has its own low speed limit.
|
D | f71805f | 38 This chip also has fan controlling features, using either DC or PWM, in 129 Both PWM (pulse-width modulation) and DC fan speed control methods are 137 fan model. As a rule of thumb, lower frequencies seem to give better 141 not going below 1 kHz, as the fan tachometers get confused by lower 148 Three different fan control modes are supported; the mode number is written 156 You define 3 temperature/fan speed trip points using the 158 relationship between temperature and fan speed with two additional points 160 is below auto_point1_temp the fan is switched off. 163 You ask for a specific fan speed by writing to the fan<n>_target file.
|
D | nct7904 | 19 interface, up to 12 fan tachometer inputs, up to 4 fan control channels 30 fan[1-12]_input Fan tachometer measurements (rpm)
|
D | emc6w201 | 18 "The EMC6W201 is an environmental monitoring device with automatic fan 32 temperatures and fan speeds. Limits can be changed. Alarms are not 33 supported, and neither is fan speed control.
|
D | pc87360 | 39 PC87364 chip has monitoring and PWM control for a third fan. 46 Chip #vin #fan #pwm #temp devid 62 A different alarm is triggered if the fan speed is too low to be measured. 98 that the fan is stopped, and 255 meaning that the fan goes at full speed. 101 non-zero, can stop the fan, which may cause irreversible damage to your 105 One user reported problems with PWM. Changing PWM values would break fan 182 The datasheets suggests that some values (fan mins, fan dividers)
|
D | max6639 | 18 temperature monitor with dual PWM fan speed controller. It can monitor its own 40 fan1_input R TACH1 fan tachometer input (in RPM) 41 fan2_input R TACH2 fan tachometer input (in RPM)
|
D | ucd9000 | 32 functionality. Using these pins, the UCD90124 offers support for fan control, 102 fan[1-4]_input Fan RPM. 103 fan[1-4]_alarm Fan alarm. 104 fan[1-4]_fault Fan fault. 107 fan control (UCD90124, UCD90910). Attribute files are
|
D | adt7475 | 43 for measuring fan speed. There are three (3) PWM outputs that can be used 44 to control fan speed. 47 ADT747x that allows fan speed to be adjusted automatically based on any of the 53 Each of the measured inputs (voltage, temperature, fan speed) has 107 fan speed) is applied. PWM values range from 0 (off) to 255 (full speed).
|
D | w83791d | 62 five fan rotation speed sensors and manual PWM control of each fan. 78 Each fan controlled is controlled by PWM. The PWM duty cycle can be read and 79 set for each fan separately. Valid values range from 0 (stop) to 255 (full). 119 pwm[1-3]_enable - this file controls mode of fan/temperature control for 120 fan 1-3. Fan/PWM 4-5 only support manual mode. 131 in which the fan speed is not changed.
|
D | lm85 | 55 measuring fan speed. Five (5) digital inputs are provided for sampling the 57 outputs that can be used to control fan speed. 71 LM85 that allows fan speed to be adjusted automatically based on any of the 77 Each of the measured inputs (voltage, temperature, fan speed) has 89 The LM85 has four fan speed monitoring modes. The ADM1027 has only two. 92 speed of a two wire fan, but the input conditioning circuitry is different 93 for 3-wire and 2-wire mode. For this reason, the 2-wire fan modes are not 100 config option but uses it to rate limit the changes to fan speed instead. 125 fan speeds. They use this monitoring capability to alert the system to out 160 within spec (just?!) with the least possible fan noise.
|
D | adt7462 | 17 This chip is a bit of a beast. It has 8 counters for measuring fan speed. It 24 that allows fan speed to be adjusted automatically based on any of the three 30 Each of the measured inputs (voltage, temperature, fan speed) has
|
D | emc2103 | 17 contain up to 4 temperature sensors and a single fan controller. 26 This driver supports RPM based control, to use this a fan target
|
D | ibmpowernv | 12 This driver implements reading the platform sensors data like temperature/fan/ 35 1: Failing fan
|
D | sch5636 | 25 temperatures. Note that the driver detects how many fan headers / 27 likely see fewer temperature and fan inputs.
|
D | thmc50 | 35 many processors), and a controllable fan/analog_out DAC. For the temperature 55 A typical symptom of wrong setting is a fan forced to full speed. 66 pwm1 -- fan speed (0 = stop, 255 = full)
|
D | lm93 | 52 voltages. To set fan speed, the LM93 has two PWM outputs that are each 55 temperature readings for better control of fan speed. The LM93 has four 56 tachometer inputs to measure fan speed. Limit and status registers for all 119 If a fan is driven using a low-side drive PWM, the tachometer 120 output of the fan is corrupted. The LM93 includes smart tachometer 126 the fan tachometer with a pwm) to the sysfs file fan<n>_smart_tach. A zero 127 will disable the function for that fan. Note that Smart tach mode cannot be 156 The LM93 is capable of complex automatic fan control, with many different 255 four tach input pins. GPIO0-GPIO3 correspond to (fan) tach 1-4, respectively. 284 fan<n>_smart_tach enable or disable smart tach mode
|
D | nct6683 | 19 It supports up to 16 fan rotation sensors and up to 8 fan control engines.
|
D | abituguru | 56 * fan_sensors: int Tell the driver how many fan speed sensors there are 58 * pwms: int Tell the driver how many fan speed controls (fan
|
D | pc87427 | 24 This chip also has fan controlling features (up to 4 PWM outputs), 39 (including stalled or missing fan).
|
D | asb100 | 24 The ASB100 implements seven voltage sensors, three fan rotation speed 68 * Experiment with fan divisors > 8.
|
D | lineage-pem | 48 and fan status. 50 Input voltage, input current, input power, and fan speed measurement is only
|
D | abituguru-datasheet | 250 Sensor 0 usually controls the CPU fan 251 Sensor 1 usually controls the NB (or chipset for single chip) fan 252 Sensor 2 usually controls the System fan 259 0-255 = 0-12v (linear), specify voltage at which fan will rotate when under 263 0-255 = 0-12v (linear), specify voltage at which fan will rotate when above 278 Sensor 0: CPU fan speed 279 Sensor 1: NB (or chipset for single chip) fan speed 280 Sensor 2: SYS fan speed
|
D | smsc47m1 | 26 fan.c program: http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/ 37 monitoring block' in addition to the fan monitoring and control. The
|
D | w83781d | 70 two on the W83783S), three fan rotation speed sensors, voltage sensors 308 - fan 1: register 0x28, divisor on register 0xA1 (bits 4-5) 309 - fan 2: register 0x29, divisor on register 0xA1 (bits 6-7) 375 is below a given limit, the fan runs at low speed. If the value is above 376 the limit, the fan runs at full speed. We have no clue as to what the limit 383 would not be significant. If the value is below a given limit, the fan runs 405 some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an 431 In order to reduce the dependency of specific fan, the measurement is 432 conducted with a digital scope without fan connected. I found out that 433 P3B-F actually output variable DC voltage on fan header center pin,
|
D | nct7802 | 17 chip. NCT7802Y supports 6 temperature sensors, 5 voltage sensors, and 3 fan
|
D | smsc47m192 | 27 They do also have fan monitoring and control capabilities, but the 29 driver. Use the 'smsc47m1' driver for fan monitoring and control.
|
D | userspace-tools | 30 4) fix sensors.conf, labels, limits, fan divisors
|
D | smsc47b397 | 57 The fan speed information is located in the following registers: 60 fan speed on all systems).
|
D | lm80 | 29 The LM80 implements one temperature sensor, two fan rotation speed sensors,
|
D | gl518sm | 32 The GL518SM implements one temperature sensor, two fan rotation speed
|
D | lm87 | 29 The LM87 implements up to three temperature sensors, up to two fan
|
D | lm78 | 30 The LM7* implements one temperature sensor, three fan rotation speed sensors,
|
D | lm83 | 53 health monitoring. They also have voltage and fan rotation speed
|
D | via686a | 39 The Via 686a implements three temperature sensors, two fan rotation speed
|
D | sis5595 | 57 The SiS5595 implements zero or one temperature sensor, two fan speed
|
D | vt1211 | 48 This chip also provides manual and automatic control of fan speeds (according
|
/linux-4.4.14/Documentation/devicetree/bindings/gpio/ |
D | gpio-fan.txt | 1 Bindings for fan connected to GPIO lines 4 - compatible : "gpio-fan" 9 - gpio-fan,speed-map: A mapping of possible fan RPM speeds and the 13 the fan, and a udev event will be fired. 16 min and max states are derived from the speed-map of the fan. 23 compatible = "gpio-fan"; 26 gpio-fan,speed-map = <0 0 32 compatible = "gpio-fan"; 35 gpio-fan,speed-map = <0 0>,
|
/linux-4.4.14/Documentation/thermal/ |
D | nouveau_thermal | 12 This driver allows to read the GPU core temperature, drive the GPU fan and 17 have one of those, temperature and/or fan management through Nouveau's HWMON 51 Not all cards have a drivable fan. If you do, then the following HWMON 54 * pwm1_enable: Current fan management mode (NONE, MANUAL or AUTO); 61 * fan1_input: Speed in RPM of your fan. 63 Your fan can be driven in different modes: 65 * 0: The fan is left untouched; 66 * 1: The fan can be driven in manual (use pwm1 to change the speed); 67 * 2; The fan is driven automatically depending on the temperature. 69 NOTE: Be sure to use the manual mode if you want to drive the fan speed manually [all …]
|
D | sysfs-api.txt | 14 devices (sensors) and thermal cooling devices (fan, processor...) to register 79 This interface function adds a new thermal cooling device (fan/processor/...) 199 |---type: Type of the cooling device(processor/fan/...) 411 It has one processor and one fan, which are both registered as 415 If the processor is listed in _PSL method, and the fan is listed in _AL0
|
/linux-4.4.14/Documentation/devicetree/bindings/hwmon/ |
D | pwm-fan.txt | 1 Bindings for a fan connected to the PWM lines 4 - compatible : "pwm-fan" 5 - pwms : the PWM that is used to control the PWM fan 10 fan0: pwm-fan { 11 compatible = "pwm-fan";
|
D | ibmpowernv.txt | 6 "ibm,opal-sensor-cooling-fan" 15 cooling-fan#8-data { 17 compatible = "ibm,opal-sensor-cooling-fan";
|
D | g762.txt | 12 - "fan_startv": fan startup voltage. Accepted values are 0, 1, 2 and 3. 18 - "fan_gear_mode": fan gear mode. Supported values are 0, 1 and 2.
|
/linux-4.4.14/drivers/hwmon/ |
D | dell-smm-hwmon.c | 216 static int i8k_get_fan_status(int fan) in i8k_get_fan_status() argument 220 regs.ebx = fan & 0xff; in i8k_get_fan_status() 227 static int i8k_get_fan_speed(int fan) in i8k_get_fan_speed() argument 231 regs.ebx = fan & 0xff; in i8k_get_fan_speed() 238 static int i8k_get_fan_type(int fan) in i8k_get_fan_type() argument 242 regs.ebx = fan & 0xff; in i8k_get_fan_type() 249 static int i8k_get_fan_nominal_speed(int fan, int speed) in i8k_get_fan_nominal_speed() argument 253 regs.ebx = (fan & 0xff) | (speed << 8); in i8k_get_fan_nominal_speed() 260 static int i8k_set_fan(int fan, int speed) in i8k_set_fan() argument 265 regs.ebx = (fan & 0xff) | (speed << 8); in i8k_set_fan() [all …]
|
D | ultra45_env.c | 147 #define fan(index) \ macro 148 static SENSOR_DEVICE_ATTR(fan##index##_speed, S_IRUGO | S_IWUSR, \ 150 static SENSOR_DEVICE_ATTR(fan##index##_fault, S_IRUGO, \ 153 fan(0); 154 fan(1); 155 fan(2); 156 fan(3); 157 fan(4);
|
D | lm80.c | 137 u8 fan[f_num_fan][2]; /* Register value, 1st index enum fan_index */ member 205 data->fan[f_input][0] = rv; in lm80_update_device() 210 data->fan[f_min][0] = rv; in lm80_update_device() 215 data->fan[f_input][1] = rv; in lm80_update_device() 220 data->fan[f_min][1] = rv; in lm80_update_device() 314 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr][index], in show_fan() 341 data->fan[nr][index] = FAN_TO_REG(val, in set_fan_min() 344 data->fan[nr][index]); in set_fan_min() 369 min = FAN_FROM_REG(data->fan[f_min][nr], in set_fan_div() 398 data->fan[f_min][nr] = FAN_TO_REG(min, DIV_FROM_REG(data->fan_div[nr])); in set_fan_div() [all …]
|
D | adm1029.c | 120 u8 fan[ARRAY_SIZE(ADM1029_REG_FAN)]; member 149 data->fan[nr] = in adm1029_update_device() 186 if (data->fan[attr->index] == 0 in show_fan() 188 || data->fan[attr->index] == 255) { in show_fan() 193 / data->fan[attr->index]; in show_fan()
|
D | adm9240.c | 144 u8 fan[2]; /* ro fan1_input */ member 203 data->fan[i] = i2c_smbus_read_byte_data(client, in adm9240_update_device() 207 if (data->valid && data->fan[i] == 255 && in adm9240_update_device() 397 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[attr->index], in show_fan() 489 #define fan(nr) \ macro 490 static SENSOR_DEVICE_ATTR(fan##nr##_input, S_IRUGO, \ 492 static SENSOR_DEVICE_ATTR(fan##nr##_div, S_IRUGO, \ 494 static SENSOR_DEVICE_ATTR(fan##nr##_min, S_IRUGO | S_IWUSR, \ 497 fan(1); 498 fan(2);
|
D | emc6w201.c | 67 u16 fan[2][5]; member 169 data->fan[input][nr] = in emc6w201_update_device() 172 data->fan[min][nr] = in emc6w201_update_device() 275 if (data->fan[sf][nr] == 0 || data->fan[sf][nr] == 0xFFFF) in show_fan() 278 rpm = 5400000U / data->fan[sf][nr]; in show_fan() 305 data->fan[sf][nr] = val; in set_fan() 307 data->fan[sf][nr]); in set_fan()
|
D | smsc47b397.c | 110 u16 fan[4]; member 141 data->fan[i] = smsc47b397_read_value(data, in smsc47b397_update_device() 143 data->fan[i] |= smsc47b397_read_value(data, in smsc47b397_update_device() 196 return sprintf(buf, "%d\n", fan_from_reg(data->fan[attr->index])); in show_fan()
|
D | abituguru3.c | 955 SENSOR_ATTR_2(fan%d_input, 0444, show_value, NULL, 0, 0), 956 SENSOR_ATTR_2(fan%d_min, 0444, show_value, NULL, 1, 0), 957 SENSOR_ATTR_2(fan%d_alarm, 0444, show_alarm, NULL, 0, 0), 958 SENSOR_ATTR_2(fan%d_beep, 0444, show_mask, NULL, 960 SENSOR_ATTR_2(fan%d_shutdown, 0444, show_mask, NULL, 962 SENSOR_ATTR_2(fan%d_alarm_enable, 0444, show_mask, NULL, 964 SENSOR_ATTR_2(fan%d_label, 0444, show_label, NULL, 0, 0)
|
D | vt8231.c | 170 u8 fan[2]; /* Register value */ member 502 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr], in show_fan() 595 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 597 static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \ 599 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 899 data->fan[i] = vt8231_read_value(data, in vt8231_update_device() 927 if (!data->fan[0] && data->fan_min[0]) in vt8231_update_device() 929 else if (data->fan[0] && !data->fan_min[0]) in vt8231_update_device() 932 if (!data->fan[1] && data->fan_min[1]) in vt8231_update_device() 934 else if (data->fan[1] && !data->fan_min[1]) in vt8231_update_device()
|
D | smsc47m1.c | 133 u8 fan[3]; /* Register value */ member 168 data->fan[i] = smsc47m1_read_value(data, in smsc47m1_update_device() 218 FAN_FROM_REG(data->fan[nr], in get_fan() 426 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, get_fan, \ 428 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 430 static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \ 432 static SENSOR_DEVICE_ATTR(fan##offset##_alarm, S_IRUGO, get_fan_alarm, \
|
D | amc6821.c | 163 u16 fan[FAN1_IDX_LEN]; member 202 data->fan[i] = i2c_smbus_read_byte_data( in amc6821_update_device() 205 data->fan[i] += i2c_smbus_read_byte_data( in amc6821_update_device() 636 if (0 == data->fan[ix]) in get_fan() 638 return sprintf(buf, "%d\n", (int)(6000000 / data->fan[ix])); in get_fan() 668 data->fan[ix] = (u16) clamp_val(val, 1, 0xFFFF); in set_fan() 670 data->fan[ix] & 0xFF)) { in set_fan() 676 fan_reg_hi[ix], data->fan[ix] >> 8)) { in set_fan()
|
D | lm63.c | 167 u16 fan[2]; /* 0: input member 249 data->fan[0] = i2c_smbus_read_byte_data(client, in lm63_update_device() 251 data->fan[0] |= i2c_smbus_read_byte_data(client, in lm63_update_device() 253 data->fan[1] = (i2c_smbus_read_byte_data(client, in lm63_update_device() 348 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[attr->index])); in show_fan() 364 data->fan[1] = FAN_TO_REG(val); in set_fan() 366 data->fan[1] & 0xFF); in set_fan() 368 data->fan[1] >> 8); in set_fan()
|
D | sis5595.c | 197 u8 fan[2]; /* Register value */ member 377 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr], in show_fan() 484 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 486 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 488 static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \ 727 data->fan[i] = in sis5595_update_device()
|
D | via686a.c | 327 u8 fan[2]; /* Register value */ member 512 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr], in show_fan() 572 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 574 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 576 static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \ 781 data->fan[i - 1] = in via686a_update_device()
|
D | vt1211.c | 131 u8 fan[2]; member 291 for (ix = 0; ix < ARRAY_SIZE(data->fan); ix++) { in vt1211_update_device() 292 data->fan[ix] = vt1211_read8(data, in vt1211_update_device() 509 res = RPM_FROM_REG(data->fan[ix], data->fan_div[ix]); in show_fan() 1014 SENSOR_ATTR_2(fan##ix##_input, S_IRUGO, \ 1016 SENSOR_ATTR_2(fan##ix##_min, S_IRUGO | S_IWUSR, \ 1018 SENSOR_ATTR_2(fan##ix##_div, S_IRUGO | S_IWUSR, \ 1020 SENSOR_ATTR_2(fan##ix##_alarm, S_IRUGO, \
|
D | adm1026.c | 286 u8 fan[8]; /* Register value */ member 349 data->fan[i] = in adm1026_update_device() 642 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr], in show_fan() 677 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, show_fan, NULL, \ 679 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 692 static void fixup_fan_min(struct device *dev, int fan, int old_div) in fixup_fan_min() argument 697 int new_div = data->fan_div[fan]; in fixup_fan_min() 700 if (data->fan_min[fan] == 0 || data->fan_min[fan] == 0xff) in fixup_fan_min() 703 new_min = data->fan_min[fan] * old_div / new_div; in fixup_fan_min() 705 data->fan_min[fan] = new_min; in fixup_fan_min() [all …]
|
D | asb100.c | 206 u8 fan[3]; /* Register value */ member 305 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr], in show_fan() 403 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 405 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 407 static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \ 977 data->fan[i] = asb100_read_value(client, in asb100_update_device()
|
D | it87.c | 458 u16 fan[6][2]; /* Register values, [nr][0]=fan, [1]=min */ member 864 FAN16_FROM_REG(data->fan[nr][index]) : in show_fan() 865 FAN_FROM_REG(data->fan[nr][index], in show_fan() 927 data->fan[nr][index] = FAN16_TO_REG(val); in set_fan() 929 data->fan[nr][index] & 0xff); in set_fan() 931 data->fan[nr][index] >> 8); in set_fan() 945 data->fan[nr][index] = in set_fan() 948 data->fan[nr][index]); in set_fan() 973 min = FAN_FROM_REG(data->fan[nr][1], DIV_FROM_REG(data->fan_div[nr])); in set_fan_div() 994 data->fan[nr][1] = FAN_TO_REG(min, DIV_FROM_REG(data->fan_div[nr])); in set_fan_div() [all …]
|
D | dme1737.c | 240 u16 fan[6]; member 688 for (ix = 0; ix < ARRAY_SIZE(data->fan); ix++) { in dme1737_update_device() 695 data->fan[ix] = dme1737_read(data, in dme1737_update_device() 697 data->fan[ix] |= dme1737_read(data, in dme1737_update_device() 1101 res = FAN_FROM_REG(data->fan[ix], in show_fan() 1580 static SENSOR_DEVICE_ATTR_2(fan##ix##_input, S_IRUGO, \ 1582 static SENSOR_DEVICE_ATTR_2(fan##ix##_min, S_IRUGO | S_IWUSR, \ 1584 static SENSOR_DEVICE_ATTR_2(fan##ix##_alarm, S_IRUGO, \ 1586 static SENSOR_DEVICE_ATTR_2(fan##ix##_type, S_IRUGO | S_IWUSR, \ 1597 static SENSOR_DEVICE_ATTR_2(fan##ix##_input, S_IRUGO, \ [all …]
|
D | lm87.c | 176 u8 fan[2]; /* register value */ member 229 data->fan[i] = lm87_read_value(client, in lm87_update_device() 471 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr], in show_fan_input() 579 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 581 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 583 static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \
|
D | sch5627.c | 93 u16 fan[SCH5627_NO_FANS]; member 133 data->fan[i] = val; in sch5627_update_device() 272 val = reg_to_rpm(data->fan[attr->index]); in show_fan() 289 data->fan[attr->index] == 0xffff); in show_fan_fault()
|
D | adt7462.c | 217 u16 fan[ADT7462_FAN_COUNT]; member 247 static int ADT7462_REG_FAN(int fan) in ADT7462_REG_FAN() argument 249 if (fan < 4) in ADT7462_REG_FAN() 250 return ADT7462_REG_FAN_BASE_ADDR + (2 * fan); in ADT7462_REG_FAN() 251 return ADT7462_REG_FAN2_BASE_ADDR + (2 * (fan - 4)); in ADT7462_REG_FAN() 706 data->fan[i] = adt7462_read_word_data(client, in adt7462_update_device() 1010 static int fan_enabled(struct adt7462_data *data, int fan) in fan_enabled() argument 1012 return data->fan_enabled & (1 << fan); in fan_enabled() 1067 !FAN_DATA_VALID(data->fan[attr->index])) in show_fan() 1071 FAN_PERIOD_TO_RPM(data->fan[attr->index])); in show_fan()
|
D | w83795.c | 348 u16 fan[14]; /* Register value combine */ member 492 for (i = 0; i < ARRAY_SIZE(data->fan); i++) { in w83795_update_limits() 645 for (i = 0; i < ARRAY_SIZE(data->fan); i++) { in w83795_update_device() 648 data->fan[i] = w83795_read(client, W83795_REG_FAN(i)) << 4; in w83795_update_device() 649 data->fan[i] |= w83795_read(client, W83795_REG_VRLSB) >> 4; in w83795_update_device() 798 val = data->fan[index] & 0x0fff; in show_fan() 1640 SENSOR_ATTR_2(fan##index##_input, S_IRUGO, show_fan, \ 1642 SENSOR_ATTR_2(fan##index##_min, S_IWUSR | S_IRUGO, \ 1644 SENSOR_ATTR_2(fan##index##_alarm, S_IRUGO, show_alarm_beep, \ 1646 SENSOR_ATTR_2(fan##index##_beep, S_IWUSR | S_IRUGO, \ [all …]
|
D | lm78.c | 140 u8 fan[3]; /* Register value */ member 309 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr], in show_fan() 417 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 419 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 766 data->fan[i] = in lm78_update_device()
|
D | adm1031.c | 92 u8 fan[2]; member 195 data->fan[chan] = in adm1031_update_device() 583 value = trust_fan_readings(data, nr) ? FAN_FROM_REG(data->fan[nr], in show_fan() 677 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 679 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 681 static SENSOR_DEVICE_ATTR(fan##offset##_div, S_IRUGO | S_IWUSR, \
|
D | lm85.c | 312 u16 fan[4]; /* Register value */ member 414 data->fan[i] = in lm85_update_device() 562 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr])); in show_fan() 594 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 596 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 1448 u8 in_temp, fan; in lm85_is_fake() local 1452 fan = i2c_smbus_read_byte_data(client, 0x28 + i); in lm85_is_fake() 1453 if (in_temp != 0x00 || fan != 0xff) in lm85_is_fake()
|
D | Kconfig | 12 can include temperature sensors, voltage sensors, fan speed 310 control and fan control. 315 Data from the different sensors, keyboard backlight control and fan 515 Technology Inc G760A fan speed PWM controller chips. 525 Technology Inc G762 and G763 fan speed PWM controller chips. 531 tristate "GPIO fan" 538 will be called gpio-fan. 583 If you say yes here you get support for the temperature/fan/power 915 sensors with integrated fan control. Such chips are found 1108 The PC87360, PC87363 and PC87364 only have fan monitoring and [all …]
|
D | Makefile | 69 obj-$(CONFIG_SENSORS_GPIO_FAN) += gpio-fan.o 132 obj-$(CONFIG_SENSORS_PWM_FAN) += pwm-fan.o
|
D | f71805f.c | 166 u16 fan[3]; member 184 u16 fan[3]; member 378 data->auto_points[nr].fan[apnr] = in f71805f_update_device() 398 data->fan[nr] = f71805f_read16(data, in f71805f_update_device() 577 return sprintf(buf, "%ld\n", fan_from_reg(data->fan[nr])); in show_fan() 839 fan_from_reg(data->auto_points[pwmnr].fan[apnr])); in show_pwm_auto_point_fan() 858 data->auto_points[pwmnr].fan[apnr] = fan_to_reg(val); in set_pwm_auto_point_fan() 860 data->auto_points[pwmnr].fan[apnr]); in set_pwm_auto_point_fan()
|
D | max6639.c | 91 u8 fan[2]; /* Register value: TACH count for fans >=30 */ member 136 data->fan[i] = res; in max6639_update_device() 331 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[attr->index], in show_fan_input()
|
D | abituguru.c | 1239 SENSOR_ATTR_2(fan%d_input, 0444, show_bank2_value, NULL, 0, 0), 1240 SENSOR_ATTR_2(fan%d_alarm, 0444, show_bank2_alarm, NULL, 0, 0), 1241 SENSOR_ATTR_2(fan%d_min, 0644, show_bank2_setting, 1243 SENSOR_ATTR_2(fan%d_beep, 0644, show_bank2_mask, 1245 SENSOR_ATTR_2(fan%d_shutdown, 0644, show_bank2_mask, 1247 SENSOR_ATTR_2(fan%d_alarm_enable, 0644, show_bank2_mask,
|
D | w83793.c | 234 u16 fan[12]; /* Register value combine */ member 488 val = data->fan[index] & 0x0fff; in show_fan() 1043 SENSOR_ATTR_2(fan##index##_alarm, S_IRUGO, show_alarm_beep, \ 1045 SENSOR_ATTR_2(fan##index##_beep, S_IWUSR | S_IRUGO, \ 1047 SENSOR_ATTR_2(fan##index##_input, S_IRUGO, show_fan, \ 1049 SENSOR_ATTR_2(fan##index##_min, S_IWUSR | S_IRUGO, \ 2080 for (i = 0; i < ARRAY_SIZE(data->fan); i++) { in w83793_update_device() 2083 data->fan[i] = in w83793_update_device() 2085 data->fan[i] |= in w83793_update_device()
|
D | pc87360.c | 201 u8 fan[3]; /* Register value */ member 262 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan[attr->index], in show_fan_input() 310 data->fan[attr->index] >>= 1; in set_fan_min() 1574 || (data->fan[nr] >= 224)) { /* next to overflow */ in pc87360_autodiv() 1578 data->fan[nr] >>= 1; in pc87360_autodiv() 1586 && data->fan[nr] < 85 /* bad accuracy */ in pc87360_autodiv() 1590 data->fan[nr] <<= 1; in pc87360_autodiv() 1622 data->fan[i] = pc87360_read_value(data, LD_FAN, in pc87360_update_device()
|
D | w83l786ng.c | 137 u8 fan[2]; member 187 data->fan[i] = w83l786ng_read_value(client, in w83l786ng_update_device() 300 show_fan_reg(fan);
|
D | f75375s.c | 110 u16 fan[2]; member 238 data->fan[nr] = in f75375_update_device() 667 show_fan(fan);
|
D | adt7470.c | 159 u16 fan[ADT7470_FAN_COUNT]; member 318 data->fan[i] = adt7470_read_word_data(client, in adt7470_update_device() 621 if (FAN_DATA_VALID(data->fan[attr->index])) in show_fan() 623 FAN_PERIOD_TO_RPM(data->fan[attr->index])); in show_fan()
|
D | f71882fg.c | 279 u16 fan[4]; member 1163 static inline u16 fan_to_reg(int fan) in fan_to_reg() argument 1165 return fan ? (1500000 / fan) : 0; in fan_to_reg() 1338 data->fan[nr] = f71882fg_read16(data, in f71882fg_update_device() 1350 data->fan[2] = f71882fg_read16(data, in f71882fg_update_device() 1356 data->fan[3] = f71882fg_read16(data, in f71882fg_update_device() 1389 int speed = fan_from_reg(data->fan[nr]); in show_fan()
|
D | w83791d.c | 298 u8 fan[NUMBER_OF_FANIN]; /* Register value */ member 544 show_fan_reg(fan); 1546 data->fan[i] = w83791d_read(client, in w83791d_update_device() 1667 dev_dbg(dev, "fan[%d] is: 0x%02x\n", i, data->fan[i]); in w83791d_print_debug()
|
D | w83627hf.c | 371 u8 fan[3]; /* Register value */ member 665 return sprintf(buf, "%ld\n", FAN_FROM_REG(data->fan[nr], in show_fan_input() 698 static SENSOR_DEVICE_ATTR(fan##offset##_input, S_IRUGO, \ 700 static SENSOR_DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \ 1851 data->fan[i] = in w83627hf_update_device()
|
D | w83792d.c | 287 u8 fan[7]; /* Register value */ member 418 show_fan_reg(fan); 1549 data->fan[i] = w83792d_read_value(client, in w83792d_update_device() 1659 dev_dbg(dev, "fan[%d] is: 0x%x\n", i, data->fan[i]); in w83792d_print_debug()
|
D | pc87427.c | 62 u16 fan[8]; /* register values */ member 189 data->fan[nr] = inw(iobase + PC87427_REG_FAN); in pc87427_readall_fan() 393 return sprintf(buf, "%lu\n", fan_from_reg(data->fan[nr])); in show_fan_input()
|
D | nct6775.c | 800 static u16 fan_to_reg(u32 fan, unsigned int divreg) in fan_to_reg() argument 802 if (!fan) in fan_to_reg() 805 return (1350000U / fan) >> divreg; in fan_to_reg() 2005 int fan = index / 6; /* fan index */ in nct6775_fan_is_visible() local 2008 if (!(data->has_fan & (1 << fan))) in nct6775_fan_is_visible() 2011 if (nr == 1 && data->ALARM_BITS[FAN_ALARM_BASE + fan] == -1) in nct6775_fan_is_visible() 2013 if (nr == 2 && data->BEEP_BITS[FAN_ALARM_BASE + fan] == -1) in nct6775_fan_is_visible() 2015 if (nr == 4 && !(data->has_fan_min & (1 << fan))) in nct6775_fan_is_visible()
|
D | lm93.c | 1805 struct lm93_data *data, int fan, long value) in lm93_write_fan_smart_tach() argument 1809 data->sf_tach_to_pwm &= ~(0x3 << fan * 2); in lm93_write_fan_smart_tach() 1810 data->sf_tach_to_pwm |= value << fan * 2; in lm93_write_fan_smart_tach() 1816 data->sfc2 |= 1 << fan; in lm93_write_fan_smart_tach() 1818 data->sfc2 &= ~(1 << fan); in lm93_write_fan_smart_tach()
|
D | nct7802.c | 870 int fan = index / 4; /* 4 attributes per fan */ in nct7802_fan_is_visible() local 875 if (err < 0 || !(reg & (1 << fan))) in nct7802_fan_is_visible()
|
D | nct6683.c | 745 int fan = index / 3; /* fan index */ in nct6683_fan_is_visible() local 748 if (!(data->have_fan & (1 << fan))) in nct6683_fan_is_visible()
|
D | w83781d.c | 228 u8 fan[3]; /* Register value */ member 322 show_fan_reg(fan); 1489 data->fan[i] = in w83781d_update_device()
|
/linux-4.4.14/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_dpm.c | 252 struct _ATOM_PPLIB_FANTABLE fan; member 334 adev->pm.dpm.fan.t_hyst = fan_info->fan.ucTHyst; in amdgpu_parse_extended_power_table() 335 adev->pm.dpm.fan.t_min = le16_to_cpu(fan_info->fan.usTMin); in amdgpu_parse_extended_power_table() 336 adev->pm.dpm.fan.t_med = le16_to_cpu(fan_info->fan.usTMed); in amdgpu_parse_extended_power_table() 337 adev->pm.dpm.fan.t_high = le16_to_cpu(fan_info->fan.usTHigh); in amdgpu_parse_extended_power_table() 338 adev->pm.dpm.fan.pwm_min = le16_to_cpu(fan_info->fan.usPWMMin); in amdgpu_parse_extended_power_table() 339 adev->pm.dpm.fan.pwm_med = le16_to_cpu(fan_info->fan.usPWMMed); in amdgpu_parse_extended_power_table() 340 adev->pm.dpm.fan.pwm_high = le16_to_cpu(fan_info->fan.usPWMHigh); in amdgpu_parse_extended_power_table() 341 if (fan_info->fan.ucFanTableFormat >= 2) in amdgpu_parse_extended_power_table() 342 adev->pm.dpm.fan.t_max = le16_to_cpu(fan_info->fan2.usTMax); in amdgpu_parse_extended_power_table() [all …]
|
D | ci_dpm.c | 486 if ((adev->pm.dpm.fan.fan_output_sensitivity & (1 << 15)) || in ci_populate_fuzzy_fan() 487 (adev->pm.dpm.fan.fan_output_sensitivity == 0)) in ci_populate_fuzzy_fan() 488 adev->pm.dpm.fan.fan_output_sensitivity = in ci_populate_fuzzy_fan() 489 adev->pm.dpm.fan.default_fan_output_sensitivity; in ci_populate_fuzzy_fan() 492 cpu_to_be16(adev->pm.dpm.fan.fan_output_sensitivity); in ci_populate_fuzzy_fan() 1078 adev->pm.dpm.fan.ucode_fan_control = false; in ci_thermal_setup_fan_table() 1086 adev->pm.dpm.fan.ucode_fan_control = false; in ci_thermal_setup_fan_table() 1090 tmp64 = (u64)adev->pm.dpm.fan.pwm_min * duty100; in ci_thermal_setup_fan_table() 1094 t_diff1 = adev->pm.dpm.fan.t_med - adev->pm.dpm.fan.t_min; in ci_thermal_setup_fan_table() 1095 t_diff2 = adev->pm.dpm.fan.t_high - adev->pm.dpm.fan.t_med; in ci_thermal_setup_fan_table() [all …]
|
/linux-4.4.14/arch/arm/boot/dts/ |
D | kirkwood-synology.dtsi | 296 gpio-fan-150-32-35 { 298 compatible = "gpio-fan"; 305 gpio-fan,speed-map = < 0 0 315 gpio-fan-150-15-18 { 317 compatible = "gpio-fan"; 325 gpio-fan,speed-map = < 0 0 335 gpio-fan-100-32-35 { 337 compatible = "gpio-fan"; 345 gpio-fan,speed-map = < 0 0 355 gpio-fan-100-15-18 { [all …]
|
D | kirkwood-lsxl.dtsi | 20 pmx_fan_high: pmx-fan-high { 24 pmx_fan_low: pmx-fan-low { 44 pmx_fan_lock: pmx-fan-lock { 164 compatible = "gpio-fan"; 169 gpio-fan,speed-map = <0 3
|
D | kirkwood-dnskw.dtsi | 35 compatible = "gpio-fan"; 40 gpio-fan,speed-map = <0 0 120 pmx_fan_tacho: pmx-fan-tacho { 124 pmx_fan_high_speed: pmx-fan-high-speed { 128 pmx_fan_low_speed: pmx-fan-low-speed {
|
D | kirkwood-ns2max.dts | 25 compatible = "gpio-fan"; 30 gpio-fan,speed-map =
|
D | kirkwood-lswxl.dts | 54 pmx_fan_high: pmx-fan-high { 58 pmx_fan_low: pmx-fan-low { 90 pmx_fan_lock: pmx-fan-lock { 224 compatible = "gpio-fan"; 231 gpio-fan,speed-map = <0 3
|
D | kirkwood-lswvl.dts | 54 pmx_fan_high: pmx-fan-high { 58 pmx_fan_low: pmx-fan-low { 90 pmx_fan_lock: pmx-fan-lock { 224 compatible = "gpio-fan"; 231 gpio-fan,speed-map = <0 3
|
D | kirkwood-ns2mini.dts | 26 compatible = "gpio-fan"; 31 gpio-fan,speed-map =
|
D | armada-370-seagate-nas-2bay.dts | 29 gpio-fan { 30 gpio-fan,speed-map =
|
D | kirkwood-nas2big.dts | 55 fan { 57 * An I2C fan controller (GMT G762) is used but alarm is 60 compatible = "gpio-fan";
|
D | kirkwood-net2big.dts | 31 fan { 32 compatible = "gpio-fan";
|
D | orion5x-linkstation-lswtgl.dts | 111 pmx_fan_high: pmx-fan-high { 116 pmx_fan_low: pmx-fan-low { 121 pmx_fan_lock: pmx-fan-lock { 179 compatible = "gpio-fan"; 186 gpio-fan,speed-map = <0 3
|
D | armada-370-synology-ds213j.dts | 205 gpio-fan-32-38 { 207 compatible = "gpio-fan"; 215 gpio-fan,speed-map = < 0 0 330 fan_ctrl_low_pin: fan-ctrl-low-pin { 335 fan_ctrl_mid_pin: fan-ctrl-mid-pin { 340 fan_ctrl_high_pin: fan-ctrl-high-pin { 345 fan_alarm_pin: fan-alarm-pin {
|
D | exynos4412-odroidu3.dts | 36 fan0: pwm-fan { 37 compatible = "pwm-fan";
|
D | armada-370-rd.dts | 156 gpio-fan { 157 compatible = "gpio-fan"; 159 gpio-fan,speed-map = <0 0 3000 1>; 241 fan_pins: fan-pins {
|
D | armada-370-seagate-nas-4bay.dts | 126 gpio-fan { 127 gpio-fan,speed-map =
|
D | kirkwood-ds409slim.dts | 30 gpio-fan-150-32-35 {
|
D | kirkwood-ds212j.dts | 31 gpio-fan-100-32-35 {
|
D | kirkwood-ds112.dts | 30 gpio-fan-100-15-35-1 {
|
D | kirkwood-ds111.dts | 30 gpio-fan-100-15-35-1 {
|
D | kirkwood-ds209.dts | 30 gpio-fan-150-32-35 {
|
D | kirkwood-ds411slim.dts | 30 gpio-fan-100-15-35-1 {
|
D | kirkwood-rs212.dts | 30 gpio-fan-100-15-35-3 {
|
D | kirkwood-rs411.dts | 30 gpio-fan-100-15-35-3 {
|
D | kirkwood-rs409.dts | 30 gpio-fan-150-15-18 {
|
D | kirkwood-ds110jv10.dts | 31 gpio-fan-150-32-35 {
|
D | kirkwood-ds411j.dts | 30 gpio-fan-150-15-18 {
|
D | kirkwood-ds109.dts | 31 gpio-fan-150-32-35 {
|
D | kirkwood-ds411.dts | 30 gpio-fan-100-15-35-1 {
|
D | kirkwood-ds210.dts | 32 gpio-fan-150-32-35 {
|
D | kirkwood-ds409.dts | 30 gpio-fan-150-15-18 {
|
D | kirkwood-ds212.dts | 33 gpio-fan-100-15-35-1 {
|
D | exynos5422-odroidxu4.dts | 37 * PWM 0 -- fan
|
D | armada-370-seagate-nas-xbay.dtsi | 151 gpio-fan { 152 compatible = "gpio-fan";
|
D | orion5x-lacie-d2-network.dts | 156 fan@3e { 184 pmx_fan_fail: pmx-fan-fail {
|
D | imx6q-tbs2910.dts | 66 fan { 67 compatible = "gpio-fan"; 71 gpio-fan,speed-map = <0 0
|
D | armada-xp-linksys-mamba.dts | 331 compatible = "gpio-fan"; 334 gpio-fan,speed-map = <0 0 396 gpio_fan_pin: gpio-fan-pin {
|
D | exynos5422-odroidxu3-lite.dts | 59 * PWM 0 -- fan
|
D | armada-xp-netgear-rn2120.dts | 104 /* Controller for rear fan #1 of 3 (Protechnic 115 /* Controller for rear (center) fan #2 of 3 */ 125 /* Controller for rear fan #3 of 3 */
|
D | armada-388-gp.dts | 268 gpio-fan { 269 compatible = "gpio-fan"; 271 gpio-fan,speed-map = < 0 0
|
D | exynos5422-odroidxu3.dts | 90 * PWM 0 -- fan
|
D | exynos5440.dtsi | 144 fan: fan { label
|
D | exynos5422-odroidxu3-common.dtsi | 49 fan0: pwm-fan { 50 compatible = "pwm-fan";
|
D | am57xx-beagle-x15.dts | 95 compatible = "gpio-fan"; 97 gpio-fan,speed-map = <0 0>,
|
/linux-4.4.14/drivers/gpu/drm/radeon/ |
D | r600_dpm.c | 812 struct _ATOM_PPLIB_FANTABLE fan; member 892 rdev->pm.dpm.fan.t_hyst = fan_info->fan.ucTHyst; in r600_parse_extended_power_table() 893 rdev->pm.dpm.fan.t_min = le16_to_cpu(fan_info->fan.usTMin); in r600_parse_extended_power_table() 894 rdev->pm.dpm.fan.t_med = le16_to_cpu(fan_info->fan.usTMed); in r600_parse_extended_power_table() 895 rdev->pm.dpm.fan.t_high = le16_to_cpu(fan_info->fan.usTHigh); in r600_parse_extended_power_table() 896 rdev->pm.dpm.fan.pwm_min = le16_to_cpu(fan_info->fan.usPWMMin); in r600_parse_extended_power_table() 897 rdev->pm.dpm.fan.pwm_med = le16_to_cpu(fan_info->fan.usPWMMed); in r600_parse_extended_power_table() 898 rdev->pm.dpm.fan.pwm_high = le16_to_cpu(fan_info->fan.usPWMHigh); in r600_parse_extended_power_table() 899 if (fan_info->fan.ucFanTableFormat >= 2) in r600_parse_extended_power_table() 900 rdev->pm.dpm.fan.t_max = le16_to_cpu(fan_info->fan2.usTMax); in r600_parse_extended_power_table() [all …]
|
D | ci_dpm.c | 368 if ((rdev->pm.dpm.fan.fan_output_sensitivity & (1 << 15)) || in ci_populate_fuzzy_fan() 369 (rdev->pm.dpm.fan.fan_output_sensitivity == 0)) in ci_populate_fuzzy_fan() 370 rdev->pm.dpm.fan.fan_output_sensitivity = in ci_populate_fuzzy_fan() 371 rdev->pm.dpm.fan.default_fan_output_sensitivity; in ci_populate_fuzzy_fan() 374 cpu_to_be16(rdev->pm.dpm.fan.fan_output_sensitivity); in ci_populate_fuzzy_fan() 960 rdev->pm.dpm.fan.ucode_fan_control = false; in ci_thermal_setup_fan_table() 967 rdev->pm.dpm.fan.ucode_fan_control = false; in ci_thermal_setup_fan_table() 971 tmp64 = (u64)rdev->pm.dpm.fan.pwm_min * duty100; in ci_thermal_setup_fan_table() 975 t_diff1 = rdev->pm.dpm.fan.t_med - rdev->pm.dpm.fan.t_min; in ci_thermal_setup_fan_table() 976 t_diff2 = rdev->pm.dpm.fan.t_high - rdev->pm.dpm.fan.t_med; in ci_thermal_setup_fan_table() [all …]
|
D | si_dpm.c | 6052 rdev->pm.dpm.fan.ucode_fan_control = false; in si_thermal_setup_fan_table() 6059 rdev->pm.dpm.fan.ucode_fan_control = false; in si_thermal_setup_fan_table() 6063 tmp64 = (u64)rdev->pm.dpm.fan.pwm_min * duty100; in si_thermal_setup_fan_table() 6067 t_diff1 = rdev->pm.dpm.fan.t_med - rdev->pm.dpm.fan.t_min; in si_thermal_setup_fan_table() 6068 t_diff2 = rdev->pm.dpm.fan.t_high - rdev->pm.dpm.fan.t_med; in si_thermal_setup_fan_table() 6070 pwm_diff1 = rdev->pm.dpm.fan.pwm_med - rdev->pm.dpm.fan.pwm_min; in si_thermal_setup_fan_table() 6071 pwm_diff2 = rdev->pm.dpm.fan.pwm_high - rdev->pm.dpm.fan.pwm_med; in si_thermal_setup_fan_table() 6076 fan_table.temp_min = cpu_to_be16((50 + rdev->pm.dpm.fan.t_min) / 100); in si_thermal_setup_fan_table() 6077 fan_table.temp_med = cpu_to_be16((50 + rdev->pm.dpm.fan.t_med) / 100); in si_thermal_setup_fan_table() 6078 fan_table.temp_max = cpu_to_be16((50 + rdev->pm.dpm.fan.t_max) / 100); in si_thermal_setup_fan_table() [all …]
|
/linux-4.4.14/Documentation/laptops/ |
D | thinkpad-acpi.txt | 46 - Fan control and monitoring: fan speed, fan enable/disable 121 Sysfs device attributes for the sensors and fan are on the 918 Use it to determine the register holding the fan 921 - make sure the fan is running 924 Often fan and temperature values vary between 1132 Fan control and monitoring: fan speed, fan enable/disable 1135 procfs: /proc/acpi/ibm/fan 1140 NOTE NOTE NOTE: fan control operations are disabled by default for 1144 This feature attempts to show the current fan speed, control mode and 1145 other fan data that might be available. The speed is read directly [all …]
|
D | sony-laptop.txt | 55 fanspeed get/set the fan speed
|
/linux-4.4.14/arch/powerpc/platforms/44x/ |
D | warp.c | 225 u32 fan = in_be32(fpga + 0x34) & (1 << 14); in pika_dtm_check_fan() local 227 if (fan_state != fan) { in pika_dtm_check_fan() 228 fan_state = fan; in pika_dtm_check_fan() 229 if (fan) in pika_dtm_check_fan()
|
/linux-4.4.14/drivers/hwmon/pmbus/ |
D | ucd9000.c | 55 static int ucd9000_get_fan_config(struct i2c_client *client, int fan) in ucd9000_get_fan_config() argument 61 if (data->fan_data[fan][3] & 1) in ucd9000_get_fan_config() 65 fan_config |= (data->fan_data[fan][3] & 0x06) >> 1; in ucd9000_get_fan_config()
|
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/ |
D | fan.h | 5 u16 nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan);
|
/linux-4.4.14/drivers/platform/x86/ |
D | asus-wmi.c | 181 u8 fan; /* fan number: 0: set auto mode 1: 1st fan */ member 1088 static int asus_hwmon_agfn_fan_speed_read(struct asus_wmi *asus, int fan, in asus_hwmon_agfn_fan_speed_read() argument 1095 .fan = fan, in asus_hwmon_agfn_fan_speed_read() 1101 if (fan != 1) in asus_hwmon_agfn_fan_speed_read() 1115 static int asus_hwmon_agfn_fan_speed_write(struct asus_wmi *asus, int fan, in asus_hwmon_agfn_fan_speed_write() argument 1122 .fan = fan, in asus_hwmon_agfn_fan_speed_write() 1129 if (fan != 1 && fan != 0) in asus_hwmon_agfn_fan_speed_write() 1137 if (speed && fan == 1) in asus_hwmon_agfn_fan_speed_write() 1174 static int asus_hwmon_fan_rpm_show(struct device *dev, int fan) in asus_hwmon_fan_rpm_show() argument 1184 ret = asus_hwmon_agfn_fan_speed_read(asus, fan+1, &value); in asus_hwmon_fan_rpm_show() [all …]
|
D | acerhdf.c | 283 u8 fan; in acerhdf_get_fanstate() local 285 if (ec_read(bios_cfg->fanreg, &fan)) in acerhdf_get_fanstate() 288 if (fan != bios_cfg->cmd.cmd_off) in acerhdf_get_fanstate()
|
D | Kconfig | 40 tristate "Acer Aspire One temperature and fan driver" 45 the temperature sensor and to control the fan. 47 After loading this driver the BIOS is still in control of the fan. 48 To let the kernel handle the fan, do: 352 rfkill switch, hotkey, fan control and backlight control.
|
/linux-4.4.14/Documentation/ABI/testing/ |
D | sysfs-platform-ideapad-laptop | 13 Change fan mode
|
D | sysfs-platform-msi-laptop | 80 Contains either 0 or 1 and indicates if fan speed is controlled 81 automatically (1) or fan runs at maximal speed (0). Can be
|
D | sysfs-driver-toshiba_acpi | 135 What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/fan 139 Description: This file controls the state of the internal fan, valid
|
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/subdev/ |
D | therm.h | 64 struct nvkm_fan *fan; member
|
/linux-4.4.14/Documentation/gpio/ |
D | drivers-on-gpio.txt | 67 - gpio-fan: drivers/hwmon/gpio-fan.c is used to control a fan for cooling the
|
/linux-4.4.14/Documentation/devicetree/bindings/thermal/ |
D | db8500-thermal.txt | 39 trip1-cdev-name1 = "thermal-fan";
|
D | thermal.txt | 50 fan speeds. In both cases, cooling devices shall have a way to determine 54 of heat dissipation). For example a fan's cooling states correspond to 55 the different fan speeds possible. Cooling states are referred to by 239 * A simple fan controller which supports 10 speeds of operation 242 fan0: fan@0x48 { 305 used to monitor the zone 'cpu-thermal' using its sole sensor. A fan
|
/linux-4.4.14/tools/thermal/tmon/ |
D | README | 6 thermal relationship between processor and fan has become past for modern
|
/linux-4.4.14/Documentation/watchdog/ |
D | wdt.txt | 7 ICS WDT501-P (no fan tachometer)
|
D | watchdog-api.txt | 143 some do temperature, fan and power level monitoring, some can tell you 167 A system fan monitored by the watchdog card has failed
|
/linux-4.4.14/Documentation/devicetree/bindings/i2c/ |
D | trivial-devices.txt | 68 national,lm63 Temperature sensor with integrated fan control 71 national,lm85 Temperature sensor with integrated fan control
|
/linux-4.4.14/drivers/sbus/char/ |
D | Kconfig | 53 Kernel support for temperature and fan monitoring on Sun SME
|
/linux-4.4.14/Documentation/i2c/busses/ |
D | i2c-i801 | 122 the "fan" and "thermal" drivers, and check in /proc/acpi/fan and
|
/linux-4.4.14/drivers/staging/iio/Documentation/ |
D | overview.txt | 10 sensors used in applications such as fan speed control and temperature
|
/linux-4.4.14/Documentation/x86/ |
D | mtrr.txt | 18 MTRRs is through the use of SMI handlers, one case could be for fan control, 19 the platform code would need uncachable access to some of its fan control
|
/linux-4.4.14/drivers/thermal/ |
D | Kconfig | 113 used for fans without throttling. Some fan drivers depend on this
|