diff options
author | Martin Peres <martin.peres@labri.fr> | 2012-12-05 19:46:35 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-02-20 16:00:20 +1000 |
commit | fa37e8dda2617d48fbc6b17dd6e986e7f4c2bc8b (patch) | |
tree | 94b9b9112fae35c5e3e1b6078b23482a87151d01 /drivers/gpu/drm/nouveau/core/subdev/therm/priv.h | |
parent | 06afd4e83b83907b735279bb0f08d74aeb8f2e3b (diff) | |
download | op-kernel-dev-fa37e8dda2617d48fbc6b17dd6e986e7f4c2bc8b.zip op-kernel-dev-fa37e8dda2617d48fbc6b17dd6e986e7f4c2bc8b.tar.gz |
drm/nouveau/fan: obey fan bump/slow periods as defined by vbios
v2 (Ben Skeggs):
- split from larger patch
- fixed to not require alarm resched patch
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/subdev/therm/priv.h')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/therm/priv.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/priv.h b/drivers/gpu/drm/nouveau/core/subdev/therm/priv.h index 34c85e6..fca580f 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/therm/priv.h +++ b/drivers/gpu/drm/nouveau/core/subdev/therm/priv.h @@ -34,13 +34,17 @@ #include <subdev/timer.h> struct nouveau_fan { + struct nouveau_therm *parent; const char *type; enum nouveau_therm_fan_mode mode; - int percent; struct nvbios_therm_fan bios; struct nvbios_perf_fan perf; + struct nouveau_alarm alarm; + spinlock_t lock; + int percent; + int (*get)(struct nouveau_therm *therm); int (*set)(struct nouveau_therm *therm, int percent); @@ -71,7 +75,7 @@ int nouveau_therm_sensor_ctor(struct nouveau_therm *therm); int nouveau_therm_fan_ctor(struct nouveau_therm *therm); int nouveau_therm_fan_get(struct nouveau_therm *therm); -int nouveau_therm_fan_set(struct nouveau_therm *therm, int percent); +int nouveau_therm_fan_set(struct nouveau_therm *therm, bool now, int percent); int nouveau_therm_fan_user_get(struct nouveau_therm *therm); int nouveau_therm_fan_user_set(struct nouveau_therm *therm, int percent); int nouveau_therm_fan_set_mode(struct nouveau_therm *therm, |