Con Kolivas
|
36b556aa66
|
Set the avalon idle frequency to lowest if avalon auto is enabled and we have an overheat condition.
|
2013-07-01 15:15:36 +10:00 |
|
Con Kolivas
|
ce214e1270
|
Decrease avalon frequency in auto mode if we are unable to maintain the temperature in the optimal range.
|
2013-07-01 15:10:56 +10:00 |
|
Con Kolivas
|
d7c99cd116
|
Use a more conservative upper limit of 1% for hardware errors with avalon auto frequency.
|
2013-07-01 10:43:33 +10:00 |
|
Con Kolivas
|
f142a4de23
|
Allow the avalon fanspeed range to be passed as parameter on the command line, default to 20-100%
|
2013-07-01 10:41:22 +10:00 |
|
Con Kolivas
|
34547596b3
|
Support all avalon frequencies on the command line.
|
2013-06-27 08:26:53 +10:00 |
|
Con Kolivas
|
18f9112e48
|
Reset the other auto counters in avalon when idling a device.
|
2013-06-26 21:46:58 +10:00 |
|
Con Kolivas
|
e811c4dc77
|
Add an avalon-auto option which enables dynamic overclocking based on hardware error rate for maximum effective hashrate.
|
2013-06-26 00:15:04 +10:00 |
|
Con Kolivas
|
9b45daba6b
|
Add an --avalon-cutoff feature which puts the avalon idle should it reach this temperature, defaulting to 60, re-enabling it when it gets to target temperature.
|
2013-06-25 19:39:42 +10:00 |
|
Con Kolivas
|
1fca632f7c
|
Add an --avalon-temp option to allow a user specified target temperature.
|
2013-06-24 11:04:02 +10:00 |
|
Con Kolivas
|
6bdfed3db4
|
Demote no matching work message to verbose logging only on avalon.
|
2013-06-24 10:39:41 +10:00 |
|
Con Kolivas
|
6cc09aa1e9
|
Make the fan control on the avalon a simple PID controller with a target temperature of 45.
|
2013-06-24 10:38:47 +10:00 |
|
Con Kolivas
|
c64d95f267
|
Support new overclocking speeds for avalon: 325, 350 and 375
|
2013-06-21 21:59:44 +10:00 |
|
Con Kolivas
|
df81ce6784
|
Use the nusleep function for sleeping after sending work in avalon.
|
2013-06-21 18:17:34 +10:00 |
|
Con Kolivas
|
a36e55b754
|
Set the avalon preferred packet size to 512.
|
2013-06-21 17:39:26 +10:00 |
|
Con Kolivas
|
581afcf9ab
|
Use only one cgsem in avalon signalling when the write thread should commit work by reading the status bytes off during an avalon_read, minimising the number of usb calls and resetting from only one place.
|
2013-06-21 11:18:00 +10:00 |
|
Con Kolivas
|
cf13d02d5f
|
Change avalon no valid work message to no matching work to match API terminology.
|
2013-06-21 11:03:03 +10:00 |
|
Con Kolivas
|
7c683cf2b1
|
Use low latency usb transfers on the avalon, sleeping up to half a buffer's worth only if no data is returning to increase hashrate, abolish lost work and decrease CPU.
|
2013-06-21 10:59:55 +10:00 |
|
Con Kolivas
|
e487d3d2f0
|
Minimise the sleep times in avalon read to avoid result loss.
|
2013-06-21 01:58:18 +10:00 |
|
Con Kolivas
|
b810dea33b
|
Revert "Sleep for less time in wait_avalon_ready till we have a better signalling system from read thread to write."
This reverts commit 98862b4f46 .
|
2013-06-21 01:32:41 +10:00 |
|
Con Kolivas
|
7e6cbf080e
|
Use a half nonce range before cycling through avalon's scanwork to ensure it gets a chance to fill work if time is tight for the write thread to signal a wakeup.
|
2013-06-21 01:23:38 +10:00 |
|
Con Kolivas
|
98862b4f46
|
Sleep for less time in wait_avalon_ready till we have a better signalling system from read thread to write.
|
2013-06-20 23:59:17 +10:00 |
|
Kano
|
7eba963477
|
remove varargs from logging/quit/in general as much as possible
|
2013-06-15 22:03:56 +10:00 |
|
Con Kolivas
|
bd6bc6bd23
|
Decrease the sleep duration before reading in avalon to not let the read buffer overflow.
|
2013-06-13 16:13:52 +10:00 |
|
Con Kolivas
|
9604cbee98
|
Sleep if the avalon buffer is empty and we've requested a read to allow the write thread to take precedence.
|
2013-06-13 13:59:17 +10:00 |
|
Con Kolivas
|
261b1299ac
|
Add the cgpu_info structure before avalon reset.
|
2013-06-13 13:01:27 +10:00 |
|
Kano
|
b8b137aeef
|
USB make device_path handled by usbutils
|
2013-06-10 15:59:02 +10:00 |
|
Kano
|
749fa78d8a
|
tidy up free in device detect functions
|
2013-06-10 15:39:44 +10:00 |
|
Kano
|
9287ee90f6
|
USB control creation and free of cgpu
|
2013-06-10 15:22:37 +10:00 |
|
Con Kolivas
|
059aa5abb2
|
Shorten the avalon statline to fit in the curses interface and show the lowest speed fan cooling the asic devices.
|
2013-06-07 08:52:58 +10:00 |
|
ckolivas
|
b59c33800b
|
Implement cgminer specific cgsem semaphores to imitate unnamed semaphore behaviour on osx which does not support them.
|
2013-06-06 13:08:00 +10:00 |
|
Con Kolivas
|
5e94a97223
|
Set the avalon read transfer latency to avoid sleeping when no data is returned after very short latency settings.
|
2013-06-04 23:31:26 +10:00 |
|
Con Kolivas
|
a60a1b0fce
|
Break out of idling loop in avalon_idle if the buffer is full.
|
2013-05-30 16:35:58 +10:00 |
|
Con Kolivas
|
c0c5c060bd
|
Provide some defaults for avalon if none are specified and do not try to claim the device if it fails to reset with them and no options are specified.
|
2013-05-30 16:32:12 +10:00 |
|
Con Kolivas
|
dfab6a98af
|
Avalon fan factor is already multiplied into the info values.
|
2013-05-30 10:18:09 +10:00 |
|
Con Kolivas
|
06b9e0c4d9
|
Get rid of zeros which corrupt display.
|
2013-05-30 10:16:04 +10:00 |
|
Con Kolivas
|
2373638399
|
Logic fail on minimum fanspeed reporting.
|
2013-05-30 10:14:10 +10:00 |
|
Con Kolivas
|
8bbb1793f7
|
Provide a workaround for fan0 sensor not being used on avalon and pad fan RPM with zeros.
|
2013-05-30 10:12:14 +10:00 |
|
Con Kolivas
|
86b59c4724
|
Add ambient temp and lowest fan RPM information to avalon statline.
|
2013-05-30 10:05:16 +10:00 |
|
Con Kolivas
|
6dcdd543cb
|
Display max temperature and fanspeed data for avalon.
|
2013-05-30 09:22:35 +10:00 |
|
Con Kolivas
|
a10371b98e
|
Shut down the avalon mining thread if the device disappears.
|
2013-05-29 23:03:32 +10:00 |
|
ckolivas
|
173119d59b
|
Use the cgpu_info shutdown to determine when to stop the avalon read and write threads.
|
2013-05-29 11:49:10 +10:00 |
|
ckolivas
|
60bb463cf1
|
Use semaphores to signal a reset to pause the read thread while the write thread does the actual reset, making all writes come from the same place.
|
2013-05-29 11:45:47 +10:00 |
|
ckolivas
|
2f4280b4a2
|
Remove now unneeded fgpautils.h include from avalon.
|
2013-05-29 09:19:34 +10:00 |
|
Con Kolivas
|
0177b41010
|
Use the USB wrappers for avalon, telling usbutils that we want the raw data.
|
2013-05-29 00:33:56 +10:00 |
|
Con Kolivas
|
d1337427fd
|
Use separate ep for avalon tasks vs avalon reset and do not loop in write indefinitely.
|
2013-05-29 00:15:30 +10:00 |
|
Con Kolivas
|
772b354ea9
|
Remove unneeded function and checks in avalon write code.
|
2013-05-28 23:59:07 +10:00 |
|
Con Kolivas
|
33e83eb764
|
work_restart is reset within the queued hash work loop.
|
2013-05-28 23:54:16 +10:00 |
|
Con Kolivas
|
5900c0244d
|
Fix avalon shutdown sequence.
|
2013-05-28 23:48:26 +10:00 |
|
Con Kolivas
|
7c645ffda9
|
Use nusleep in avalon_get_results in place of nmsleep.
|
2013-05-28 23:02:29 +10:00 |
|
Con Kolivas
|
7740ed839a
|
Give a buffer of perceived results in avalon during idle periods to allow for results once it becomes active again.
|
2013-05-28 21:15:33 +10:00 |
|
Con Kolivas
|
7ef11e2b3d
|
Set the read and write threads for avalon to not cancel within libusb functions and wait for the threads to pthread_join on shutdown.
|
2013-05-27 21:02:32 +10:00 |
|
Con Kolivas
|
7506e499b9
|
Offset needs to be incremented after avalon reads.
|
2013-05-27 20:37:21 +10:00 |
|
Con Kolivas
|
7748c46943
|
Make the avalon_read function parse the ftdi responses appopriately.
|
2013-05-27 20:29:35 +10:00 |
|
Con Kolivas
|
2a222ecffa
|
Use the avalon read timeout to completion if no data has been read.
|
2013-05-27 20:04:12 +10:00 |
|
Con Kolivas
|
e255f74763
|
wait_avalon_ready should only be used before writes.
|
2013-05-27 19:55:02 +10:00 |
|
Con Kolivas
|
51a44fa779
|
Ask for the correct amount to read in avalon get results.
|
2013-05-27 17:52:34 +10:00 |
|
Con Kolivas
|
0316592b95
|
Spawn the avalon read thread first with info->reset set to discard any data till work is adequately queued.
|
2013-05-27 17:48:54 +10:00 |
|
Con Kolivas
|
6ce6cd547e
|
Use direct usb read commands to avoid ftdi data being automatically cut off in avalon reads.
|
2013-05-27 17:42:51 +10:00 |
|
Con Kolivas
|
b73ab48814
|
Do a simple usb_read_once for the avalon result from a reset command.
|
2013-05-27 17:28:49 +10:00 |
|
Con Kolivas
|
f1ffe9860b
|
Make sure avalon is ready to receive more usb commands before sending them.
|
2013-05-27 17:18:49 +10:00 |
|
Con Kolivas
|
a32e521d0a
|
Implement avalon_ready and avalon_wait_ready functions for when usb is ready to receive commands.
|
2013-05-27 17:17:42 +10:00 |
|
Con Kolivas
|
7ad8af19b9
|
avalon_read should not loop but just return whatever it has succeeded in reading.
|
2013-05-27 17:08:06 +10:00 |
|
Con Kolivas
|
2c633fdbe4
|
Set avalon_info to device data void struct.
|
2013-05-27 15:54:07 +10:00 |
|
Con Kolivas
|
c478b302ce
|
Specify avalon in avalon_reset.
|
2013-05-27 15:48:54 +10:00 |
|
Con Kolivas
|
269a8de977
|
First pass rewriting serialdev into direct usb dev for avalon driver.
|
2013-05-27 15:43:22 +10:00 |
|
Con Kolivas
|
9650bfd6a3
|
Compile usbutils into avalon driver.
|
2013-05-27 14:58:08 +10:00 |
|
Con Kolivas
|
8595f3bd74
|
Check results come in at least at 2/3 the rate they should be on avalon and if not, reset it.
|
2013-05-27 13:41:57 +10:00 |
|
Con Kolivas
|
91edf84c60
|
Give a warning but don't reset if the avalon buffer is full early.
|
2013-05-27 12:39:32 +10:00 |
|
Con Kolivas
|
abfaf36112
|
Discard any reads obtained from the avalon get results thread during a reset.
|
2013-05-27 12:30:13 +10:00 |
|
Con Kolivas
|
c1dd052596
|
Differentiate initial reset in avalon from subsequent ones.
|
2013-05-27 12:20:34 +10:00 |
|
Con Kolivas
|
589e08772e
|
Perform a mandatory reset if the avalon buffer signals it's full before it has queued its normal quota of work.
|
2013-05-27 11:11:44 +10:00 |
|
Con Kolivas
|
b790153990
|
Wait till buffer is cleared after sending idle tasks to avalon before returning from avalon_idle.
|
2013-05-27 01:33:54 +10:00 |
|
Con Kolivas
|
f164446282
|
Lock qlock mutex during reset from read thread in avalon to prevent more work being sent till the reset is over.
|
2013-05-27 01:32:31 +10:00 |
|
Con Kolivas
|
499b25068c
|
Reset avalon if we continue to be unable to send all the work items.
|
2013-05-27 01:29:57 +10:00 |
|
Con Kolivas
|
b2b594b80e
|
Revert "Don't reset result counter to zero if it's negative in avalon on just one successful share."
This reverts commit ce0a9cd3a4 .
This wasn't the problem.
|
2013-05-27 00:53:24 +10:00 |
|
Con Kolivas
|
ce0a9cd3a4
|
Don't reset result counter to zero if it's negative in avalon on just one successful share.
|
2013-05-27 00:28:56 +10:00 |
|
Con Kolivas
|
4c3fe39e94
|
Add avalon reset response to debugging output.
|
2013-05-26 21:50:31 +10:00 |
|
Con Kolivas
|
d0132a7702
|
Do a wait_avalon_ready before sending a reset code.
|
2013-05-26 21:34:53 +10:00 |
|
Con Kolivas
|
1f493d6462
|
Iterate over spare bytes in the avalon result returned from a reset request trying to find the beginning of the reset.
|
2013-05-26 21:30:55 +10:00 |
|
Con Kolivas
|
467d149785
|
Idle avalon after reset.
|
2013-05-26 21:21:11 +10:00 |
|
Con Kolivas
|
1ef027c444
|
Check for nothing but consecutive bad results on avalon and reset the FPGA if it happens.
|
2013-05-26 21:14:17 +10:00 |
|
Con Kolivas
|
e90cf62af1
|
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.
|
2013-05-26 17:07:27 +10:00 |
|
Con Kolivas
|
0a9d7ca6b3
|
Implement an avalon_flush_work function for work restarts.
|
2013-05-26 16:46:43 +10:00 |
|
Con Kolivas
|
3c39d75fc9
|
Shut down avalon read and write threads and idle the miners on closing it.
|
2013-05-26 16:26:42 +10:00 |
|
Con Kolivas
|
db7c72b892
|
Rotate avalon array to reset the queued count before releasing the lock so work will always be available on next pass.
|
2013-05-26 14:59:05 +10:00 |
|
Con Kolivas
|
66e27a10c5
|
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.
|
2013-05-26 14:37:45 +10:00 |
|
Con Kolivas
|
0763070cb0
|
Wait till the avalon_send_tasks thread has filled the avalon with idle work before starting the avalon_get_results thread.
|
2013-05-26 14:29:28 +10:00 |
|
Con Kolivas
|
7cf154bfa5
|
Use AVA_GETS_OK macro in avalon_read.
|
2013-05-26 14:23:14 +10:00 |
|
Con Kolivas
|
ebf885520d
|
Do all writes on avalon with a select() timeout to prevent indefinite blocking and loop if less than desired is written.
|
2013-05-26 14:18:21 +10:00 |
|
Con Kolivas
|
596784aaf3
|
Check explicitly that ava_buffer_full equals the macro.
|
2013-05-26 14:08:21 +10:00 |
|
Con Kolivas
|
e9e6ad821d
|
Send initial reset as an avalon task to remove avalon_write function.
|
2013-05-26 13:58:12 +10:00 |
|
Con Kolivas
|
e27ca54408
|
avalon_clear_readbuf is no longer required.
|
2013-05-26 13:53:02 +10:00 |
|
Con Kolivas
|
7dc3485fc2
|
Check for 2 stray bytes on avalon reset.
|
2013-05-26 13:39:42 +10:00 |
|
Con Kolivas
|
629feb5f3f
|
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.
|
2013-05-26 13:16:19 +10:00 |
|
Con Kolivas
|
c87f4c303f
|
Give the avalon get results thread name the device number as well.
|
2013-05-26 09:04:24 +10:00 |
|
Con Kolivas
|
4076e6b36e
|
Make sure we're not adjusting temps on every successful work retrieval on avalon.
|
2013-05-26 08:57:02 +10:00 |
|
Con Kolivas
|
4784ecce75
|
Count missing work items from behind a successful work read in avalon as well.
|
2013-05-26 08:55:03 +10:00 |
|
Con Kolivas
|
70a3e885e0
|
Change message for work not found in avalon parser.
|
2013-05-26 08:42:41 +10:00 |
|
Con Kolivas
|
fba70ff593
|
Simplify debugging and only discard from avalon read buffer if at least one full result has been discarded.
|
2013-05-26 01:51:20 +10:00 |
|
Con Kolivas
|
7324a33b55
|
Only display discarded bytes in avalon if they're not used as nonces.
|
2013-05-26 01:38:51 +10:00 |
|