driver-bitforce.c


Log

Author Commit Date CI Message
Con Kolivas 4443895f 2012-08-05T17:51:00 Count likely throttling episodes on bitforce devices as hardware errors.
Con Kolivas 0d676346 2012-08-05T16:15:32 Style cleanups.
Con Kolivas 31b01c8a 2012-08-05T16:13:53 Author: Luke Dashjr <luke-jr+git@utopios.org> Date: Thu Jul 12 16:49:26 2012 +0000 Use FTD2XX.DLL on Windows to autodetect BitFORCE SHA256 devices
Con Kolivas 245552c5 2012-08-03T09:49:14 Clear the bitforce buffer whenever we get an unexpected result as it has likely throttled and we are getting cached responses out of order, and use the temperature monitoring as a kind of watchdog to flush unexpected results.
Con Kolivas 7fa794a4 2012-08-03T09:26:43 It is not critical getting the temperature response in bitforce so don't mandatorily wait on the mutex lock.
Con Kolivas 5118e3ee 2012-08-03T08:12:05 Check there is a cutoff temp actually set in bitforce before using it as a cut off value otherwise it may think it's set to zero degrees.
Con Kolivas efba82fb 2012-08-01T20:39:12 Print the 3 parameters that are passed to applog for a debug line in bitforce.c
Con Kolivas 7f825013 2012-08-01T20:08:37 Clear bitforce buffer on init as previously.
Con Kolivas 7aa809ca 2012-08-01T19:36:00 Revert "Revert "Change BFL driver thread initialising to a constant 100ms delay between devices instead of a random arrangement."" This reverts commit 89e613b94361a68305a68095b1b8f4756f9ef8f8. Leave the delay between each device initialising.
Con Kolivas a688951d 2012-08-01T19:34:43 Revert "Remove bitforce_thread_init" This reverts commit 2dfe0d628e05763bce09c51420860ef4f2ea7919. Roll back to init'ing bitforce devices at regular intervals. They may reinit more than previously thought.
Con Kolivas ddcf3d20 2012-07-31T22:19:39 Differentiate between the send return value being a bool and the get return value when managing them in bitforce scanhash.
ckolivas 23a8c604 2012-07-31T10:28:48 Revert "bitforce: Skip out of sending work if work restart requested" This reverts commit cf36331d815e7b87131d547b92b9ceaa218d114d.
Con Kolivas 2fb95c00 2012-07-29T03:50:26 Merge pull request #276 from luke-jr/bf_send_restart bitforce: Skip out of sending work if work restart requested
Con Kolivas 150b29d4 2012-07-29T03:44:07 Merge pull request #268 from luke-jr/bf_generic_kname bitforce: Use "full work" vs "nonce range" for kernel name
Luke Dashjr cf36331d 2012-07-29T06:26:23 bitforce: Skip out of sending work if work restart requested
Kano c5583050 2012-07-24T02:19:23 BFL force all code to timeout to avoid hanging
Luke Dashjr b347a178 2012-07-12T16:57:50 bitforce: Use "full work" vs "nonce range" for kernel name Also move these string constants to #defines
Con Kolivas b6a23d00 2012-07-13T11:39:34 bitforce_get_result returns -1 on error now.
Con Kolivas 761bd772 2012-07-12T18:12:00 Merge pull request #267 from luke-jr/bugfix_winsleep Fix Windows build
Con Kolivas aa723e71 2012-07-13T10:54:06 Check return value of read in BFgets
Luke Dashjr 68111323 2012-07-12T18:01:14 Bugfix: Make our Windows nanosleep/sleep replacements standards-compliant (which fixes nmsleep) and include compat.h for bitforce (for sleep)
Con Kolivas ac55cec6 2012-07-12T23:13:35 Fix whitespace mangling.
Con Kolivas c1c99f1d 2012-07-12T23:09:05 Merge https://github.com/pshep/cgminer into pshep
Con Kolivas 89e613b9 2012-07-12T21:29:30 Revert "Change BFL driver thread initialising to a constant 100ms delay between devices instead of a random arrangement." This reverts commit 0785886b53b2838e0c3634143ad883beb191f7c6.
Paul Sheppard d4d5b28e 2012-07-11T14:46:09 Abbrv. correction
Paul Sheppard c37a3f30 2012-07-11T08:30:56 Put kname change for broken nonce-range back in
Paul Sheppard 2c54522d 2012-07-11T08:11:53 Add average wait time to api stats
Paul Sheppard 01a69ee4 2012-07-11T08:07:39 Revert "Merge branch 'ave_time' of https://github.com/pshep/cgminer.git" This reverts commit 242e52cdf902aabd124e600a65b7d7140b11fef0, reversing changes made to 4dc1bf2319daf5d8eae3a486e2bbbaa3ed00c88b.
ckolivas 0785886b 2012-07-11T23:17:23 Change BFL driver thread initialising to a constant 100ms delay between devices instead of a random arrangement.
ckolivas 9eaac439 2012-07-11T23:12:00 Spelling typo.
ckolivas 5c7e0308 2012-07-11T22:59:58 Modify te scanhash API to use an int64_t and return -1 on error, allowing zero to be a valid return value.
Paul Sheppard 242e52cd 2012-07-10T22:09:32 Merge branch 'ave_time' of https://github.com/pshep/cgminer.git
Paul Sheppard 4dc1bf23 2012-07-10T15:40:45 Missed one nonce-range disabling.
Paul Sheppard 3cc0aa76 2012-07-10T15:34:01 Add average return time to api stats
Paul Sheppard 2dfe0d62 2012-07-09T17:36:06 Remove bitforce_thread_init The delay thing does nothing useful... when long poll comes around, all threads restart at the same time anyway.
Paul Sheppard 953ecd9e 2012-07-08T23:25:02 Change timeouts to time-vals for accuracy.
Paul Sheppard 6c3d3318 2012-07-08T22:36:42 Merge branch 'master' of git://github.com/ckolivas/cgminer.git
Con Kolivas 2ce7f28b 2012-07-08T04:24:55 Merge pull request #254 from luke-jr/work_restart2 Turn work_restart array into a bool in thr_info
Paul Sheppard 19b4d2b9 2012-07-06T11:57:53 More BFL tweaks. Add delay between closing and reopening port. Remove buffer clear in re-init Add kernel type (mini-rig or single)
Con Kolivas 957d1961 2012-07-06T20:23:26 Make long timeout 10seconds on bitforce for when usleep or nanosleep just can't be accurate...
Con Kolivas 57e38d05 2012-07-06T18:41:25 Make disabling BFL nonce range support a warning since it has to be explicitly enabled on the command line now.
Con Kolivas fd55fab9 2012-07-06T16:54:00 Make bitforce nonce range support a command line option --bfl-range since enabling it decrease hashrate by 1%.
Con Kolivas b8484956 2012-07-06T16:44:55 Add sanity checking to make sure we don't make sleep_ms less than 0 in bitforce.
Luke Dashjr d4af2d05 2012-07-06T02:39:32 Turn work_restart array into a bool in thr_info
Con Kolivas e97adc91 2012-07-06T15:09:39 The fastest minirig devices need a significantly smaller starting sleep time.
Con Kolivas 74b96d4b 2012-07-06T15:05:38 Use a much shorter initial sleep time to account for faster devices and nonce range working, and increase it if nonce range fails to work.
Con Kolivas 13cf5689 2012-07-06T15:03:31 Use nmsleep instead of usleep in bitforce.
Con Kolivas 390d77a2 2012-07-06T10:41:08 Add more comments explaining how sleep time equals wait time and simplify the comparison.
Con Kolivas 69a11508 2012-07-06T10:35:18 delay_time_ms is always set so need not be initialised in bitforce.
Con Kolivas 9e8726b1 2012-07-06T10:09:02 Increase bitforce timeout to 10 seconds.
Con Kolivas a3faf63c 2012-07-06T09:54:27 Add more hysteresis and poll ~5 times to allow for timer delays in bitforce devices.
Con Kolivas afc6ae58 2012-07-05T22:42:04 Change message about broken nonce range support to verbose level instead of debug.
Con Kolivas 86ba7d79 2012-07-05T22:39:41 Display the actual duration of wait when it is greater than the cutoff.
Con Kolivas 5a096c1c 2012-07-05T22:39:11 Set nonce to maximum once we determine nonce range support is broken.
Con Kolivas 88dd599f 2012-07-05T22:33:21 Initial wait time is always known so no need to zero it beforehand in bitforce.
Con Kolivas 1b0a0ac5 2012-07-05T22:32:05 No point counting wait time until the work is actually sent to bitforce devices.
Con Kolivas c0c48060 2012-07-05T21:51:42 Use string comparison functions elsewhere in bitforce code.
Con Kolivas d4e526c9 2012-07-05T21:29:06 Use string comparison functions instead of explicit comparisons.
Con Kolivas 23841337 2012-07-05T20:47:43 Show device id in debug when disabling nonce range.
Con Kolivas 9e10a6c0 2012-07-05T20:42:19 Account for wait_ms time when nonce_range is in use on BFL.
Con Kolivas 9d9963b0 2012-07-05T17:15:18 Split nonces up into 1/5 chunks when nonce range is supported.
Con Kolivas 274a4011 2012-07-05T16:45:05 Merge branch 'master' into mr
Paul Sheppard 1ee191a7 2012-07-04T23:31:42 limit clear buffer iterations.
Paul Sheppard 2aa95ab8 2012-07-04T18:48:27 Merge branch 'master' of git://github.com/ckolivas/cgminer.git
Paul Sheppard 54f8554a 2012-07-04T18:46:41 Ad fd check to clear buffer.
Con Kolivas 72777f1f 2012-07-05T09:30:53 Disable nonce range support in BFL when broken support is detected.
Con Kolivas 96183bbd 2012-07-05T09:21:46 Minor bfl tidy.
Con Kolivas 75eca078 2012-07-05T09:15:21 Restart_wait is only called with a ms value so incorporate that into the function.
Con Kolivas e5aba760 2012-07-05T00:40:01 Fix off-by-one error in nonce increment in bfl.
Con Kolivas ba5c1fc0 2012-07-05T00:22:42 Use BE when setting nonce in bitforce nonce range work.
Con Kolivas d6a6d70f 2012-07-05T00:18:58 Set work blk nonce after work is queued to prevent duplicates.
Con Kolivas 870ba0c7 2012-07-05T00:17:35 Revert "Loop in bitforce scanhash till end nonce reaches full nonce range." This reverts commit e10aa2092bcb2f1e5b313c5bacb8853b00393126.
Con Kolivas e10aa209 2012-07-05T00:14:04 Loop in bitforce scanhash till end nonce reaches full nonce range.
Con Kolivas 1f2e9a49 2012-07-05T00:08:33 Enable nonce range in the normal init sequence for bfl.
Con Kolivas 8766bca4 2012-07-04T23:57:54 Queue extra work at 2/3 differently depending on whether we're using nonce range or not.
Con Kolivas 6314a12b 2012-07-04T23:53:55 Initially enable support for nonce range support on bfl, splitting nonces up into 3/4 size and only disable it if it fails on work submit.
Con Kolivas 96fba30b 2012-07-04T17:31:02 Attempt to detect nonce range support in BFL by sending work requring its support.
Con Kolivas a9746b9f 2012-07-04T16:58:08 Limit retrying on busy for up to BITFORCE_TIMEOUT_MS
Con Kolivas 7046c976 2012-07-04T16:51:55 Attempt to initialise while bitforce device returns BUSY.
Con Kolivas ac8db06e 2012-07-04T16:41:28 Extend length of string that can be passed to BFL devices.
Con Kolivas 8b3c20bc 2012-07-04T16:28:51 Abstract out ms to timeval as a function.
Con Kolivas 93a7967e 2012-07-04T15:22:05 Fix signedness warning.
Paul Sheppard c4870676 2012-07-03T10:40:02 Add api stats (sleep time)
Paul Sheppard 6e6029de 2012-07-03T10:22:11 Timing tweaks Added long and short timeouts, short for detecting throttling, long to give up totally. Reset sleep time when device re-initialised Still check results after timeout Back up a larger time if result on first poll.
Kano ff0afb94 2012-07-03T13:14:30 Add API Notify counter 'Comms Error'
Con Kolivas 44726324 2012-07-03T11:09:33 More style police on bitforce.
Con Kolivas 8783db0d 2012-07-03T11:01:57 Do all logging outside of the bitforce mutex locking to avoid deadlocks.
Con Kolivas 0f405c7c 2012-07-03T10:59:37 Remove applog call from bfwrite to prevent grabbing nested mutexes.
Con Kolivas 978ec0d8 2012-07-03T10:58:30 Bitforce style changes.
Paul Sheppard ad5b470b 2012-07-02T14:27:19 Fine-tune timing adjustment. Also remove old work_restart timing.
Paul Sheppard ce850883 2012-07-01T23:39:09 Merge branch 'master' of git://github.com/ckolivas/cgminer.git Conflicts: driver-bitforce.c
Paul Sheppard cc0ad5ea 2012-07-01T23:35:06 Merge branch 'master' of git://github.com/ckolivas/cgminer.git Conflicts: driver-bitforce.c
ckolivas 391e1f7e 2012-07-02T16:13:53 Restart is zeroed in the mining thread so no need to do it inside the bitforce code.
Paul Sheppard 04a6c3b1 2012-07-01T21:47:18 More improvements to comms. BFL return nothing when throttling, so should not be considered an error. Instead repeat with a longer delay.
ckolivas efcce5bb 2012-07-02T11:30:20 Remove unused tdiff value.
ckolivas b1cdacde 2012-07-02T11:28:26 Polling every 10ms there's not much point checking the pthread_cond_timedwait as it just adds overhead. Simply check the value of work_restart in the bfl main polling loop.
ckolivas fd7b21ed 2012-07-02T10:54:20 Use a pthread conditional that is broadcast whenever work restarts are required. Create a generic wait function waiting a specified time on that conditional that returns if the condition is met or a specified time passed to it has elapsed. Use this to do smarter polling in bitforce to abort work, queue more work, and check for results to minimise time spent working needlessly.
Paul Sheppard 855d1bb3 2012-07-01T17:35:53 Add busy time to wait time.
Paul Sheppard a11a322b 2012-06-30T20:45:08 Add tiny delay after writing to BFL Change BFL errors to something more human readable Send work busy re-tries after 10ms delay
Paul Sheppard adc26f0e 2012-06-29T17:20:57 Add facility to clear BFL read buffer. Reduce timeout to 10s.