Re: [Nouveau] [PATCH 1/3] drm/nouveau/therm: turn on a fan only when crossing threshold in positive direction

2013-02-08 Thread Martin Peres

On 03/02/2013 21:07, Marcin Slusarz wrote:

+ the same for shutdown threshold - seems impossible, but shutdown can fail.

Signed-off-by: Marcin Slusarz marcin.slus...@gmail.com

Looks good. Please add my signed-off-by

Signed-off-by: Martin Peres martin.pe...@labri.fr

---
  drivers/gpu/drm/nouveau/core/subdev/therm/temp.c | 11 +++
  1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c 
b/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
index bf9b3ce..8f27b44 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
@@ -105,7 +105,7 @@ void nouveau_therm_sensor_event(struct nouveau_therm *therm,
return;
  
  	if (dir == NOUVEAU_THERM_THRS_FALLING)

-   nv_info(therm, temperature (%u C) went bellow the '%s' 
threshold\n,
+   nv_info(therm, temperature (%u C) went below the '%s' 
threshold\n,
temperature, thresolds[thrs]);
else
nv_info(therm, temperature (%u C) hit the '%s' threshold\n,
@@ -114,8 +114,10 @@ void nouveau_therm_sensor_event(struct nouveau_therm 
*therm,
active = (dir == NOUVEAU_THERM_THRS_RISING);
switch (thrs) {
case NOUVEAU_THERM_THRS_FANBOOST:
-   nouveau_therm_fan_set(therm, true, 100);
-   nouveau_therm_mode(therm, NOUVEAU_THERM_CTRL_AUTO);
+   if (active) {
+   nouveau_therm_fan_set(therm, true, 100);
+   nouveau_therm_mode(therm, NOUVEAU_THERM_CTRL_AUTO);
+   }
break;
case NOUVEAU_THERM_THRS_DOWNCLOCK:
if (priv-emergency.downclock)
@@ -126,7 +128,8 @@ void nouveau_therm_sensor_event(struct nouveau_therm *therm,
priv-emergency.pause(therm, active);
break;
case NOUVEAU_THERM_THRS_SHUTDOWN:
-   orderly_poweroff(true);
+   if (active)
+   orderly_poweroff(true);
break;
case NOUVEAU_THERM_THRS_NR:
break;


___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau


[Nouveau] [PATCH 1/3] drm/nouveau/therm: turn on a fan only when crossing threshold in positive direction

2013-02-03 Thread Marcin Slusarz
+ the same for shutdown threshold - seems impossible, but shutdown can fail.

Signed-off-by: Marcin Slusarz marcin.slus...@gmail.com
---
 drivers/gpu/drm/nouveau/core/subdev/therm/temp.c | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c 
b/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
index bf9b3ce..8f27b44 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
@@ -105,7 +105,7 @@ void nouveau_therm_sensor_event(struct nouveau_therm *therm,
return;
 
if (dir == NOUVEAU_THERM_THRS_FALLING)
-   nv_info(therm, temperature (%u C) went bellow the '%s' 
threshold\n,
+   nv_info(therm, temperature (%u C) went below the '%s' 
threshold\n,
temperature, thresolds[thrs]);
else
nv_info(therm, temperature (%u C) hit the '%s' threshold\n,
@@ -114,8 +114,10 @@ void nouveau_therm_sensor_event(struct nouveau_therm 
*therm,
active = (dir == NOUVEAU_THERM_THRS_RISING);
switch (thrs) {
case NOUVEAU_THERM_THRS_FANBOOST:
-   nouveau_therm_fan_set(therm, true, 100);
-   nouveau_therm_mode(therm, NOUVEAU_THERM_CTRL_AUTO);
+   if (active) {
+   nouveau_therm_fan_set(therm, true, 100);
+   nouveau_therm_mode(therm, NOUVEAU_THERM_CTRL_AUTO);
+   }
break;
case NOUVEAU_THERM_THRS_DOWNCLOCK:
if (priv-emergency.downclock)
@@ -126,7 +128,8 @@ void nouveau_therm_sensor_event(struct nouveau_therm *therm,
priv-emergency.pause(therm, active);
break;
case NOUVEAU_THERM_THRS_SHUTDOWN:
-   orderly_poweroff(true);
+   if (active)
+   orderly_poweroff(true);
break;
case NOUVEAU_THERM_THRS_NR:
break;
-- 
1.8.1

___
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau