Browse Source

Merge branch 'bitforce_queue_parallel' into bfgminer

Luke Dashjr 12 years ago
parent
commit
782ecc021f
1 changed files with 12 additions and 1 deletions
  1. 12 1
      driver-bitforce.c

+ 12 - 1
driver-bitforce.c

@@ -322,6 +322,10 @@ void bitforce_comm_error(struct thr_info *thr)
 static void get_bitforce_statline_before(char *buf, struct cgpu_info *bitforce)
 static void get_bitforce_statline_before(char *buf, struct cgpu_info *bitforce)
 {
 {
 	struct bitforce_data *data = bitforce->device_data;
 	struct bitforce_data *data = bitforce->device_data;
+	struct bitforce_proc_data *procdata = bitforce->thr[0]->cgpu_data;
+	
+	if (!procdata->handles_board)
+		return;
 
 
 	if (data->temp[0] > 0 && data->temp[1] > 0)
 	if (data->temp[0] > 0 && data->temp[1] > 0)
 		tailsprintf(buf, "%5.1fC/%4.1fC   | ", data->temp[0], data->temp[1]);
 		tailsprintf(buf, "%5.1fC/%4.1fC   | ", data->temp[0], data->temp[1]);
@@ -525,6 +529,7 @@ static bool bitforce_get_temp(struct cgpu_info *bitforce)
 	int fdDev = bitforce->device->device_fd;
 	int fdDev = bitforce->device->device_fd;
 	char pdevbuf[0x100];
 	char pdevbuf[0x100];
 	char *s;
 	char *s;
+	struct cgpu_info *chip_cgpu;
 
 
 	if (!fdDev)
 	if (!fdDev)
 		return false;
 		return false;
@@ -570,7 +575,12 @@ static bool bitforce_get_temp(struct cgpu_info *bitforce)
 			}
 			}
 		}
 		}
 
 
-		set_float_if_gt_zero(&bitforce->temp, temp);
+		if (temp > 0)
+		{
+			chip_cgpu = bitforce;
+			for (int i = 0; i < data->parallel; ++i, (chip_cgpu = chip_cgpu->next_proc))
+				chip_cgpu->temp = temp;
+		}
 	} else {
 	} else {
 		/* Use the temperature monitor as a kind of watchdog for when
 		/* Use the temperature monitor as a kind of watchdog for when
 		 * our responses are out of sync and flush the buffer to
 		 * our responses are out of sync and flush the buffer to
@@ -1279,6 +1289,7 @@ static bool bitforce_thread_init(struct thr_info *thr)
 			*procdata = *first_on_this_board;
 			*procdata = *first_on_this_board;
 			procdata->handles_board = false;
 			procdata->handles_board = false;
 			procdata->cgpu = bitforce;
 			procdata->cgpu = bitforce;
+			bitforce->device_data = data;
 		}
 		}
 		applog(LOG_DEBUG, "%s: Board %d: %"PRIpreprv"-%"PRIpreprv, bitforce->dev_repr, boardno, first_on_this_board->cgpu->proc_repr, bitforce->proc_repr);
 		applog(LOG_DEBUG, "%s: Board %d: %"PRIpreprv"-%"PRIpreprv, bitforce->dev_repr, boardno, first_on_this_board->cgpu->proc_repr, bitforce->proc_repr);