Browse Source

Set the avalon idle frequency to lowest if avalon auto is enabled and we have an overheat condition.

Con Kolivas 12 years ago
parent
commit
36b556aa66
1 changed files with 5 additions and 1 deletions
  1. 5 1
      driver-avalon.c

+ 5 - 1
driver-avalon.c

@@ -922,10 +922,14 @@ static void *avalon_send_tasks(void *userdata)
 				avalon_create_task(&at, avalon->works[i]);
 				info->auto_queued++;
 			} else {
+				int idle_freq = info->frequency;
+
 				idled++;
+				if (unlikely(info->overheat && opt_avalon_auto))
+					idle_freq = AVALON_MIN_FREQUENCY;
 				avalon_init_task(&at, 0, 0, info->fan_pwm,
 						info->timeout, info->asic_count,
-						info->miner_count, 1, 1, info->frequency);
+						info->miner_count, 1, 1, idle_freq);
 				/* Reset the auto_queued count if we end up
 				 * idling any miners. */
 				avalon_reset_auto(info);