Commit b9e5f8e55065df4f050ab45f66a435b1ac54efb1

Con Kolivas 2012-07-21T10:28:41

Revert "Use cpu scrypt code to check if an scrypt share is below target before submitting it." This reverts commit 808f403a14267263066b0c257c262a1be6ef47ca. Conflicts: findnonce.c

diff --git a/Makefile.am b/Makefile.am
index 1473375..a784ef9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -45,10 +45,6 @@ cgminer_SOURCES += ocl.c ocl.h findnonce.c findnonce.h
 cgminer_SOURCES += adl.c adl.h adl_functions.h
 cgminer_SOURCES += *.cl
 
-if HAS_SCRYPT
-cgminer_SOURCES += scrypt.c
-endif
-
 if HAS_CPUMINE
 # original CPU related sources, unchanged
 cgminer_SOURCES	+= \
@@ -60,6 +56,10 @@ cgminer_SOURCES	+= \
 # the CPU portion extracted from original main.c
 cgminer_SOURCES += driver-cpu.h driver-cpu.c
 
+if HAS_SCRYPT
+cgminer_SOURCES += scrypt.c
+endif
+
 if HAS_YASM
 AM_CFLAGS	= -DHAS_YASM
 if HAVE_x86_64
diff --git a/cgminer.c b/cgminer.c
index 4801012..f2ea382 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -4012,7 +4012,7 @@ bool submit_nonce(struct thr_info *thr, struct work *work, uint32_t nonce)
 	/* Do one last check before attempting to submit the work */
 	/* Side effect: sets work->data for us */
 	if (!test_nonce(work, nonce)) {
-		applog(LOG_INFO, "Pool %d share below target", work->pool->pool_no);
+		applog(LOG_INFO, "Share below target");
 		return true;
 	}
 	return submit_work_sync(thr, work);
diff --git a/findnonce.c b/findnonce.c
index 3864fba..a11333a 100644
--- a/findnonce.c
+++ b/findnonce.c
@@ -220,8 +220,6 @@ static void send_nonce(struct pc_data *pcd, cl_uint nonce)
 	}
 }
 
-extern bool scrypt_scan_nonce(struct work *work, uint32_t nonce);
-
 static void *postcalc_hash(void *userdata)
 {
 	struct pc_data *pcd = (struct pc_data *)userdata;
@@ -236,13 +234,9 @@ static void *postcalc_hash(void *userdata)
 		if (nonce) {
 			applog(LOG_DEBUG, "OCL NONCE %u", nonce);
 #ifdef USE_SCRYPT
-			if (opt_scrypt) {
-				struct work *work = pcd->work;
-				if (scrypt_scan_nonce(work, nonce))
-					submit_nonce(thr, work, nonce);
-				else
-					applog(LOG_INFO, "Pool %d share below target", work->pool->pool_no);
-			} else
+			if (opt_scrypt)
+				submit_nonce(thr, pcd->work, nonce);
+			else
 #endif
 				send_nonce(pcd, nonce);
 		nonces++;
diff --git a/scrypt.c b/scrypt.c
index 14378d6..4334bcf 100644
--- a/scrypt.c
+++ b/scrypt.c
@@ -407,20 +407,6 @@ static uint32_t scrypt_1024_1_1_256_sp(const uint32_t* input, char* scratchpad)
 	return PBKDF2_SHA256_80_128_32(input, X);
 }
 
-bool scrypt_scan_nonce(struct work *work, uint32_t nonce)
-{
-	uint32_t Htarg, tmp_hash7, data[20];
-	unsigned char *scratchbuf;
-
-	be32enc_vect(data, (const uint32_t *)work->data, 19);
-	data[19] = htobe32(nonce);
-
-	Htarg = ((const uint32_t *)work->target)[7];
-	scratchbuf = alloca(131584);
-	tmp_hash7 = scrypt_1024_1_1_256_sp(data, scratchbuf);
-	return (tmp_hash7 <= Htarg);
-}
-
 bool scanhash_scrypt(struct thr_info *thr, const unsigned char *pmidstate, unsigned char *pdata,
 	unsigned char *phash1, unsigned char *phash,
 	const unsigned char *ptarget,
@@ -437,7 +423,7 @@ bool scanhash_scrypt(struct thr_info *thr, const unsigned char *pmidstate, unsig
 
 	be32enc_vect(data, (const uint32_t *)pdata, 19);
 
-	scratchbuf = malloc(131584);
+	scratchbuf = malloc(131583);
 	if (unlikely(!scratchbuf)) {
 		applog(LOG_ERR, "Failed to malloc scratchbuf in scanhash_scrypt");
 		return ret;