Browse Source

Off by one error in performance level.

nfactor-troky
Con Kolivas 13 years ago
parent
commit
400cb21d8b
  1. 4
      adl.c

4
adl.c

@ -866,12 +866,12 @@ void gpu_autotune(int gpu, bool *enable) @@ -866,12 +866,12 @@ void gpu_autotune(int gpu, bool *enable)
applog(LOG_WARNING, "Overheat detected, decreasing GPU %d clock speed", gpu);
newengine = ga->minspeed;
/* Only try to tune engine speed if the current performance level is at max */
} else if ((ga->lpActivity.iCurrentPerformanceLevel == ga->lpOdParameters.iNumberOfPerformanceLevels) &&
} else if ((ga->lpActivity.iCurrentPerformanceLevel == ga->lpOdParameters.iNumberOfPerformanceLevels - 1) &&
(temp > ga->targettemp + opt_hysteresis && engine > ga->minspeed && fan_optimal)) {
if (opt_debug)
applog(LOG_DEBUG, "Temperature %d degrees over target, decreasing clock speed", opt_hysteresis);
newengine = engine - ga->lpOdParameters.sEngineClock.iStep;
} else if ((ga->lpActivity.iCurrentPerformanceLevel == ga->lpOdParameters.iNumberOfPerformanceLevels) &&
} else if ((ga->lpActivity.iCurrentPerformanceLevel == ga->lpOdParameters.iNumberOfPerformanceLevels - 1) &&
(temp < ga->targettemp && engine < ga->maxspeed)) {
if (opt_debug)
applog(LOG_DEBUG, "Temperature below target, increasing clock speed");

Loading…
Cancel
Save