From b6066217e0c3d7a1b06eade90ebc06dafed78c98 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sun, 18 Nov 2012 17:03:50 +1100 Subject: [PATCH] Only increase gpu engine speed by a larger step if the temperature is below hysteresis instead of increasing it to max speed. --- adl.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/adl.c b/adl.c index 4e3ecb24..9a0c9b2a 100644 --- a/adl.c +++ b/adl.c @@ -1192,11 +1192,12 @@ void gpu_autotune(int gpu, enum dev_enable *denable) newengine = engine - ga->lpOdParameters.sEngineClock.iStep; /* Only try to tune engine speed up if this GPU is not disabled */ } else if (temp < ga->targettemp && engine < ga->maxspeed && fan_window && *denable == DEV_ENABLED) { + int iStep = ga->lpOdParameters.sEngineClock.iStep; + applog(LOG_DEBUG, "Temperature below target, increasing clock speed"); if (temp < ga->targettemp - opt_hysteresis) - newengine = ga->maxspeed; - else - newengine = engine + ga->lpOdParameters.sEngineClock.iStep; + iStep *= 2; + newengine = engine + iStep; } else if (temp < ga->targettemp && *denable == DEV_RECOVER && opt_restart) { applog(LOG_NOTICE, "Device recovered to temperature below target, re-enabling"); *denable = DEV_ENABLED;