mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-24 13:13:57 +08:00
drm/nouveau/fan: restore pwm value on resume when in manual/auto mode
If the fan was in manual or auto mode, we should restore the fan speed that was previously set when resuming. The initial pwm value is saved when loading the module. Signed-off-by: Martin Peres <martin.peres@labri.fr> Tested-by: Martin Peres <martin.peres@labri.fr> Tested-by: Dash Four <mr.dash.four@googlemail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
ffb8ea8af2
commit
4cc00ad137
@ -267,8 +267,13 @@ _nouveau_therm_init(struct nouveau_object *object)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (priv->suspend >= 0)
|
if (priv->suspend >= 0) {
|
||||||
|
/* restore the pwm value only when on manual or auto mode */
|
||||||
|
if (priv->suspend > 0)
|
||||||
|
nouveau_therm_fan_set(therm, true, priv->fan->percent);
|
||||||
|
|
||||||
nouveau_therm_fan_mode(therm, priv->suspend);
|
nouveau_therm_fan_mode(therm, priv->suspend);
|
||||||
|
}
|
||||||
priv->sensor.program_alarms(therm);
|
priv->sensor.program_alarms(therm);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -234,6 +234,9 @@ nouveau_therm_fan_ctor(struct nouveau_therm *therm)
|
|||||||
|
|
||||||
nv_info(therm, "FAN control: %s\n", priv->fan->type);
|
nv_info(therm, "FAN control: %s\n", priv->fan->type);
|
||||||
|
|
||||||
|
/* read the current speed, it is useful when resuming */
|
||||||
|
priv->fan->percent = nouveau_therm_fan_get(therm);
|
||||||
|
|
||||||
/* attempt to detect a tachometer connection */
|
/* attempt to detect a tachometer connection */
|
||||||
ret = gpio->find(gpio, 0, DCB_GPIO_FAN_SENSE, 0xff, &priv->fan->tach);
|
ret = gpio->find(gpio, 0, DCB_GPIO_FAN_SENSE, 0xff, &priv->fan->tach);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
Loading…
Reference in New Issue
Block a user