|
|
@ -67,6 +67,7 @@ |
|
|
|
#define AVALON_TIMEOUT_MS 999 |
|
|
|
#define AVALON_TIMEOUT_MS 999 |
|
|
|
#define KLONDIKE_TIMEOUT_MS 999 |
|
|
|
#define KLONDIKE_TIMEOUT_MS 999 |
|
|
|
#define ICARUS_TIMEOUT_MS 999 |
|
|
|
#define ICARUS_TIMEOUT_MS 999 |
|
|
|
|
|
|
|
#define HASHFAST_TIMEOUT_MS 999 |
|
|
|
#else |
|
|
|
#else |
|
|
|
#define BFLSC_TIMEOUT_MS 300 |
|
|
|
#define BFLSC_TIMEOUT_MS 300 |
|
|
|
#define BITFORCE_TIMEOUT_MS 200 |
|
|
|
#define BITFORCE_TIMEOUT_MS 200 |
|
|
@ -75,6 +76,7 @@ |
|
|
|
#define AVALON_TIMEOUT_MS 200 |
|
|
|
#define AVALON_TIMEOUT_MS 200 |
|
|
|
#define KLONDIKE_TIMEOUT_MS 200 |
|
|
|
#define KLONDIKE_TIMEOUT_MS 200 |
|
|
|
#define ICARUS_TIMEOUT_MS 200 |
|
|
|
#define ICARUS_TIMEOUT_MS 200 |
|
|
|
|
|
|
|
#define HASHFAST_TIMEOUT_MS 200 |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#define USB_READ_MINPOLL 40 |
|
|
|
#define USB_READ_MINPOLL 40 |
|
|
@ -134,6 +136,25 @@ static struct usb_intinfo bfu_ints[] = { |
|
|
|
}; |
|
|
|
}; |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef USE_HASHFAST |
|
|
|
|
|
|
|
#include "driver-hashfast.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static struct usb_epinfo hfa0_epinfos[] = { |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_INTERRUPT, 8, EPI(3), 0, 0, 0 } |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static struct usb_epinfo hfa1_epinfos[] = { |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(1), 0, 0, 0 }, |
|
|
|
|
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPO(2), 0, 0, 0 } |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Default to interface 1 */ |
|
|
|
|
|
|
|
static struct usb_intinfo hfa_ints[] = { |
|
|
|
|
|
|
|
USB_EPS(1, hfa1_epinfos), |
|
|
|
|
|
|
|
USB_EPS(0, hfa0_epinfos) |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
#ifdef USE_MODMINER |
|
|
|
#ifdef USE_MODMINER |
|
|
|
static struct usb_epinfo mmq_epinfos[] = { |
|
|
|
static struct usb_epinfo mmq_epinfos[] = { |
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(3), 0, 0, 0 }, |
|
|
|
{ LIBUSB_TRANSFER_TYPE_BULK, 64, EPI(3), 0, 0, 0 }, |
|
|
@ -325,7 +346,14 @@ static struct usb_find_devices find_dev[] = { |
|
|
|
.drv = DRIVER_hashfast, |
|
|
|
.drv = DRIVER_hashfast, |
|
|
|
.name = "HFA", |
|
|
|
.name = "HFA", |
|
|
|
.ident = IDENT_HFA, |
|
|
|
.ident = IDENT_HFA, |
|
|
|
}, |
|
|
|
.idVendor = HF_USB_VENDOR_ID, |
|
|
|
|
|
|
|
.idProduct = HF_USB_PRODUCT_ID_G1, |
|
|
|
|
|
|
|
.iManufacturer = "HashFast LLC", |
|
|
|
|
|
|
|
.iProduct = "M1 Module", |
|
|
|
|
|
|
|
.config = 1, |
|
|
|
|
|
|
|
.timeout = HASHFAST_TIMEOUT_MS, |
|
|
|
|
|
|
|
.latency = LATENCY_UNUSED, |
|
|
|
|
|
|
|
INTINFO(hfa_ints) }, |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#ifdef USE_KLONDIKE |
|
|
|
#ifdef USE_KLONDIKE |
|
|
|
{ |
|
|
|
{ |
|
|
@ -3191,6 +3219,7 @@ void usb_cleanup(void) |
|
|
|
case DRIVER_icarus: |
|
|
|
case DRIVER_icarus: |
|
|
|
case DRIVER_avalon: |
|
|
|
case DRIVER_avalon: |
|
|
|
case DRIVER_klondike: |
|
|
|
case DRIVER_klondike: |
|
|
|
|
|
|
|
case DRIVER_hashfast: |
|
|
|
DEVWLOCK(cgpu, pstate); |
|
|
|
DEVWLOCK(cgpu, pstate); |
|
|
|
release_cgpu(cgpu); |
|
|
|
release_cgpu(cgpu); |
|
|
|
DEVWUNLOCK(cgpu, pstate); |
|
|
|
DEVWUNLOCK(cgpu, pstate); |
|
|
|