Commit 90a2c1aa authored by Martin Peres's avatar Martin Peres Committed by Ben Skeggs

drm/nouveau/therm/fan: do not use the pwm mode when the vbios tells us to use toggle

Signed-off-by: default avatarMartin Peres <martin.peres@free.fr>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 288c17bd
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
#include <core/option.h> #include <core/option.h>
#include <subdev/gpio.h> #include <subdev/gpio.h>
#include <subdev/bios.h>
#include <subdev/bios/fan.h>
#include "priv.h" #include "priv.h"
...@@ -86,11 +88,15 @@ nouveau_fanpwm_create(struct nouveau_therm *therm, struct dcb_gpio_func *func) ...@@ -86,11 +88,15 @@ nouveau_fanpwm_create(struct nouveau_therm *therm, struct dcb_gpio_func *func)
{ {
struct nouveau_device *device = nv_device(therm); struct nouveau_device *device = nv_device(therm);
struct nouveau_therm_priv *tpriv = (void *)therm; struct nouveau_therm_priv *tpriv = (void *)therm;
struct nouveau_bios *bios = nouveau_bios(therm);
struct nouveau_fanpwm_priv *priv; struct nouveau_fanpwm_priv *priv;
struct nvbios_therm_fan fan;
u32 divs, duty; u32 divs, duty;
nvbios_fan_parse(bios, &fan);
if (!nouveau_boolopt(device->cfgopt, "NvFanPWM", func->param) || if (!nouveau_boolopt(device->cfgopt, "NvFanPWM", func->param) ||
!therm->pwm_ctrl || !therm->pwm_ctrl || fan.type == NVBIOS_THERM_FAN_TOGGLE ||
therm->pwm_get(therm, func->line, &divs, &duty) == -ENODEV) therm->pwm_get(therm, func->line, &divs, &duty) == -ENODEV)
return -ENODEV; return -ENODEV;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment