Browse Source

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

nfactor-troky
Con Kolivas 11 years ago
parent
commit
b606a60349
  1. 6
      driver-bitfury.c
  2. 1
      miner.h

6
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) static bool bitfury_checkresults(struct thr_info *thr, struct work *work, uint32_t nonce)
{ {
uint32_t offset_nonce;
int i; int i;
for (i = 0; i < BT_OFFSETS; i++) { for (i = 0; i < BT_OFFSETS; i++) {
offset_nonce = nonce + bf_offsets[i]; if (test_nonce(work, nonce + bf_offsets[i])) {
if (test_nonce(work, offset_nonce)) { submit_tested_work(thr, work);
submit_nonce(thr, work, offset_nonce);
return true; return true;
} }
} }

1
miner.h

@ -1358,6 +1358,7 @@ struct modminer_fpga_state {
extern void get_datestamp(char *, size_t, struct timeval *); extern void get_datestamp(char *, size_t, struct timeval *);
extern void inc_hw_errors(struct thr_info *thr); extern void inc_hw_errors(struct thr_info *thr);
extern bool test_nonce(struct work *work, uint32_t nonce); 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 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 *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); extern struct work *__find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen);

Loading…
Cancel
Save