Re: [Nouveau] [PATCH v4 26/37] therm: don't cancel the timer

2016-04-20 Thread Martin Peres

On 18/04/16 22:14, Karol Herbst wrote:

we will need a always running therm daemon to adjust the voltage/clocks on the
fly.

Signed-off-by: Karol Herbst 


Reviewed-by: Martin Peres 

---
  drm/nouveau/nvkm/subdev/therm/base.c | 9 ++---
  1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drm/nouveau/nvkm/subdev/therm/base.c 
b/drm/nouveau/nvkm/subdev/therm/base.c
index 8894fee..0c0feec 100644
--- a/drm/nouveau/nvkm/subdev/therm/base.c
+++ b/drm/nouveau/nvkm/subdev/therm/base.c
@@ -92,7 +92,6 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
struct nvkm_timer *tmr = subdev->device->timer;
unsigned long flags;
bool immd = true;
-   bool poll = true;
int duty = -1;
  
  	spin_lock_irqsave(&therm->lock, flags);

@@ -102,11 +101,9 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
  
  	switch (mode) {

case NVKM_THERM_CTRL_MANUAL:
-   nvkm_timer_alarm_cancel(tmr, &therm->alarm);
duty = nvkm_therm_fan_get(therm);
if (duty < 0)
duty = 100;
-   poll = false;
break;
case NVKM_THERM_CTRL_AUTO:
switch(therm->fan->bios.fan_mode) {
@@ -119,18 +116,16 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
case NVBIOS_THERM_FAN_OTHER:
if (therm->cstate)
duty = therm->cstate;
-   poll = false;
break;
}
immd = false;
break;
case NVKM_THERM_CTRL_NONE:
default:
-   nvkm_timer_alarm_cancel(tmr, &therm->alarm);
-   poll = false;
+   break;
}
  
-	if (list_empty(&therm->alarm.head) && poll)

+   if (list_empty(&therm->alarm.head))
nvkm_timer_alarm(tmr, 10ULL, &therm->alarm);
spin_unlock_irqrestore(&therm->lock, flags);
  


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


[Nouveau] [PATCH v4 26/37] therm: don't cancel the timer

2016-04-18 Thread Karol Herbst
we will need a always running therm daemon to adjust the voltage/clocks on the
fly.

Signed-off-by: Karol Herbst 
---
 drm/nouveau/nvkm/subdev/therm/base.c | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drm/nouveau/nvkm/subdev/therm/base.c 
b/drm/nouveau/nvkm/subdev/therm/base.c
index 8894fee..0c0feec 100644
--- a/drm/nouveau/nvkm/subdev/therm/base.c
+++ b/drm/nouveau/nvkm/subdev/therm/base.c
@@ -92,7 +92,6 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
struct nvkm_timer *tmr = subdev->device->timer;
unsigned long flags;
bool immd = true;
-   bool poll = true;
int duty = -1;
 
spin_lock_irqsave(&therm->lock, flags);
@@ -102,11 +101,9 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
 
switch (mode) {
case NVKM_THERM_CTRL_MANUAL:
-   nvkm_timer_alarm_cancel(tmr, &therm->alarm);
duty = nvkm_therm_fan_get(therm);
if (duty < 0)
duty = 100;
-   poll = false;
break;
case NVKM_THERM_CTRL_AUTO:
switch(therm->fan->bios.fan_mode) {
@@ -119,18 +116,16 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
case NVBIOS_THERM_FAN_OTHER:
if (therm->cstate)
duty = therm->cstate;
-   poll = false;
break;
}
immd = false;
break;
case NVKM_THERM_CTRL_NONE:
default:
-   nvkm_timer_alarm_cancel(tmr, &therm->alarm);
-   poll = false;
+   break;
}
 
-   if (list_empty(&therm->alarm.head) && poll)
+   if (list_empty(&therm->alarm.head))
nvkm_timer_alarm(tmr, 10ULL, &therm->alarm);
spin_unlock_irqrestore(&therm->lock, flags);
 
-- 
2.8.1

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