driver-bitforce.c


Log

Author Commit Date CI Message
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.
Paul Sheppard 75a651c1 2012-06-28T16:08:10 Revert "Check for submit_stale before checking for work_restart" Makes no sense to continue working on the old block whether submit_stale is enabled or not.
Paul Sheppard f2253929 2012-06-28T08:20:45 Add low hash threshold in sick/dead processing Add check for fd in comms procedures
Paul Sheppard 01a7e912 2012-06-27T08:25:25 Lock comms around entire bitforce_init, and move setting of fd to end. Make sleep occur everytime in scanhash.
Paul Sheppard d3e2b62c 2012-06-26T14:45:48 Change sick/dead processing to use device pointer, not gpu array. Change BFL timing to adjust only when hashing complete (not error/idle etc.).
Paul Sheppard 1ef52e0b 2012-06-25T19:23:10 Check for submit_stale before checking for work_restart (to keep Kano happy)
Paul Sheppard f149aea9 2012-06-25T10:33:18 Redo recover removal. FML.
Paul Sheppard 90d82aa6 2012-06-25T10:27:08 Revert to pre pool merge
Paul Sheppard 50e996c7 2012-06-25T10:01:34 Get rid of recover mode. Not useful at all. Change zero hash to no start error. Neither is accurate, but zero hash makes less sense than no start.
Paul Sheppard e0370281 2012-06-19T10:40:00 Merge branch 'master' of https://github.com/ckolivas/cgminer.git Conflicts: driver-bitforce.c
Paul Sheppard 9bc95ab3 2012-06-19T10:36:24 Comms error trapping Comms error will not disable the device permanently but put it in to recovery mode. Here it will attempt to be re-initialised after 60s.
Paul Sheppard 68f2aaf9 2012-06-15T16:43:05 fix bitforce_init return value Also add filename as kernel name
Kano 4dee0d04 2012-06-05T13:30:40 FPGA - allow device detect override without an open failure
Paul Sheppard 4fd53c9e 2012-06-14T00:04:37 thread init fix
Paul Sheppard 2ec612e0 2012-06-13T17:26:37 Added startup delay to worker threads. Prevents devices from making calls at the same time.
Paul Sheppard 1b63a75d 2012-06-13T12:26:03 Simple auto sleep-time calibration. Optimises the sleep time while waiting for the BFL work to finish. Takes ~5 mins to settle to the correct time for each unit, then will continue to make adjustments.
Paul Sheppard 2384d0fb 2012-06-12T18:20:18 Removed idle mode... again!? Changed work_reset rate to every 100ms & use defines rather than numerics. Change total sleep time to 4300ms after performance testing/measurement (now good to 916MH/s). Changed timeout to 15s - Throttle time is 15s. Added support for 'Busy' when submitting work. Improved logging text to include device identifier. Added a thread_enable api function, called when a thread is re-enabled. ... and removed useless re-init inside scanhash. Use modminer introduced mutex.
Paul Sheppard 861388f9 2012-06-12T09:04:42 Merge branch 'master' of https://github.com/ckolivas/cgminer.git