Browse Source

bitforce: Identify parallel queue protocol distinctly from mere bulk queue

Luke Dashjr 12 years ago
parent
commit
6a0cc7bef4
1 changed files with 6 additions and 2 deletions
  1. 6 2
      driver-bitforce.c

+ 6 - 2
driver-bitforce.c

@@ -48,6 +48,7 @@ enum bitforce_proto {
 	BFP_RANGE,
 	BFP_QUEUE,
 	BFP_BQUEUE,
+	BFP_PQUEUE,
 };
 
 static const char *protonames[] = {
@@ -55,6 +56,7 @@ static const char *protonames[] = {
 	"nonce range",
 	"work queue",
 	"bulk queue",
+	"parallel queue",
 };
 
 struct device_drv bitforce_drv;
@@ -650,6 +652,8 @@ bool bitforce_job_prepare(struct thr_info *thr, struct work *work, __maybe_unuse
 	{
 		case BFP_BQUEUE:
 			quit(1, "%"PRIpreprv": Impossible BFP_BQUEUE in bitforce_job_prepare", bitforce->proc_repr);
+		case BFP_PQUEUE:
+			quit(1, "%"PRIpreprv": Impossible BFP_PQUEUE in bitforce_job_prepare", bitforce->proc_repr);
 		case BFP_RANGE:
 		{
 			uint32_t *ob_nonce = (uint32_t*)&(ob_dt[32]);
@@ -1269,7 +1273,7 @@ static bool bitforce_thread_init(struct thr_info *thr)
 			
 			if (bitforce->drv == &bitforce_queue_api)
 			{
-				bitforce_change_mode(bitforce, BFP_BQUEUE);
+				bitforce_change_mode(bitforce, data->parallel_protocol ? BFP_PQUEUE : BFP_BQUEUE);
 				bitforce->sleep_ms = data->sleep_ms_default = 100;
 				timer_set_delay_from_now(&thr->tv_poll, 0);
 				data->queued_max = data->parallel * 2;
@@ -1407,7 +1411,7 @@ static struct api_data *bitforce_drv_stats(struct cgpu_info *cgpu)
 	// locking access to displaying API debug 'stats'
 	// If locking becomes an issue for any of them, use copy_data=true also
 	root = api_add_uint(root, "Sleep Time", &(cgpu->sleep_ms), false);
-	if (data->proto != BFP_BQUEUE)
+	if (data->proto != BFP_BQUEUE && data->proto != BFP_PQUEUE)
 		root = api_add_uint(root, "Avg Wait", &(cgpu->avg_wait_d), false);
 	if (data->temp[0] > 0 && data->temp[1] > 0)
 	{