summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/core/subdev/therm/priv.h
diff options
context:
space:
mode:
authorMartin Peres <martin.peres@labri.fr>2012-12-05 19:46:35 +1000
committerBen Skeggs <bskeggs@redhat.com>2013-02-20 16:00:20 +1000
commitfa37e8dda2617d48fbc6b17dd6e986e7f4c2bc8b (patch)
tree94b9b9112fae35c5e3e1b6078b23482a87151d01 /drivers/gpu/drm/nouveau/core/subdev/therm/priv.h
parent06afd4e83b83907b735279bb0f08d74aeb8f2e3b (diff)
downloadop-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.h8
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,
OpenPOWER on IntegriCloud