driver-bitforce.c


Log

Author Commit Date CI Message
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.
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
Luke Dashjr d3fa59d7 2012-06-05T02:17:09 Abstract generally useful FPGA code into fpgautils.c
Paul Sheppard 2dd7c4e1 2012-06-11T13:17:59 Added checking of work_reset while waiting for BFL to return results
Paul Sheppard 4889d7ec 2012-06-11T13:09:27 Merge branch 'master' of git@github.com:pshep/cgminer.git Conflicts: driver-bitforce.c
Paul Sheppard 820d662c 2012-06-10T23:11:59 Removed idle mode. Added watchdog thread BFL temperature monitoring.
Paul Sheppard 036a97c2 2012-06-09T20:03:18 Added bitforce init and shutdown. bitforce_init closes/reopens the com port and re-initialises the unit.
Paul Sheppard ec394533 2012-06-09T19:47:54 Idle mode for bitforce
Paul Sheppard ed06c97e 2012-06-09T19:12:29 Added 30s BFL hashing timeout
Paul Sheppard 652326c2 2012-06-09T19:08:10 Scanhash split into separate functions Some adjustment of log reporting
Paul Sheppard 8d293673 2012-05-22T15:35:10 Fix return values
Paul Sheppard cebd647f 2012-05-22T08:10:00 Messing with BFL code
Paul Sheppard 4db47aa5 2012-05-18T17:41:18 Return error if BFL take longer then 10s
Luke Dashjr 06023e54 2012-05-02T10:34:31 Bugfix: Return failure, rather than quit, if BFwrite fails
Kano 20676694 2012-04-23T18:07:13 Ensure everyone sees the same screen/api name as the previous version for Bitforce
Luke Dashjr 0f74ba05 2012-04-22T00:57:59 Implement and document "-S noauto" to inhibit autoscanning without specifying a serial device
Luke Dashjr b8778839 2012-04-21T02:36:19 Merge branch 'master' into unify_drivers Conflicts: cgminer.c
Luke Dashjr f05a319e 2012-03-18T21:06:47 CGPU API for device names
Luke Dashjr 303dbf46 2012-03-18T20:09:03 Abstract add_cgpu function, to handle device id numbering and devices array
Luke Dashjr e131dfab 2012-03-13T12:18:23 Unify drivers as driver-*.c and add driver name to API