Commit 139dac06edbc99cbc95a65ae25b1b542cecd2088

Con Kolivas 2014-03-06T11:26:24

Make bxm bits configurable.

diff --git a/cgminer.c b/cgminer.c
index d3b80bd..b98baec 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -1302,6 +1302,9 @@ static struct opt_table opt_config_table[] = {
 	OPT_WITH_ARG("--bxf-temp-target",
 		     set_int_0_to_200, opt_show_intval, &opt_bxf_temp_target,
 		     "Set target temperature for BXF devices"),
+	OPT_WITH_ARG("--bxm-bits",
+		     set_int_0_to_100, opt_show_intval, &opt_bxm_bits,
+		     "Set BXM bits for overclocking"),
 #endif
 #ifdef HAVE_CURSES
 	OPT_WITHOUT_ARG("--compact",
diff --git a/driver-bitfury.c b/driver-bitfury.c
index a55b42d..98d69eb 100644
--- a/driver-bitfury.c
+++ b/driver-bitfury.c
@@ -17,6 +17,7 @@
 
 int opt_bxf_temp_target = BXF_TEMP_TARGET / 10;
 int opt_nf1_bits = 50;
+int opt_bxm_bits = 50;
 
 /* Wait longer 1/3 longer than it would take for a full nonce range */
 #define BF1WAIT 1600
@@ -714,8 +715,7 @@ static bool bxm_detect_one(struct cgpu_info *bitfury, struct bitfury_info *info)
 	ret = info->spi_txrx(bitfury, info);
 	if (!ret)
 		goto out;
-	/* FIXME make configurable and use a faster default. */
-	info->osc6_bits = 50;
+	info->osc6_bits = opt_bxm_bits;
 	ret = bxm_reinit(bitfury, info);
 	if (!ret)
 		goto out;
diff --git a/driver-bitfury.h b/driver-bitfury.h
index fa8bef9..9d76440 100644
--- a/driver-bitfury.h
+++ b/driver-bitfury.h
@@ -25,6 +25,7 @@
 
 extern int opt_bxf_temp_target;
 extern int opt_nf1_bits;
+extern int opt_bxm_bits;
 
 #define NF1_PIN_LED 0
 #define NF1_PIN_SCK_OVR 5