Log

Author Commit Date CI Message
ckolivas 5b9cf0f0 2013-05-29T12:06:06 Send the shutdown message to threads and do the thread shutdown functions before more forcefully sending pthread_cancel to threads.
ckolivas 173119d5 2013-05-29T11:49:10 Use the cgpu_info shutdown to determine when to stop the avalon read and write threads.
ckolivas 60bb463c 2013-05-29T11:45:47 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.
ckolivas 2f4280b4 2013-05-29T09:19:34 Remove now unneeded fgpautils.h include from avalon.
Con Kolivas fa059b3c 2013-05-29T00:39:16 usb_transfer_read should also not play with the endianness.
Con Kolivas 0177b410 2013-05-29T00:33:56 Use the USB wrappers for avalon, telling usbutils that we want the raw data.
Con Kolivas d1337427 2013-05-29T00:15:30 Use separate ep for avalon tasks vs avalon reset and do not loop in write indefinitely.
Con Kolivas 876e7e58 2013-05-29T00:01:54 Merge branch 'icarus-dev' into usbdev Conflicts: usbutils.h
Con Kolivas 772b354e 2013-05-28T23:59:07 Remove unneeded function and checks in avalon write code.
Kano 05cbbd99 2013-05-28T23:56:30 CMR handle baud options
Con Kolivas 33e83eb7 2013-05-28T23:54:16 work_restart is reset within the queued hash work loop.
Con Kolivas 5900c024 2013-05-28T23:48:26 Fix avalon shutdown sequence.
Con Kolivas 6972ec62 2013-05-28T23:33:32 Execute driver shutdown sequence during kill_work.
Con Kolivas 7c645ffd 2013-05-28T23:02:29 Use nusleep in avalon_get_results in place of nmsleep.
Con Kolivas d52ab244 2013-05-28T23:00:14 Provide an nusleep equivalent function to nmsleep.
Kano df8566a7 2013-05-28T22:44:03 usb/ica add more (incomplete) CMR settings
Con Kolivas 7740ed83 2013-05-28T21:15:33 Give a buffer of perceived results in avalon during idle periods to allow for results once it becomes active again.
Con Kolivas adb2ea67 2013-05-28T20:50:53 libusb_control_transfer are meant to be endian specific, but host endianness so no conversion is needed.
Kano 6041be61 2013-05-28T17:07:49 Reuse old MTX Handle
Kano 5b7e435f 2013-05-28T10:46:48 usbutils check all memory allocation
Kano 2f94ec80 2013-05-27T23:30:18 usb separate thread for resource locking and modified windows locking code
Kano 64b6b7cb 2013-05-27T21:39:10 Icarus report data direction with comms errors
Con Kolivas 7ef11e2b 2013-05-27T21:02:32 Set the read and write threads for avalon to not cancel within libusb functions and wait for the threads to pthread_join on shutdown.
Con Kolivas 7506e499 2013-05-27T20:37:21 Offset needs to be incremented after avalon reads.
Con Kolivas 7748c469 2013-05-27T20:29:35 Make the avalon_read function parse the ftdi responses appopriately.
Con Kolivas 2a222ecf 2013-05-27T20:04:12 Use the avalon read timeout to completion if no data has been read.
Con Kolivas e255f747 2013-05-27T19:55:02 wait_avalon_ready should only be used before writes.
Con Kolivas 51a44fa7 2013-05-27T17:52:34 Ask for the correct amount to read in avalon get results.
Con Kolivas 0316592b 2013-05-27T17:48:54 Spawn the avalon read thread first with info->reset set to discard any data till work is adequately queued.
Con Kolivas 6ce6cd54 2013-05-27T17:42:51 Use direct usb read commands to avoid ftdi data being automatically cut off in avalon reads.
Con Kolivas b73ab488 2013-05-27T17:28:49 Do a simple usb_read_once for the avalon result from a reset command.
Con Kolivas f1ffe986 2013-05-27T17:18:49 Make sure avalon is ready to receive more usb commands before sending them.
Con Kolivas a32e521d 2013-05-27T17:17:42 Implement avalon_ready and avalon_wait_ready functions for when usb is ready to receive commands.
Con Kolivas 7ad8af19 2013-05-27T17:08:06 avalon_read should not loop but just return whatever it has succeeded in reading.
Con Kolivas 2c633fdb 2013-05-27T15:54:07 Set avalon_info to device data void struct.
Con Kolivas c478b302 2013-05-27T15:48:54 Specify avalon in avalon_reset.
Con Kolivas 269a8de9 2013-05-27T15:43:22 First pass rewriting serialdev into direct usb dev for avalon driver.
Con Kolivas 8fea60f3 2013-05-27T15:01:13 Define a cts equivalent for direct usb and use it for avalon driver full.
Con Kolivas 9650bfd6 2013-05-27T14:58:08 Compile usbutils into avalon driver.
Con Kolivas 2d4a1db5 2013-05-27T14:37:41 Merge branch 'icarus-dev' into avalon-usbdev
Con Kolivas 8595f3bd 2013-05-27T13:41:57 Check results come in at least at 2/3 the rate they should be on avalon and if not, reset it.
Con Kolivas 91edf84c 2013-05-27T12:39:32 Give a warning but don't reset if the avalon buffer is full early.
Con Kolivas abfaf361 2013-05-27T12:30:13 Discard any reads obtained from the avalon get results thread during a reset.
Con Kolivas c1dd0525 2013-05-27T12:20:34 Differentiate initial reset in avalon from subsequent ones.
Con Kolivas 589e0877 2013-05-27T11:11:44 Perform a mandatory reset if the avalon buffer signals it's full before it has queued its normal quota of work.
Con Kolivas b7901539 2013-05-27T01:33:54 Wait till buffer is cleared after sending idle tasks to avalon before returning from avalon_idle.
Con Kolivas f1644462 2013-05-27T01:32:31 Lock qlock mutex during reset from read thread in avalon to prevent more work being sent till the reset is over.
Con Kolivas 499b2506 2013-05-27T01:29:57 Reset avalon if we continue to be unable to send all the work items.
Con Kolivas b2b594b8 2013-05-27T00:53:24 Revert "Don't reset result counter to zero if it's negative in avalon on just one successful share." This reverts commit ce0a9cd3a4620e18e391be5ce88c92a606b1fddf. This wasn't the problem.
Con Kolivas ce0a9cd3 2013-05-27T00:28:56 Don't reset result counter to zero if it's negative in avalon on just one successful share.
Con Kolivas 4c3fe39e 2013-05-26T21:50:31 Add avalon reset response to debugging output.
Con Kolivas d0132a77 2013-05-26T21:34:53 Do a wait_avalon_ready before sending a reset code.
Con Kolivas 1f493d64 2013-05-26T21:30:55 Iterate over spare bytes in the avalon result returned from a reset request trying to find the beginning of the reset.
Con Kolivas 467d1497 2013-05-26T21:21:11 Idle avalon after reset.
Con Kolivas 1ef027c4 2013-05-26T21:14:17 Check for nothing but consecutive bad results on avalon and reset the FPGA if it happens.
Con Kolivas 44736b30 2013-05-26T20:59:40 Make submit_nonce return a bool for whether it's a valid share or not.
Con Kolivas e90cf62a 2013-05-26T17:07:27 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.
Con Kolivas 0a9d7ca6 2013-05-26T16:46:43 Implement an avalon_flush_work function for work restarts.
Con Kolivas 3c39d75f 2013-05-26T16:26:42 Shut down avalon read and write threads and idle the miners on closing it.
Con Kolivas c9ca6ca7 2013-05-26T16:15:10 Tighter control over work submissions in avalon allows us to use a smaller array.
Con Kolivas db7c72b8 2013-05-26T14:59:05 Rotate avalon array to reset the queued count before releasing the lock so work will always be available on next pass.
Con Kolivas 66e27a10 2013-05-26T14:37:45 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.
Con Kolivas 0763070c 2013-05-26T14:29:28 Wait till the avalon_send_tasks thread has filled the avalon with idle work before starting the avalon_get_results thread.
Con Kolivas 7cf154bf 2013-05-26T14:23:14 Use AVA_GETS_OK macro in avalon_read.
Con Kolivas ebf88552 2013-05-26T14:18:21 Do all writes on avalon with a select() timeout to prevent indefinite blocking and loop if less than desired is written.
Con Kolivas 596784aa 2013-05-26T14:08:21 Check explicitly that ava_buffer_full equals the macro.
Con Kolivas e9e6ad82 2013-05-26T13:58:12 Send initial reset as an avalon task to remove avalon_write function.
Con Kolivas e27ca544 2013-05-26T13:53:02 avalon_clear_readbuf is no longer required.
Con Kolivas 7dc3485f 2013-05-26T13:39:42 Check for 2 stray bytes on avalon reset.
Con Kolivas 629feb5f 2013-05-26T13:16:19 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.
Kano 6c952105 2013-05-26T10:49:42 usbutils ensure it compiles without stats
Kano aa9bf2cb 2013-05-26T10:33:47 usbutils include transfer mode in usbstats
Con Kolivas c87f4c30 2013-05-26T09:04:24 Give the avalon get results thread name the device number as well.
Con Kolivas 4076e6b3 2013-05-26T08:57:02 Make sure we're not adjusting temps on every successful work retrieval on avalon.
Con Kolivas 4784ecce 2013-05-26T08:55:03 Count missing work items from behind a successful work read in avalon as well.
Con Kolivas 70a3e885 2013-05-26T08:42:41 Change message for work not found in avalon parser.
Kano b1b93054 2013-05-26T08:34:06 usbutils handle bulk_transfer partial writes
Con Kolivas fba70ff5 2013-05-26T01:51:20 Simplify debugging and only discard from avalon read buffer if at least one full result has been discarded.
Con Kolivas 7324a33b 2013-05-26T01:38:51 Only display discarded bytes in avalon if they're not used as nonces.
Con Kolivas be3224f9 2013-05-26T01:33:32 Only loop once through avalon_parse_results, but do so after timeouts as well.
Con Kolivas 1f08809a 2013-05-26T01:31:20 Only debug and move ram if spare bytes exist in avalon buffer.
Con Kolivas 9f59e9a6 2013-05-26T01:30:03 Remove off by one error.
Con Kolivas 0a82b255 2013-05-26T01:25:43 Inverted logic.
Con Kolivas b6b1abb5 2013-05-26T01:24:14 Add more debugging to avalon reads.
Con Kolivas ab739358 2013-05-26T01:17:05 Convert unsigned size_ts to ints for parsing avalon messages.
Con Kolivas bb06c2f0 2013-05-26T01:05:26 Cope with not finding nonces in avalon parsing gracefully by not overflowing buffers.
Con Kolivas e9429f38 2013-05-26T00:52:20 Adjust avalon temp values on one lot of valid nonces from the parser.
Con Kolivas 74044467 2013-05-26T00:43:23 Created a threaded message parser for avalon reads.
Con Kolivas ff44696a 2013-05-25T23:21:11 Avalon_wait_write is not effective during resets so do it after going idle.
Con Kolivas 4794ce70 2013-05-25T23:11:45 Send only a single byte reset.
Con Kolivas e2c43792 2013-05-25T22:21:02 Repeat going idle after avalon reset, and wait for write ready before sending each reset request instead of some arbitrary sleep time.
Con Kolivas a1cec2cd 2013-05-25T22:16:10 Revert "Send full avalon init task for reset." This reverts commit fa1bca31181f50b8912d2851ab141244e420b8cb. No difference.
Con Kolivas fa1bca31 2013-05-25T16:09:46 Send full avalon init task for reset.
Con Kolivas c7b1b030 2013-05-25T16:04:42 Timeouts on avalon_read and avalon_write should be 100ms.
Con Kolivas 4ddbe241 2013-05-25T15:52:08 Don't close avalon after detecting it until we're cleaning up, instead using reset for comms failures.
Con Kolivas 18710b14 2013-05-25T15:18:31 Check for avalon_wait_write before sending reset command.
Con Kolivas 0e071c98 2013-05-25T15:07:10 Sleep in avalon_write_ready.
Con Kolivas 674539bd 2013-05-25T15:03:02 Make avalon_wait_write a bool function and check its return value.
Con Kolivas 290666a1 2013-05-25T14:54:00 Show how many idle tasks are sent to avalon if it aborts on buffer full.
Con Kolivas 8b1a2471 2013-05-25T14:48:23 Reset avalon->device_fd after it is closed.