Loading drivers/gpu/drm/nouveau/core/include/core/device.h +1 −1 Original line number Diff line number Diff line Loading @@ -35,8 +35,8 @@ enum nv_subdev_type { NVDEV_SUBDEV_BAR, NVDEV_SUBDEV_PWR, NVDEV_SUBDEV_VOLT, NVDEV_SUBDEV_CLOCK, NVDEV_SUBDEV_THERM, NVDEV_SUBDEV_CLOCK, NVDEV_ENGINE_DMAOBJ, NVDEV_ENGINE_FIFO, Loading drivers/gpu/drm/nouveau/core/include/subdev/therm.h +2 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,8 @@ void _nouveau_therm_dtor(struct nouveau_object *); int _nouveau_therm_init(struct nouveau_object *); int _nouveau_therm_fini(struct nouveau_object *, bool); int nouveau_therm_cstate(struct nouveau_therm *, int, int); extern struct nouveau_oclass nv40_therm_oclass; extern struct nouveau_oclass nv50_therm_oclass; extern struct nouveau_oclass nv84_therm_oclass; Loading drivers/gpu/drm/nouveau/core/subdev/therm/base.c +13 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,19 @@ nouveau_therm_update(struct nouveau_therm *therm, int mode) spin_unlock_irqrestore(&priv->lock, flags); } int nouveau_therm_cstate(struct nouveau_therm *ptherm, int fan, int dir) { struct nouveau_therm_priv *priv = (void *)ptherm; if (!dir || (dir < 0 && fan < priv->cstate) || (dir > 0 && fan > priv->cstate)) { nv_debug(ptherm, "default fan speed -> %d%%\n", fan); priv->cstate = fan; nouveau_therm_update(ptherm, -1); } return 0; } static void nouveau_therm_alarm(struct nouveau_alarm *alarm) { Loading drivers/gpu/drm/nouveau/core/subdev/therm/priv.h +1 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ struct nouveau_therm_priv { spinlock_t lock; struct nouveau_therm_trip_point *last_trip; int mode; int cstate; int suspend; /* bios */ Loading Loading
drivers/gpu/drm/nouveau/core/include/core/device.h +1 −1 Original line number Diff line number Diff line Loading @@ -35,8 +35,8 @@ enum nv_subdev_type { NVDEV_SUBDEV_BAR, NVDEV_SUBDEV_PWR, NVDEV_SUBDEV_VOLT, NVDEV_SUBDEV_CLOCK, NVDEV_SUBDEV_THERM, NVDEV_SUBDEV_CLOCK, NVDEV_ENGINE_DMAOBJ, NVDEV_ENGINE_FIFO, Loading
drivers/gpu/drm/nouveau/core/include/subdev/therm.h +2 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,8 @@ void _nouveau_therm_dtor(struct nouveau_object *); int _nouveau_therm_init(struct nouveau_object *); int _nouveau_therm_fini(struct nouveau_object *, bool); int nouveau_therm_cstate(struct nouveau_therm *, int, int); extern struct nouveau_oclass nv40_therm_oclass; extern struct nouveau_oclass nv50_therm_oclass; extern struct nouveau_oclass nv84_therm_oclass; Loading
drivers/gpu/drm/nouveau/core/subdev/therm/base.c +13 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,19 @@ nouveau_therm_update(struct nouveau_therm *therm, int mode) spin_unlock_irqrestore(&priv->lock, flags); } int nouveau_therm_cstate(struct nouveau_therm *ptherm, int fan, int dir) { struct nouveau_therm_priv *priv = (void *)ptherm; if (!dir || (dir < 0 && fan < priv->cstate) || (dir > 0 && fan > priv->cstate)) { nv_debug(ptherm, "default fan speed -> %d%%\n", fan); priv->cstate = fan; nouveau_therm_update(ptherm, -1); } return 0; } static void nouveau_therm_alarm(struct nouveau_alarm *alarm) { Loading
drivers/gpu/drm/nouveau/core/subdev/therm/priv.h +1 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ struct nouveau_therm_priv { spinlock_t lock; struct nouveau_therm_trip_point *last_trip; int mode; int cstate; int suspend; /* bios */ Loading