Commit cdf2e2f9eabfc8bafb015d880e8d7b8c43845f5e

Con Kolivas 2014-03-06T21:29:57

Disable the MAX_CLOCK_DIFF check for newer hashfast firmwares since it's not required.

diff --git a/driver-hashfast.c b/driver-hashfast.c
index 7807152..3e8fc9f 100644
--- a/driver-hashfast.c
+++ b/driver-hashfast.c
@@ -1358,7 +1358,7 @@ static void hfa_increase_clock(struct cgpu_info *hashfast, struct hashfast_info 
 			if (info->die_data[i].hash_clock < low_clock)
 				low_clock = info->die_data[i].hash_clock;
 		}
-		if (low_clock + HFA_CLOCK_MAXDIFF > high_clock) {
+		if (info->firmware_version < 0.5 && low_clock + HFA_CLOCK_MAXDIFF > high_clock) {
 			/* We can increase all clocks again */
 			for (i = 0; i < info->asic_count; i++) {
 				if (i == die) /* We've already added to this die */
@@ -1393,7 +1393,7 @@ static void hfa_decrease_clock(struct cgpu_info *hashfast, struct hashfast_info 
 	if (hdd->hash_clock - decrease < HFA_CLOCK_MIN)
 		decrease = hdd->hash_clock - HFA_CLOCK_MIN;
 	hdata = (WR_MHZ_DECREASE << 12) | decrease;
-	if (high_clock >= hdd->hash_clock + HFA_CLOCK_MAXDIFF) {
+	if (info->firmware_version < 0.5 && high_clock >= hdd->hash_clock + HFA_CLOCK_MAXDIFF) {
 		/* We can't have huge differences in clocks as it will lead to
 		 * starvation of the faster cores so we have no choice but to
 		 * slow down all dies to tame this one. */