Browse Source

Add a --bflsc-overheat command which allows you to set the throttling temperature for BFLSC devices or disable it.

nfactor-troky
Con Kolivas 11 years ago
parent
commit
d71e9f91f4
  1. 20
      ASIC-README
  2. 12
      cgminer.c
  3. 4
      driver-bflsc.c
  4. 3
      driver-bflsc.h

20
ASIC-README

@ -73,6 +73,17 @@ After this you can either manually restart udev and re-login, or more easily @@ -73,6 +73,17 @@ After this you can either manually restart udev and re-login, or more easily
just reboot.
ASIC SPECIFIC COMMANDS
--avalon-auto Adjust avalon overclock frequency dynamically for best hashrate
--avalon-cutoff <arg> Set avalon overheat cut off temperature (default: 60)
--avalon-fan <arg> Set fanspeed percentage for avalon, single value or range (default: 20-100)
--avalon-freq <arg> Set frequency range for avalon-auto, single value or range
--avalon-options <arg> Set avalon options baud:miners:asic:timeout:freq
--avalon-temp <arg> Set avalon target temperature (default: 50)
--bflsc-overheat <arg> Set overheat temperature where BFLSC devices throttle, 0 to disable (default: 90)
AVALON DEVICES
Currently all known Avalon devices come with their own operating system and
@ -178,6 +189,15 @@ ambient temp / highest device temp lowest detected ASIC cooling fan RPM. @@ -178,6 +189,15 @@ ambient temp / highest device temp lowest detected ASIC cooling fan RPM.
Use the API for more detailed information than this.
BFLSC Devices
--bflsc-overheat <arg> Set overheat temperature where BFLSC devices throttle, 0 to disable (default: 90)
This will allow you to change or disable the default temperature where cgminer
throttles BFLSC devices by allowing them to temporarily go idle.
---
This code is provided entirely free of charge by the programmer in his spare

12
cgminer.c

@ -579,6 +579,13 @@ static char *set_int_0_to_100(const char *arg, int *i) @@ -579,6 +579,13 @@ static char *set_int_0_to_100(const char *arg, int *i)
}
#endif
#ifdef USE_BFLSC
static char *set_int_0_to_200(const char *arg, int *i)
{
return set_int_range(arg, i, 0, 200);
}
#endif
static char *set_int_1_to_10(const char *arg, int *i)
{
return set_int_range(arg, i, 1, 10);
@ -958,6 +965,11 @@ static struct opt_table opt_config_table[] = { @@ -958,6 +965,11 @@ static struct opt_table opt_config_table[] = {
opt_set_bool, &opt_bfl_noncerange,
"Use nonce range on bitforce devices if supported"),
#endif
#ifdef USE_BFLSC
OPT_WITH_ARG("--bflsc-overheat",
set_int_0_to_200, opt_show_intval, &opt_bflsc_overheat,
"Set overheat temperature where BFLSC devices throttle, 0 to disable"),
#endif
#ifdef HAVE_CURSES
OPT_WITHOUT_ARG("--compact",
opt_set_bool, &opt_compact,

4
driver-bflsc.c

@ -28,6 +28,8 @@ @@ -28,6 +28,8 @@
#include "usbutils.h"
#include "driver-bflsc.h"
int opt_bflsc_overheat = BFLSC_TEMP_OVERHEAT;
static const char *blank = "";
struct device_drv bflsc_drv;
@ -537,7 +539,7 @@ static void __bflsc_initialise(struct cgpu_info *bflsc) @@ -537,7 +539,7 @@ static void __bflsc_initialise(struct cgpu_info *bflsc)
bflsc->drv->name, bflsc->device_id, err);
if (!bflsc->cutofftemp)
bflsc->cutofftemp = 90;
bflsc->cutofftemp = opt_bflsc_overheat;
}
static void bflsc_initialise(struct cgpu_info *bflsc)

3
driver-bflsc.h

@ -342,6 +342,7 @@ struct SaveString { @@ -342,6 +342,7 @@ struct SaveString {
#define BFLSC_QUE_WATERMARK_V2 32
#define BFLSC_QUE_LOW_V2 8
#define BFLSC_TEMP_OVERHEAT 90
// Must drop this far below cutoff before resuming work
#define BFLSC_TEMP_RECOVER 5
@ -353,4 +354,6 @@ struct SaveString { @@ -353,4 +354,6 @@ struct SaveString {
// Keep trying up to this many us
#define REINIT_TIME_MAX 3000000
int opt_bflsc_overheat;
#endif /* BFLSC_H */

Loading…
Cancel
Save