Paul Sheppard
953ecd9e6a
Change timeouts to time-vals for accuracy.
2012-07-08 23:25:02 -07:00
Paul Sheppard
6c3d331869
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
2012-07-08 22:36:42 -07:00
Con Kolivas
2ce7f28bbc
Merge pull request #254 from luke-jr/work_restart2
...
Turn work_restart array into a bool in thr_info
2012-07-08 04:24:55 -07:00
Paul Sheppard
19b4d2b9de
More BFL tweaks.
...
Add delay between closing and reopening port.
Remove buffer clear in re-init
Add kernel type (mini-rig or single)
2012-07-06 11:57:53 -07:00
Con Kolivas
957d196180
Make long timeout 10seconds on bitforce for when usleep or nanosleep just can't be accurate...
2012-07-06 20:23:26 +10:00
Con Kolivas
57e38d059e
Make disabling BFL nonce range support a warning since it has to be explicitly enabled on the command line now.
2012-07-06 18:41:25 +10:00
Con Kolivas
fd55fab96a
Make bitforce nonce range support a command line option --bfl-range since enabling it decrease hashrate by 1%.
2012-07-06 16:54:00 +10:00
Con Kolivas
b8484956e6
Add sanity checking to make sure we don't make sleep_ms less than 0 in bitforce.
2012-07-06 16:46:39 +10:00
Luke Dashjr
d4af2d0535
Turn work_restart array into a bool in thr_info
2012-07-06 05:13:05 +00:00
Con Kolivas
e97adc91c3
The fastest minirig devices need a significantly smaller starting sleep time.
2012-07-06 15:09:39 +10:00
Con Kolivas
74b96d4b3f
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.
2012-07-06 15:05:38 +10:00
Con Kolivas
13cf568961
Use nmsleep instead of usleep in bitforce.
2012-07-06 15:03:31 +10:00
Con Kolivas
390d77a202
Add more comments explaining how sleep time equals wait time and simplify the
...
comparison.
2012-07-06 10:41:08 +10:00
Con Kolivas
69a11508a4
delay_time_ms is always set so need not be initialised in bitforce.
2012-07-06 10:35:18 +10:00
Con Kolivas
9e8726b109
Increase bitforce timeout to 10 seconds.
2012-07-06 10:09:02 +10:00
Con Kolivas
a3faf63c96
Add more hysteresis and poll ~5 times to allow for timer delays in bitforce devices.
2012-07-06 09:54:27 +10:00
Con Kolivas
afc6ae58a5
Change message about broken nonce range support to verbose level instead of debug.
2012-07-05 22:42:04 +10:00
Con Kolivas
86ba7d79df
Display the actual duration of wait when it is greater than the cutoff.
2012-07-05 22:39:41 +10:00
Con Kolivas
5a096c1c13
Set nonce to maximum once we determine nonce range support is broken.
2012-07-05 22:39:11 +10:00
Con Kolivas
88dd599f34
Initial wait time is always known so no need to zero it beforehand in bitforce.
2012-07-05 22:33:21 +10:00
Con Kolivas
1b0a0ac5db
No point counting wait time until the work is actually sent to bitforce devices.
2012-07-05 22:32:05 +10:00
Con Kolivas
c0c480609d
Use string comparison functions elsewhere in bitforce code.
2012-07-05 21:51:42 +10:00
Con Kolivas
d4e526c9fe
Use string comparison functions instead of explicit comparisons.
2012-07-05 21:29:06 +10:00
Con Kolivas
23841337dc
Show device id in debug when disabling nonce range.
2012-07-05 20:47:43 +10:00
Con Kolivas
9e10a6c016
Account for wait_ms time when nonce_range is in use on BFL.
2012-07-05 20:42:19 +10:00
Con Kolivas
9d9963b088
Split nonces up into 1/5 chunks when nonce range is supported.
2012-07-05 17:15:18 +10:00
Con Kolivas
274a40115e
Merge branch 'master' into mr
2012-07-05 16:45:05 +10:00
Paul Sheppard
1ee191a726
limit clear buffer iterations.
2012-07-04 23:31:42 -07:00
Paul Sheppard
2aa95ab812
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
2012-07-04 18:48:27 -07:00
Paul Sheppard
54f8554af4
Ad fd check to clear buffer.
2012-07-04 18:46:41 -07:00
Con Kolivas
72777f1f38
Disable nonce range support in BFL when broken support is detected.
2012-07-05 09:34:20 +10:00
Con Kolivas
96183bbdf4
Minor bfl tidy.
2012-07-05 09:21:46 +10:00
Con Kolivas
75eca07823
Restart_wait is only called with a ms value so incorporate that into the function.
2012-07-05 09:15:21 +10:00
Con Kolivas
e5aba76042
Fix off-by-one error in nonce increment in bfl.
2012-07-05 00:40:01 +10:00
Con Kolivas
ba5c1fc07d
Use BE when setting nonce in bitforce nonce range work.
2012-07-05 00:22:42 +10:00
Con Kolivas
d6a6d70f4b
Set work blk nonce after work is queued to prevent duplicates.
2012-07-05 00:18:58 +10:00
Con Kolivas
870ba0c70e
Revert "Loop in bitforce scanhash till end nonce reaches full nonce range."
...
This reverts commit e10aa2092b
.
2012-07-05 00:17:35 +10:00
Con Kolivas
e10aa2092b
Loop in bitforce scanhash till end nonce reaches full nonce range.
2012-07-05 00:14:04 +10:00
Con Kolivas
1f2e9a49f4
Enable nonce range in the normal init sequence for bfl.
2012-07-05 00:08:33 +10:00
Con Kolivas
8766bca4d4
Queue extra work at 2/3 differently depending on whether we're using nonce range or not.
2012-07-04 23:57:54 +10:00
Con Kolivas
6314a12b31
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.
2012-07-04 23:53:55 +10:00
Con Kolivas
96fba30b6b
Attempt to detect nonce range support in BFL by sending work requring its support.
2012-07-04 17:31:02 +10:00
Con Kolivas
a9746b9f5e
Limit retrying on busy for up to BITFORCE_TIMEOUT_MS
2012-07-04 16:58:08 +10:00
Con Kolivas
7046c976bc
Attempt to initialise while bitforce device returns BUSY.
2012-07-04 16:51:55 +10:00
Con Kolivas
ac8db06e46
Extend length of string that can be passed to BFL devices.
2012-07-04 16:41:28 +10:00
Con Kolivas
8b3c20bc06
Abstract out ms to timeval as a function.
2012-07-04 16:28:51 +10:00
Con Kolivas
93a7967ecb
Fix signedness warning.
2012-07-04 15:22:05 +10:00
Paul Sheppard
c4870676c4
Add api stats (sleep time)
2012-07-03 10:40:02 -07:00
Paul Sheppard
6e6029de99
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.
2012-07-03 10:22:11 -07:00
Kano
ff0afb94ec
Add API Notify counter 'Comms Error'
2012-07-03 13:14:30 +10:00
Con Kolivas
44726324c2
More style police on bitforce.
2012-07-03 11:09:33 +10:00
Con Kolivas
8783db0dc3
Do all logging outside of the bitforce mutex locking to avoid deadlocks.
2012-07-03 11:01:57 +10:00
Con Kolivas
0f405c7c18
Remove applog call from bfwrite to prevent grabbing nested mutexes.
2012-07-03 10:59:37 +10:00
Con Kolivas
978ec0d805
Bitforce style changes.
2012-07-03 10:58:30 +10:00
Paul Sheppard
ad5b470b04
Fine-tune timing adjustment.
...
Also remove old work_restart timing.
2012-07-02 14:27:19 -07:00
Paul Sheppard
ce850883e7
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
...
Conflicts:
driver-bitforce.c
2012-07-01 23:39:09 -07:00
Paul Sheppard
cc0ad5eaa7
Merge branch 'master' of git://github.com/ckolivas/cgminer.git
...
Conflicts:
driver-bitforce.c
2012-07-01 23:35:06 -07:00
ckolivas
391e1f7eb1
Restart is zeroed in the mining thread so no need to do it inside the bitforce code.
2012-07-02 16:13:53 +10:00
Paul Sheppard
04a6c3b188
More improvements to comms.
...
BFL return nothing when throttling, so should not be considered an error. Instead repeat with a longer delay.
2012-07-01 21:47:18 -07:00
ckolivas
efcce5bbb8
Remove unused tdiff value.
2012-07-02 11:30:20 +10:00
ckolivas
b1cdacdead
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.
2012-07-02 11:28:26 +10:00
ckolivas
fd7b21ed56
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.
2012-07-02 10:54:20 +10:00
Paul Sheppard
855d1bb3e3
Add busy time to wait time.
2012-07-01 17:35:53 -07:00
Paul Sheppard
a11a322ba6
Add tiny delay after writing to BFL
...
Change BFL errors to something more human readable
Send work busy re-tries after 10ms delay
2012-06-30 20:45:08 -07:00
Paul Sheppard
adc26f0e3f
Add facility to clear BFL read buffer.
...
Reduce timeout to 10s.
2012-06-29 17:20:57 -07:00
Paul Sheppard
75a651c13f
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.
2012-06-28 16:08:10 -07:00
Paul Sheppard
f225392990
Add low hash threshold in sick/dead processing
...
Add check for fd in comms procedures
2012-06-28 08:20:45 -07:00
Paul Sheppard
01a7e912c8
Lock comms around entire bitforce_init, and move setting of fd to end.
...
Make sleep occur everytime in scanhash.
2012-06-27 08:25:25 -07:00
Paul Sheppard
d3e2b62c54
Change sick/dead processing to use device pointer, not gpu array.
...
Change BFL timing to adjust only when hashing complete (not error/idle etc.).
2012-06-26 14:45:48 -07:00
Paul Sheppard
1ef52e0bac
Check for submit_stale before checking for work_restart
...
(to keep Kano happy)
2012-06-25 19:23:10 -07:00
Paul Sheppard
f149aea91e
Redo recover removal.
...
FML.
2012-06-25 10:33:18 -07:00
Paul Sheppard
90d82aa61d
Revert to pre pool merge
2012-06-25 10:27:08 -07:00
Paul Sheppard
50e996c753
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.
2012-06-25 10:01:34 -07:00
Paul Sheppard
e037028159
Merge branch 'master' of https://github.com/ckolivas/cgminer.git
...
Conflicts:
driver-bitforce.c
2012-06-19 10:40:00 -07:00
Paul Sheppard
9bc95ab30b
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.
2012-06-19 10:36:24 -07:00
Paul Sheppard
68f2aaf930
fix bitforce_init return value
...
Also add filename as kernel name
2012-06-15 16:43:05 -07:00
Kano
4dee0d049c
FPGA - allow device detect override without an open failure
2012-06-14 15:10:02 +00:00
Paul Sheppard
4fd53c9eb1
thread init fix
2012-06-14 00:04:37 -07:00
Paul Sheppard
2ec612e0b4
Added startup delay to worker threads.
...
Prevents devices from making calls at the same time.
2012-06-13 17:26:37 -07:00
Paul Sheppard
1b63a75d2c
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.
2012-06-13 12:26:03 -07:00
Paul Sheppard
2384d0fbc6
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.
2012-06-12 18:20:18 -07:00
Paul Sheppard
861388f960
Merge branch 'master' of https://github.com/ckolivas/cgminer.git
2012-06-12 09:04:42 -07:00
Luke Dashjr
d3fa59d76f
Abstract generally useful FPGA code into fpgautils.c
2012-06-12 02:35:45 +00:00
Paul Sheppard
2dd7c4e1c0
Added checking of work_reset while waiting for BFL to return results
2012-06-11 13:17:59 -07:00
Paul Sheppard
4889d7ecb2
Merge branch 'master' of git@github.com:pshep/cgminer.git
...
Conflicts:
driver-bitforce.c
2012-06-11 13:09:27 -07:00
Paul Sheppard
820d662c9d
Removed idle mode.
...
Added watchdog thread BFL temperature monitoring.
2012-06-10 23:11:59 -07:00
Paul Sheppard
036a97c21a
Added bitforce init and shutdown.
...
bitforce_init closes/reopens the com port and re-initialises the unit.
2012-06-09 20:03:18 -07:00
Paul Sheppard
ec394533a2
Idle mode for bitforce
2012-06-09 19:47:54 -07:00
Paul Sheppard
ed06c97e2e
Added 30s BFL hashing timeout
2012-06-09 19:12:29 -07:00
Paul Sheppard
652326c2a1
Scanhash split into separate functions
...
Some adjustment of log reporting
2012-06-09 19:08:10 -07:00
Paul Sheppard
8d2936730b
Fix return values
2012-05-22 15:35:10 -07:00
Paul Sheppard
cebd647f50
Messing with BFL code
2012-05-22 08:10:00 -07:00
Paul Sheppard
4db47aa57a
Return error if BFL take longer then 10s
2012-05-18 17:41:18 -07:00
Luke Dashjr
06023e549e
Bugfix: Return failure, rather than quit, if BFwrite fails
2012-05-03 10:49:42 +10:00
Kano
20676694f3
Ensure everyone sees the same screen/api name as the previous version for Bitforce
2012-04-23 18:07:13 +10:00
Luke Dashjr
0f74ba059e
Implement and document "-S noauto" to inhibit autoscanning without specifying a serial device
2012-04-22 01:03:38 -04:00
Luke Dashjr
b8778839e9
Merge branch 'master' into unify_drivers
...
Conflicts:
cgminer.c
2012-04-21 02:36:19 -04:00
Luke Dashjr
f05a319e01
CGPU API for device names
2012-03-18 21:32:01 -04:00
Luke Dashjr
303dbf4664
Abstract add_cgpu function, to handle device id numbering and devices array
2012-03-18 20:09:03 -04:00
Luke Dashjr
e131dfab31
Unify drivers as driver-*.c and add driver name to API
2012-03-13 12:18:23 -04:00