driver-avalon.c


Log

Author Commit Date CI Message
Con Kolivas 9650bfd6 2013-05-27T14:58:08 Compile usbutils into avalon driver.
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 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 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.
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.
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.
Con Kolivas a6401643 2013-05-25T14:42:38 Create an avalon_wait_write function that is used before sending avalon idle command.
Con Kolivas 764f7cc4 2013-05-25T14:38:33 Avoid repeating avalon_idle in do_avalon_close and extra sleep.
Con Kolivas ee4d72e3 2013-05-25T14:05:52 Pass fd to avalon_idle.
Con Kolivas 664fd5b4 2013-05-25T14:03:45 Revert "Change to setting avalon_task to being the pointer for avalon_idle." This reverts commit 91a82cd81f8ef63621cc473601adb325d662e409.
Con Kolivas 91a82cd8 2013-05-25T13:38:00 Change to setting avalon_task to being the pointer for avalon_idle.
Con Kolivas e2578033 2013-05-25T13:27:54 Do avalon_reset after info structure is set up.
Con Kolivas 930317e1 2013-05-25T13:25:38 Rework avalon reset sequence to include idling of chips and waiting for them to go idle followed by 2nd reset and then checking result.
Con Kolivas 569a6f65 2013-05-25T12:11:26 Do a non-blocking read of anything in the avalon buffer after opening the device.
Con Kolivas 6baa23cf 2013-05-25T12:01:12 Assign the avalon info data to the device_data in cgpu_info.
Con Kolivas 69bdc6f9 2013-05-03T22:28:37 Fix warnings in avalon driver.
Con Kolivas ed65653c 2013-05-02T17:32:04 Simplify the many lines passed as API data in the avalon driver now that the API does not need persistent storage for the name.
Con Kolivas d08bdfd6 2013-05-02T17:03:31 Add extra matching work count data in API for Avalon with 4 modules.
Con Kolivas 5b702bc0 2013-04-21T19:36:37 Fix warning on building avalon on win32
Con Kolivas 849567cb 2013-04-21T19:19:22 Use cgtime in driver-avalon.c
James Z.M. Gao 5ba07b9a 2013-04-19T09:03:41 Merge remote-tracking branch 'upstream/master'
Xiangfu 8e8313c9 2013-04-19T08:57:07 fliter out the wrong result from adjust fan code
James Z.M. Gao 50cf2594 2013-04-19T08:54:36 compile avalon driver on win32 and win64
Con Kolivas fdfb77e7 2013-04-16T22:41:45 Unconditionally test for many wrong results on avalon and reset to avoid passing a corrupt avalon result to temperature code.
Con Kolivas dbab07a1 2013-04-15T20:30:02 Only reset an avalon device with no results when there are no results consecutively.
Con Kolivas c62b985c 2013-04-10T18:42:50 Wrap result wrong tests in avalon scanhash in unlikely() and only consider a hash count of zero wrong if a restart wasn't issued.
Xiangfu 874b25f9 2013-04-10T14:10:40 avalon: if result_wrong >= get_work_count jump out the read loop
Xiangfu dd1c8bd1 2013-04-08T23:55:09 fix the fan control on max temp2/3
Xiangfu f6893013 2013-04-08T23:39:08 for some reason network down. one simple cgminer command: "cgminer -o 127.0.0.1:8888 -O fa:ke --avalon-options 115200:32:10:50:256" can idle the avalon for safe power and protect chip
Xiangfu d57a4e0c 2013-04-08T23:37:04 if hash_count == 0; reinit avalon, fix the 0MHS bug use the max value of temp1 and temp2 for fan control
Con Kolivas 6c5c6e99 2013-04-08T22:42:31 Reinstate the matching_work_count per subdevice on avalon based on the work subid.
Con Kolivas c2a6392a 2013-04-08T22:29:32 Avalon driver is missing the drv_id.
Con Kolivas 0c35f67a 2013-04-08T15:36:18 Make the avalon array size a macro.
Con Kolivas 8a90b5dd 2013-04-08T15:05:30 Use replacement of work items in the avalon buffer as needed instead of flushing them.
Con Kolivas 1c4d1ac8 2013-04-08T14:08:54 Reinstate wrong work count to reset avalon regardless and display number of wrong results.
Con Kolivas 47309e1a 2013-04-08T14:04:38 Revert "The result_wrong measurement for avalon is continually leading to false positives so remove it." This reverts commit 08c0ac290c1196b77388e747ced15d92fce57f18.
Con Kolivas af658702 2013-04-08T12:01:16 select() on serial usb in avalon does not work properly with zero timeout.
Con Kolivas 08c0ac29 2013-04-08T11:59:32 The result_wrong measurement for avalon is continually leading to false positives so remove it.
Con Kolivas 64ecfa53 2013-04-08T11:32:24 Revert "Use only 2 queued work arrays in avalon." This reverts commit 0ea9d68d6786473b641bc377651b908aeeab06a2. This was leading to failure to find work items on block changes.
Con Kolivas af6111fb 2013-04-08T11:22:25 Use no timeout on further reads in avalon_gets
Con Kolivas ad55fbf9 2013-04-08T11:20:10 Do sequential reads in avalon_get_reset to cope with partial reads.
Con Kolivas 385f1cd8 2013-04-08T10:39:16 Show read discrepancy in avalon_get_reset.
Con Kolivas 4e2b1076 2013-04-08T10:37:48 Reuse avalon_get_work_count variable.
Con Kolivas fb34cb17 2013-04-08T10:34:47 Check for AVA_GETS_RESTART when deciding if avalon has messed up.
Con Kolivas 8b0531fb 2013-04-08T10:13:15 Make the detection of all wrong results on avalon much more conservative to avoid false positives on work restarts.
Con Kolivas c6b9a3ee 2013-04-08T09:48:23 Show error codes on select and read fail in avalon.
Con Kolivas 5e3474b0 2013-04-08T09:04:10 If we get a restart message in avalon_gets still check if there's a receive message to parse first without a timeout before returning AVA_GETS_RESTART.
Con Kolivas 0ea9d68d 2013-04-08T08:28:53 Use only 2 queued work arrays in avalon.
Con Kolivas afd6f427 2013-04-07T16:09:26 avalon_gets is always called from the one call site so inline it.
Con Kolivas 3671b2c3 2013-04-07T15:48:35 The read_count is unused by the avalon get result code and no longer required for avalon reset so simplify code removing it.