| /linux-6.15/drivers/macintosh/ |
| H A D | windfarm_fcu_controls.c | 83 kfree(fan); in wf_fcu_fan_release() 331 fan->min = max(fan->min, (s32)mpu0->rminn_intake_fan); in wf_fcu_get_rpmfan_minmax() 332 fan->max = min(fan->max, (s32)mpu0->rmaxn_intake_fan); in wf_fcu_get_rpmfan_minmax() 336 fan->min = max(fan->min, (s32)mpu1->rminn_intake_fan); in wf_fcu_get_rpmfan_minmax() 337 fan->max = min(fan->max, (s32)mpu1->rmaxn_intake_fan); in wf_fcu_get_rpmfan_minmax() 352 fan->min = max(fan->min, (s32)mpu0->rminn_intake_fan); in wf_fcu_get_rpmfan_minmax() 353 fan->max = min(fan->max, (s32)mpu0->rmaxn_intake_fan); in wf_fcu_get_rpmfan_minmax() 358 fan->ctrl.name, fan->min, fan->max); in wf_fcu_get_rpmfan_minmax() 366 fan = kzalloc(sizeof(*fan), GFP_KERNEL); in wf_fcu_add_fan() 367 if (!fan) in wf_fcu_add_fan() [all …]
|
| /linux-6.15/drivers/gpu/drm/nouveau/nvkm/subdev/therm/ |
| H A D | fantog.c | 50 percent = fan->percent; in nvkm_fantog_update() 51 fan->percent = percent; in nvkm_fantog_update() 76 struct nvkm_fantog *fan = (void *)therm->fan; in nvkm_fantog_get() local 77 return fan->percent; in nvkm_fantog_get() 83 struct nvkm_fantog *fan = (void *)therm->fan; in nvkm_fantog_set() local 93 struct nvkm_fantog *fan; in nvkm_fantog_create() local 102 fan = kzalloc(sizeof(*fan), GFP_KERNEL); in nvkm_fantog_create() 103 if (!fan) in nvkm_fantog_create() 106 therm->fan = &fan->base; in nvkm_fantog_create() 112 fan->percent = 100; in nvkm_fantog_create() [all …]
|
| H A D | fan.c | 44 target = fan->percent; 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() 74 ret = fan->set(therm, duty); in nvkm_fan_update() 114 return therm->fan->get(therm); in nvkm_therm_fan_get() 186 therm->fan->bios.pwm_freq = 0; in nvkm_therm_fan_set_defaults() 203 if (therm->fan->bios.min_duty > therm->fan->bios.max_duty) in nvkm_therm_fan_safety_checks() 204 therm->fan->bios.min_duty = therm->fan->bios.max_duty; in nvkm_therm_fan_safety_checks() 260 &therm->fan->tach); in nvkm_therm_fan_ctor() [all …]
|
| H A D | fanpwm.c | 40 struct nvkm_fanpwm *fan = (void *)therm->fan; in nvkm_fanpwm_get() local 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 67 if (fan->base.bios.pwm_freq) { in nvkm_fanpwm_set() 89 struct nvkm_fanpwm *fan; in nvkm_fanpwm_create() local 100 fan = kzalloc(sizeof(*fan), GFP_KERNEL); in nvkm_fanpwm_create() 101 if (!fan) in nvkm_fanpwm_create() 104 therm->fan = &fan->base; in nvkm_fanpwm_create() 105 fan->base.type = "PWM"; in nvkm_fanpwm_create() 106 fan->base.get = nvkm_fanpwm_get; in nvkm_fanpwm_create() [all …]
|
| H A D | base.c | 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() 129 switch(therm->fan->bios.fan_mode) { in nvkm_therm_update() 170 therm->cstate = fan; in nvkm_therm_cstate() 219 return therm->fan->bios.min_duty; in nvkm_therm_attr_get() 221 return therm->fan->bios.max_duty; in nvkm_therm_attr_get() 255 therm->fan->bios.min_duty = value; in nvkm_therm_attr_set() 262 therm->fan->bios.max_duty = value; in nvkm_therm_attr_set() [all …]
|
| /linux-6.15/drivers/platform/x86/ |
| H A D | gpd-pocket-fan.c | 63 fan->last_speed = speed; in gpd_pocket_fan_set_speed() 89 speed = fan->last_speed; in gpd_pocket_fan_worker() 121 fan->last_speed = -1; in gpd_pocket_fan_force_update() 151 fan = devm_kzalloc(&pdev->dev, sizeof(*fan), GFP_KERNEL); in gpd_pocket_fan_probe() 152 if (!fan) in gpd_pocket_fan_probe() 155 fan->dev = &pdev->dev; in gpd_pocket_fan_probe() 163 if (IS_ERR(fan->dts0)) in gpd_pocket_fan_probe() 167 if (IS_ERR(fan->dts1)) in gpd_pocket_fan_probe() 170 fan->gpio0 = devm_gpiod_get_index(fan->dev, NULL, 0, GPIOD_ASIS); in gpd_pocket_fan_probe() 171 if (IS_ERR(fan->gpio0)) in gpd_pocket_fan_probe() [all …]
|
| /linux-6.15/drivers/hwmon/ |
| H A D | mlxreg-fan.c | 86 struct mlxreg_fan *fan; member 165 fan->samples); in mlxreg_fan_read() 289 HWMON_CHANNEL_INFO(fan, 345 struct mlxreg_fan *fan = pwm->fan; in mlxreg_fan_get_cur_state() local 365 struct mlxreg_fan *fan = pwm->fan; in mlxreg_fan_set_cur_state() local 563 pwm->fan = fan; in mlxreg_fan_cooling_config() 582 struct mlxreg_fan *fan; in mlxreg_fan_probe() local 592 fan = devm_kzalloc(dev, sizeof(*fan), GFP_KERNEL); in mlxreg_fan_probe() 593 if (!fan) in mlxreg_fan_probe() 596 fan->dev = dev; in mlxreg_fan_probe() [all …]
|
| /linux-6.15/drivers/acpi/ |
| H A D | fan_core.c | 35 if (fan->acpi4) { in fan_get_max_state() 135 if (fan->acpi4) in fan_get_cur_state() 189 if (fan->acpi4) in fan_set_cur_state() 292 if (!fan->fps) { in acpi_fan_get_fps() 310 sort(fan->fps, fan->fps_count, sizeof(*fan->fps), in acpi_fan_get_fps() 326 fan = devm_kzalloc(&pdev->dev, sizeof(*fan), GFP_KERNEL); in acpi_fan_probe() 327 if (!fan) { in acpi_fan_probe() 339 if (fan->acpi4) { in acpi_fan_probe() 381 fan->cdev = cdev; in acpi_fan_probe() 429 if (fan->acpi4) in acpi_fan_suspend() [all …]
|
| H A D | fan_attr.c | 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() 83 fan->fst_speed.attr.mode = 0444; in acpi_fan_create_attributes() 88 if (!fan->acpi4) in acpi_fan_create_attributes() 93 fan->fine_grain_control.store = NULL; in acpi_fan_create_attributes() 95 fan->fine_grain_control.attr.mode = 0444; in acpi_fan_create_attributes() 100 for (i = 0; i < fan->fps_count; ++i) { in acpi_fan_create_attributes() 101 struct acpi_fan_fps *fps = &fan->fps[i]; in acpi_fan_create_attributes() 137 if (!fan->acpi4) in acpi_fan_delete_attributes() [all …]
|
| H A D | fan_hwmon.c | 26 for (i = 0; i < fan->fps_count; i++) { in acpi_fan_get_current_fps() 27 if (fan->fps[i].control == control) in acpi_fan_get_current_fps() 28 return &fan->fps[i]; in acpi_fan_get_current_fps() 37 const struct acpi_fan *fan = drvdata; in acpi_fan_hwmon_is_visible() local 47 if (!fan->acpi4) in acpi_fan_hwmon_is_visible() 54 if (fan->fif.fine_grain_ctrl) in acpi_fan_hwmon_is_visible() 65 if (!fan->acpi4) in acpi_fan_hwmon_is_visible() 72 if (fan->fif.fine_grain_ctrl) in acpi_fan_hwmon_is_visible() 79 for (i = 0; i < fan->fps_count; i++) { in acpi_fan_hwmon_is_visible() 97 struct acpi_fan *fan = dev_get_drvdata(dev); in acpi_fan_hwmon_read() local [all …]
|
| /linux-6.15/arch/arm/boot/dts/aspeed/ |
| H A D | aspeed-bmc-amd-daytonax.dts | 231 fan@0 { 236 fan@1 { 241 fan@2 { 246 fan@3 { 251 fan@4 { 256 fan@5 { 261 fan@6 { 266 fan@7 { 271 fan@8 { 276 fan@9 { [all …]
|
| H A D | aspeed-bmc-lenovo-hr855xg2.dts | 340 fan@0 { 345 fan@1 { 350 fan@2 { 355 fan@3 { 360 fan@4 { 365 fan@5 { 370 fan@6 { 375 fan@7 { 380 fan@8 { 385 fan@9 { [all …]
|
| H A D | aspeed-bmc-lenovo-hr630.dts | 335 fan@0 { 340 fan@1 { 345 fan@2 { 350 fan@3 { 355 fan@4 { 360 fan@5 { 365 fan@6 { 370 fan@7 { 375 fan@8 { 380 fan@9 { [all …]
|
| H A D | aspeed-bmc-opp-swift.dts | 346 fan@0 { 352 maxim,fan-no-watchdog; 354 maxim,fan-ramp = <2>; 358 fan@1 { 366 maxim,fan-ramp = <2>; 370 fan@2 { 378 maxim,fan-ramp = <2>; 382 fan@3 { 390 maxim,fan-ramp = <2>; 394 fan@4 { [all …]
|
| H A D | aspeed-bmc-microsoft-olympus.dts | 177 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 …]
|
| /linux-6.15/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
| H A D | fan.c | 32 u32 fan = 0; in nvbios_fan_table() local 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() 75 fan->type = NVBIOS_THERM_FAN_TOGGLE; in nvbios_fan_parse() 80 fan->type = NVBIOS_THERM_FAN_PWM; in nvbios_fan_parse() 83 fan->type = NVBIOS_THERM_FAN_UNK; in nvbios_fan_parse() [all …]
|
| H A D | therm.c | 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() 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() 187 if (!fan->pwm_freq) in nvbios_therm_fan_parse() 188 fan->pwm_freq = value; in nvbios_therm_fan_parse() 191 fan->bump_period = value; in nvbios_therm_fan_parse() [all …]
|
| /linux-6.15/Documentation/devicetree/bindings/hwmon/ |
| H A D | npcm750-pwm-fan.txt | 9 Required properties for pwm-fan node 17 * "fan" for the Fan registers. 27 fan subnode format: 29 Under fan subnode can be upto 8 child nodes, each child node representing a fan. 52 pwm_fan:pwm-fan-controller@103000 { 58 reg-names = "pwm", "fan"; 61 clock-names = "pwm","fan"; 74 fan@0 { 79 fan@1 { 83 fan@2 { [all …]
|
| H A D | pwm-fan.yaml | 4 $id: http://devicetree.org/schemas/hwmon/pwm-fan.yaml# 15 const: pwm-fan 23 fan-supply: 34 fan-stop-to-start-percent: 36 Minimum fan RPM in percent to start when stopped. 40 fan-stop-to-start-us: 67 pwm-fan { 68 compatible = "pwm-fan"; 100 pwm-fan { 101 compatible = "pwm-fan"; [all …]
|
| H A D | gpio-fan.yaml | 4 $id: http://devicetree.org/schemas/hwmon/gpio-fan.yaml# 14 const: gpio-fan 26 fan-supply: 27 description: Power supply for fan 29 gpio-fan,speed-map: 35 - description: fan speed in RPMs 38 A mapping of possible fan RPM speeds and the 48 - gpio-fan,speed-map 54 gpio-fan { 55 compatible = "gpio-fan"; [all …]
|
| H A D | microchip,emc2305.yaml | 7 title: Microchip EMC2305 SMBus compliant PWM fan controller 14 fan control circuits. 48 '^fan@[0-4]$': 49 $ref: fan-common.yaml# 54 The fan number used to determine the associated PWM channel. 73 fan_controller: fan-controller@2f { 80 fan@0 { 86 fan@1 { 92 fan@2 { 98 fan@3 { [all …]
|
| H A D | fan-common.yaml | 4 $id: http://devicetree.org/schemas/hwmon/fan-common.yaml# 16 Max RPM supported by fan. 22 Min RPM supported by fan. 28 The number of pulse from fan sensor per revolution. 39 The default desired fan speed in RPM. 42 fan-driving-mode: 44 Select the driving mode of the fan.(DC, PWM and so on) 63 The tach channel used for the fan. 68 Optional fan label 70 fan-supply: [all …]
|
| /linux-6.15/Documentation/hwmon/ |
| H A D | g762.rst | 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 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 41 about 0.7s (if the fan is not voluntarily set off). 44 in closed-loop control mode, if fan RPM value is 25% out [all …]
|
| H A D | dell-smm-hwmon.rst | 50 fan number X. 52 Disabling automatic BIOS fan control 96 ``type`` set to ``dell-smm-fan[1-4]``. This allows for easy fan control 264 ``0x00a3`` Get fan state Returns current fan state after SMM: 269 ``0x01a3`` Set fan state Sets the fan speed: 275 ``0x02a3`` Get fan speed Returns the current fan speed in RPM: 281 ``0x03a3`` Get fan type Returns the fan type: 295 ``0x04a3`` Get nominal fan speed Returns the nominal RPM in each fan state: 303 ``0x05a3`` Get fan speed tolerance Returns the speed tolerance for each fan state: 348 fan control should be enabled for a specific fan. [all …]
|
| H A D | max31790.rst | 23 PWM outputs. The desired fan speeds (or PWM duty cycles) are written 25 or can be used to modulate the fan's power terminals using an external 28 Tachometer inputs monitor fan tachometer logic outputs for precise (+/-1%) 29 monitoring and control of fan RPM as well as detection of fan failure. 38 fan[1-12]_input RO fan tachometer speed in RPM 39 fan[1-12]_fault RO fan experienced fault 40 fan[1-6]_target RW desired fan speed in RPM 41 fan[1-6]_enable RW enable or disable the tachometer input
|