Browse Source

Use submit_tested_work in bitfury driver to avoid unnecessarily re-testing the work for validity.

Con Kolivas 12 years ago
parent
commit
b606a60349
2 changed files with 3 additions and 4 deletions
  1. 2 4
      driver-bitfury.c
  2. 1 0
      miner.h

+ 2 - 4
driver-bitfury.c

@@ -168,13 +168,11 @@ const uint32_t bf_offsets[] = {0, -0x400000, -0x800000};
 
 static bool bitfury_checkresults(struct thr_info *thr, struct work *work, uint32_t nonce)
 {
-	uint32_t offset_nonce;
 	int i;
 
 	for (i = 0; i < BT_OFFSETS; i++) {
-		offset_nonce = nonce + bf_offsets[i];
-		if (test_nonce(work, offset_nonce)) {
-			submit_nonce(thr, work, offset_nonce);
+		if (test_nonce(work, nonce + bf_offsets[i])) {
+			submit_tested_work(thr, work);
 			return true;
 		}
 	}

+ 1 - 0
miner.h

@@ -1358,6 +1358,7 @@ struct modminer_fpga_state {
 extern void get_datestamp(char *, size_t, struct timeval *);
 extern void inc_hw_errors(struct thr_info *thr);
 extern bool test_nonce(struct work *work, uint32_t nonce);
+extern void submit_tested_work(struct thr_info *thr, struct work *work);
 extern bool submit_nonce(struct thr_info *thr, struct work *work, uint32_t nonce);
 extern struct work *get_queued(struct cgpu_info *cgpu);
 extern struct work *__find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen);