248 Commits (4940b7198e64b542d7fa0c1608dbe9a00dae71b2)

Author SHA1 Message Date
ckolivas 60bb463cf1 Use semaphores to signal a reset to pause the read thread while the write thread does the actual reset, making all writes come from the same place. 12 years ago
ckolivas 2f4280b4a2 Remove now unneeded fgpautils.h include from avalon. 12 years ago
Con Kolivas 0177b41010 Use the USB wrappers for avalon, telling usbutils that we want the raw data. 12 years ago
Con Kolivas d1337427fd Use separate ep for avalon tasks vs avalon reset and do not loop in write indefinitely. 12 years ago
Con Kolivas 772b354ea9 Remove unneeded function and checks in avalon write code. 12 years ago
Con Kolivas 33e83eb764 work_restart is reset within the queued hash work loop. 12 years ago
Con Kolivas 5900c0244d Fix avalon shutdown sequence. 12 years ago
Con Kolivas 7c645ffda9 Use nusleep in avalon_get_results in place of nmsleep. 12 years ago
Con Kolivas 7740ed839a Give a buffer of perceived results in avalon during idle periods to allow for results once it becomes active again. 12 years ago
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. 12 years ago
Con Kolivas 7506e499b9 Offset needs to be incremented after avalon reads. 12 years ago
Con Kolivas 7748c46943 Make the avalon_read function parse the ftdi responses appopriately. 12 years ago
Con Kolivas 2a222ecffa Use the avalon read timeout to completion if no data has been read. 12 years ago
Con Kolivas e255f74763 wait_avalon_ready should only be used before writes. 12 years ago
Con Kolivas 51a44fa779 Ask for the correct amount to read in avalon get results. 12 years ago
Con Kolivas 0316592b95 Spawn the avalon read thread first with info->reset set to discard any data till work is adequately queued. 12 years ago
Con Kolivas 6ce6cd547e Use direct usb read commands to avoid ftdi data being automatically cut off in avalon reads. 12 years ago
Con Kolivas b73ab48814 Do a simple usb_read_once for the avalon result from a reset command. 12 years ago
Con Kolivas f1ffe9860b Make sure avalon is ready to receive more usb commands before sending them. 12 years ago
Con Kolivas a32e521d0a Implement avalon_ready and avalon_wait_ready functions for when usb is ready to receive commands. 12 years ago
Con Kolivas 7ad8af19b9 avalon_read should not loop but just return whatever it has succeeded in reading. 12 years ago
Con Kolivas 2c633fdbe4 Set avalon_info to device data void struct. 12 years ago
Con Kolivas c478b302ce Specify avalon in avalon_reset. 12 years ago
Con Kolivas 269a8de977 First pass rewriting serialdev into direct usb dev for avalon driver. 12 years ago
Con Kolivas 9650bfd6a3 Compile usbutils into avalon driver. 12 years ago
Con Kolivas 8595f3bd74 Check results come in at least at 2/3 the rate they should be on avalon and if not, reset it. 12 years ago
Con Kolivas 91edf84c60 Give a warning but don't reset if the avalon buffer is full early. 12 years ago
Con Kolivas abfaf36112 Discard any reads obtained from the avalon get results thread during a reset. 12 years ago
Con Kolivas c1dd052596 Differentiate initial reset in avalon from subsequent ones. 12 years ago
Con Kolivas 589e08772e Perform a mandatory reset if the avalon buffer signals it's full before it has queued its normal quota of work. 12 years ago
Con Kolivas b790153990 Wait till buffer is cleared after sending idle tasks to avalon before returning from avalon_idle. 12 years ago
Con Kolivas f164446282 Lock qlock mutex during reset from read thread in avalon to prevent more work being sent till the reset is over. 12 years ago
Con Kolivas 499b25068c Reset avalon if we continue to be unable to send all the work items. 12 years ago
Con Kolivas b2b594b80e Revert "Don't reset result counter to zero if it's negative in avalon on just one successful share." 12 years ago
Con Kolivas ce0a9cd3a4 Don't reset result counter to zero if it's negative in avalon on just one successful share. 12 years ago
Con Kolivas 4c3fe39e94 Add avalon reset response to debugging output. 12 years ago
Con Kolivas d0132a7702 Do a wait_avalon_ready before sending a reset code. 12 years ago
Con Kolivas 1f493d6462 Iterate over spare bytes in the avalon result returned from a reset request trying to find the beginning of the reset. 12 years ago
Con Kolivas 467d149785 Idle avalon after reset. 12 years ago
Con Kolivas 1ef027c444 Check for nothing but consecutive bad results on avalon and reset the FPGA if it happens. 12 years ago
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. 12 years ago
Con Kolivas 0a9d7ca6b3 Implement an avalon_flush_work function for work restarts. 12 years ago
Con Kolivas 3c39d75fc9 Shut down avalon read and write threads and idle the miners on closing it. 12 years ago
Con Kolivas db7c72b892 Rotate avalon array to reset the queued count before releasing the lock so work will always be available on next pass. 12 years ago
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. 12 years ago
Con Kolivas 0763070cb0 Wait till the avalon_send_tasks thread has filled the avalon with idle work before starting the avalon_get_results thread. 12 years ago
Con Kolivas 7cf154bfa5 Use AVA_GETS_OK macro in avalon_read. 12 years ago
Con Kolivas ebf885520d Do all writes on avalon with a select() timeout to prevent indefinite blocking and loop if less than desired is written. 12 years ago
Con Kolivas 596784aaf3 Check explicitly that ava_buffer_full equals the macro. 12 years ago
Con Kolivas e9e6ad821d Send initial reset as an avalon task to remove avalon_write function. 12 years ago