Browse Source

bifury: Split out bifury_send_clock

Luke Dashjr 12 years ago
parent
commit
eba8350210
1 changed files with 18 additions and 14 deletions
  1. 18 14
      driver-bifury.c

+ 18 - 14
driver-bifury.c

@@ -199,6 +199,23 @@ bool bifury_set_queue_full(const struct cgpu_info * const dev, int needwork)
 	return full;
 }
 
+void bifury_send_clock(const struct cgpu_info * const dev)
+{
+	struct bifury_state * const state = dev->device_data;
+	size_t clockbufsz = 5 + (3 * dev->procs) + 1 + 1;
+	char clockbuf[clockbufsz];
+	strcpy(clockbuf, "clock");
+	for (int i = 0; i < dev->procs; ++i)
+		tailsprintf(clockbuf, clockbufsz, " %d", state->osc6_bits[i]);
+	tailsprintf(clockbuf, clockbufsz, "\n");
+	--clockbufsz;
+	if (clockbufsz != bifury_write(dev, clockbuf, clockbufsz))
+		applog(LOG_ERR, "%s: Failed to send clock assignments",
+		       dev->dev_repr);
+	else
+		state->send_clock = false;
+}
+
 static
 bool bifury_thread_init(struct thr_info *master_thr)
 {
@@ -411,20 +428,7 @@ void bifury_poll(struct thr_info * const master_thr)
 	}
 	
 	if (state->send_clock)
-	{
-		size_t clockbufsz = 5 + (3 * dev->procs) + 1 + 1;
-		char clockbuf[clockbufsz];
-		strcpy(clockbuf, "clock");
-		for (int i = 0; i < dev->procs; ++i)
-			tailsprintf(clockbuf, clockbufsz, " %d", state->osc6_bits[i]);
-		tailsprintf(clockbuf, clockbufsz, "\n");
-		--clockbufsz;
-		if (clockbufsz != bifury_write(dev, clockbuf, clockbufsz))
-			applog(LOG_ERR, "%s: Failed to send clock assignments",
-			       dev->dev_repr);
-		else
-			state->send_clock = false;
-	}
+		bifury_send_clock(dev);
 	
 	while ( (cmd = bifury_readln(fd, &state->buf)) )
 	{