1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 07:17:58 +00:00

Attempt to detect nonce range support in BFL by sending work requring its support.

This commit is contained in:
Con Kolivas 2012-07-04 17:31:02 +10:00
parent a9746b9f5e
commit 96fba30b6b
2 changed files with 21 additions and 0 deletions

View File

@ -203,6 +203,26 @@ void bitforce_init(struct cgpu_info *bitforce)
bitforce->device_fd = fdDev; bitforce->device_fd = fdDev;
bitforce->sleep_ms = BITFORCE_SLEEP_MS; bitforce->sleep_ms = BITFORCE_SLEEP_MS;
/* Look for nonce range support */
BFwrite(fdDev, "ZPX", 3);
BFgets(pdevbuf, sizeof(pdevbuf), fdDev);
if (strncasecmp(pdevbuf, "ERR", 3)) {
unsigned char ob[70];
uint32_t *nonce;
memset(ob, 0, 68);
sprintf((char *)ob, ">>>>>>>>");
sprintf((char *)ob + 60, ">>>>>>>>");
nonce = (uint32_t *)(ob + 56);
*nonce = htobe32(0x7FFFFFFF);
BFwrite(fdDev, ob, 68);
BFgets(pdevbuf, sizeof(pdevbuf), fdDev);
if (!strncasecmp(pdevbuf, "OK", 2)) {
applog(LOG_DEBUG, "BFL%i: Found nonce range support");
bitforce->nonce_range = true;
}
}
mutex_unlock(&bitforce->device_mutex); mutex_unlock(&bitforce->device_mutex);
} }

View File

@ -322,6 +322,7 @@ struct cgpu_info {
#ifdef USE_BITFORCE #ifdef USE_BITFORCE
unsigned int wait_ms; unsigned int wait_ms;
unsigned int sleep_ms; unsigned int sleep_ms;
bool nonce_range;
#endif #endif
pthread_mutex_t device_mutex; pthread_mutex_t device_mutex;