1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-10 23:08:07 +00:00
Commit Graph

4511 Commits

Author SHA1 Message Date
Con Kolivas
7ef11e2b3d Set the read and write threads for avalon to not cancel within libusb functions and wait for the threads to pthread_join on shutdown. 2013-05-27 21:02:32 +10:00
Con Kolivas
7506e499b9 Offset needs to be incremented after avalon reads. 2013-05-27 20:37:21 +10:00
Con Kolivas
7748c46943 Make the avalon_read function parse the ftdi responses appopriately. 2013-05-27 20:29:35 +10:00
Con Kolivas
2a222ecffa Use the avalon read timeout to completion if no data has been read. 2013-05-27 20:04:12 +10:00
Con Kolivas
e255f74763 wait_avalon_ready should only be used before writes. 2013-05-27 19:55:02 +10:00
Con Kolivas
51a44fa779 Ask for the correct amount to read in avalon get results. 2013-05-27 17:52:34 +10:00
Con Kolivas
0316592b95 Spawn the avalon read thread first with info->reset set to discard any data till work is adequately queued. 2013-05-27 17:48:54 +10:00
Con Kolivas
6ce6cd547e Use direct usb read commands to avoid ftdi data being automatically cut off in avalon reads. 2013-05-27 17:42:51 +10:00
Con Kolivas
b73ab48814 Do a simple usb_read_once for the avalon result from a reset command. 2013-05-27 17:28:49 +10:00
Con Kolivas
f1ffe9860b Make sure avalon is ready to receive more usb commands before sending them. 2013-05-27 17:18:49 +10:00
Con Kolivas
a32e521d0a Implement avalon_ready and avalon_wait_ready functions for when usb is ready to receive commands. 2013-05-27 17:17:42 +10:00
Con Kolivas
7ad8af19b9 avalon_read should not loop but just return whatever it has succeeded in reading. 2013-05-27 17:08:06 +10:00
Con Kolivas
2c633fdbe4 Set avalon_info to device data void struct. 2013-05-27 15:54:07 +10:00
Con Kolivas
c478b302ce Specify avalon in avalon_reset. 2013-05-27 15:48:54 +10:00
Con Kolivas
269a8de977 First pass rewriting serialdev into direct usb dev for avalon driver. 2013-05-27 15:43:22 +10:00
Con Kolivas
8fea60f384 Define a cts equivalent for direct usb and use it for avalon driver full. 2013-05-27 15:01:13 +10:00
Con Kolivas
9650bfd6a3 Compile usbutils into avalon driver. 2013-05-27 14:58:08 +10:00
Con Kolivas
2d4a1db57e Merge branch 'icarus-dev' into avalon-usbdev 2013-05-27 14:37:41 +10:00
Con Kolivas
8595f3bd74 Check results come in at least at 2/3 the rate they should be on avalon and if not, reset it. 2013-05-27 13:41:57 +10:00
Con Kolivas
91edf84c60 Give a warning but don't reset if the avalon buffer is full early. 2013-05-27 12:39:32 +10:00
Con Kolivas
abfaf36112 Discard any reads obtained from the avalon get results thread during a reset. 2013-05-27 12:30:13 +10:00
Con Kolivas
c1dd052596 Differentiate initial reset in avalon from subsequent ones. 2013-05-27 12:20:34 +10:00
Con Kolivas
589e08772e Perform a mandatory reset if the avalon buffer signals it's full before it has queued its normal quota of work. 2013-05-27 11:11:44 +10:00
Con Kolivas
b790153990 Wait till buffer is cleared after sending idle tasks to avalon before returning from avalon_idle. 2013-05-27 01:33:54 +10:00
Con Kolivas
f164446282 Lock qlock mutex during reset from read thread in avalon to prevent more work being sent till the reset is over. 2013-05-27 01:32:31 +10:00
Con Kolivas
499b25068c Reset avalon if we continue to be unable to send all the work items. 2013-05-27 01:29:57 +10:00
Con Kolivas
b2b594b80e Revert "Don't reset result counter to zero if it's negative in avalon on just one successful share."
This reverts commit ce0a9cd3a4.

This wasn't the problem.
2013-05-27 00:53:24 +10:00
Con Kolivas
ce0a9cd3a4 Don't reset result counter to zero if it's negative in avalon on just one successful share. 2013-05-27 00:28:56 +10:00
Con Kolivas
4c3fe39e94 Add avalon reset response to debugging output. 2013-05-26 21:50:31 +10:00
Con Kolivas
d0132a7702 Do a wait_avalon_ready before sending a reset code. 2013-05-26 21:34:53 +10:00
Con Kolivas
1f493d6462 Iterate over spare bytes in the avalon result returned from a reset request trying to find the beginning of the reset. 2013-05-26 21:30:55 +10:00
Con Kolivas
467d149785 Idle avalon after reset. 2013-05-26 21:21:11 +10:00
Con Kolivas
1ef027c444 Check for nothing but consecutive bad results on avalon and reset the FPGA if it happens. 2013-05-26 21:14:17 +10:00
Con Kolivas
44736b3012 Make submit_nonce return a bool for whether it's a valid share or not. 2013-05-26 20:59:40 +10:00
Con Kolivas
e90cf62af1 Unset the work restart flag sooner in avalon_flush_work to avoid re-entering the flush work function and just reset the queued counter instead of rotating the array to avoid runs of no valid work. 2013-05-26 17:07:27 +10:00
Con Kolivas
0a9d7ca6b3 Implement an avalon_flush_work function for work restarts. 2013-05-26 16:46:43 +10:00
Con Kolivas
3c39d75fc9 Shut down avalon read and write threads and idle the miners on closing it. 2013-05-26 16:26:42 +10:00
Con Kolivas
c9ca6ca7e3 Tighter control over work submissions in avalon allows us to use a smaller array. 2013-05-26 16:15:10 +10:00
Con Kolivas
db7c72b892 Rotate avalon array to reset the queued count before releasing the lock so work will always be available on next pass. 2013-05-26 14:59:05 +10:00
Con Kolivas
66e27a10c5 Move avalon read thread start till after conditional wait, store idle status in avalon_info and use it to determine whether an error is appropriate or not. 2013-05-26 14:37:45 +10:00
Con Kolivas
0763070cb0 Wait till the avalon_send_tasks thread has filled the avalon with idle work before starting the avalon_get_results thread. 2013-05-26 14:29:28 +10:00
Con Kolivas
7cf154bfa5 Use AVA_GETS_OK macro in avalon_read. 2013-05-26 14:23:14 +10:00
Con Kolivas
ebf885520d Do all writes on avalon with a select() timeout to prevent indefinite blocking and loop if less than desired is written. 2013-05-26 14:18:21 +10:00
Con Kolivas
596784aaf3 Check explicitly that ava_buffer_full equals the macro. 2013-05-26 14:08:21 +10:00
Con Kolivas
e9e6ad821d Send initial reset as an avalon task to remove avalon_write function. 2013-05-26 13:58:12 +10:00
Con Kolivas
e27ca54408 avalon_clear_readbuf is no longer required. 2013-05-26 13:53:02 +10:00
Con Kolivas
7dc3485fc2 Check for 2 stray bytes on avalon reset. 2013-05-26 13:39:42 +10:00
Con Kolivas
629feb5f3f Create a separate thread for handling all work and idle submission to the avalon which messages the scanhash function it has completed to update statistics. 2013-05-26 13:16:19 +10:00
Kano
6c952105ed usbutils ensure it compiles without stats 2013-05-26 10:49:42 +10:00
Kano
aa9bf2cbb9 usbutils include transfer mode in usbstats 2013-05-26 10:33:47 +10:00