mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-30 00:14:26 +00:00
Make usb_ftdi_cts use the _usb_transfer_read function.
This commit is contained in:
parent
2125bddcad
commit
56a20e0125
48
usbutils.c
48
usbutils.c
@ -2197,30 +2197,6 @@ int _usb_read(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *pro
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define FTDI_STATUS_B0_MASK (FTDI_RS0_CTS | FTDI_RS0_DSR | FTDI_RS0_RI | FTDI_RS0_RLSD)
|
|
||||||
#define FTDI_RS0_CTS (1 << 4)
|
|
||||||
#define FTDI_RS0_DSR (1 << 5)
|
|
||||||
#define FTDI_RS0_RI (1 << 6)
|
|
||||||
#define FTDI_RS0_RLSD (1 << 7)
|
|
||||||
|
|
||||||
/* Clear to send for FTDI */
|
|
||||||
int usb_ftdi_cts(struct cgpu_info *cgpu)
|
|
||||||
{
|
|
||||||
struct cg_usb_device *usbdev = cgpu->usbdev;
|
|
||||||
unsigned char buf[2], ret;
|
|
||||||
|
|
||||||
/* We return true in case drivers are waiting indefinitely to try and
|
|
||||||
* write to something that's not there. */
|
|
||||||
if (cgpu->usbinfo.nodev)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
libusb_control_transfer(usbdev->handle, (uint8_t)FTDI_TYPE_IN,
|
|
||||||
(uint8_t)5, (uint16_t)0, (uint16_t)0, buf, 2,
|
|
||||||
DEVTIMEOUT);
|
|
||||||
ret = buf[0] & FTDI_STATUS_B0_MASK;
|
|
||||||
return (ret & FTDI_RS0_CTS);
|
|
||||||
}
|
|
||||||
|
|
||||||
int _usb_write(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *processed, unsigned int timeout, __maybe_unused enum usb_cmds cmd)
|
int _usb_write(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *processed, unsigned int timeout, __maybe_unused enum usb_cmds cmd)
|
||||||
{
|
{
|
||||||
struct cg_usb_device *usbdev = cgpu->usbdev;
|
struct cg_usb_device *usbdev = cgpu->usbdev;
|
||||||
@ -2383,6 +2359,30 @@ int _usb_transfer_read(struct cgpu_info *cgpu, uint8_t request_type, uint8_t bRe
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define FTDI_STATUS_B0_MASK (FTDI_RS0_CTS | FTDI_RS0_DSR | FTDI_RS0_RI | FTDI_RS0_RLSD)
|
||||||
|
#define FTDI_RS0_CTS (1 << 4)
|
||||||
|
#define FTDI_RS0_DSR (1 << 5)
|
||||||
|
#define FTDI_RS0_RI (1 << 6)
|
||||||
|
#define FTDI_RS0_RLSD (1 << 7)
|
||||||
|
|
||||||
|
/* Clear to send for FTDI */
|
||||||
|
int usb_ftdi_cts(struct cgpu_info *cgpu)
|
||||||
|
{
|
||||||
|
char buf[2], ret;
|
||||||
|
int err, amount;
|
||||||
|
|
||||||
|
err = _usb_transfer_read(cgpu, (uint8_t)FTDI_TYPE_IN, (uint8_t)5,
|
||||||
|
(uint16_t)0, (uint16_t)0, buf, 2,
|
||||||
|
&amount, DEVTIMEOUT, C_FTDI_STATUS);
|
||||||
|
/* We return true in case drivers are waiting indefinitely to try and
|
||||||
|
* write to something that's not there. */
|
||||||
|
if (err)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
ret = buf[0] & FTDI_STATUS_B0_MASK;
|
||||||
|
return (ret & FTDI_RS0_CTS);
|
||||||
|
}
|
||||||
|
|
||||||
void usb_cleanup()
|
void usb_cleanup()
|
||||||
{
|
{
|
||||||
struct cgpu_info *cgpu;
|
struct cgpu_info *cgpu;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user