driver-avalon.c


Log

Author Commit Date CI Message
Con Kolivas 68d23521 2013-11-12T22:20:49 Return error codes in avalon_read() if they're not timeouts.
Con Kolivas 9bb1f17a 2013-11-12T20:42:27 Break out of the avalon idle loop if we get a send error.
Con Kolivas ec09fd6b 2013-11-11T21:22:47 We must chop up every 64 bytes returned on an ftdi chip, not just the first 2 bytes so revert to parsing the data internally in the avalon instead of using usbutils' simple ftdi parser.
Con Kolivas 56997327 2013-11-09T08:10:55 Unlock the avalon qlock while sending tasks to not hold the lock for an extended period.
Con Kolivas 74f3f9d6 2013-11-09T08:00:36 Sleep in avalon send task on return to the function to allow other code to work during the sleep period.
Con Kolivas c3f13369 2013-11-08T18:15:08 Do the driver flush in avalon code lockless since it can lead to deadlocks.
Con Kolivas 176747fb 2013-11-07T23:22:11 Check for fatal read errors and break out of the read loop in avalon.
Con Kolivas 79196e6a 2013-11-07T22:34:05 Send errors are basically fatal in avalon driver so break out of the send tasks loop.
Con Kolivas 79022974 2013-11-07T22:29:33 Make the avalon driver return -1 for hash count when usb fails, allowing the main loop code to send it the shutdown flag.
Con Kolivas 2dd7d2f6 2013-11-07T22:11:08 Use usbutils' own ftdi parser for avalon and the ftdir's own latency for managing timeouts since we can wait on reads with completely asynchronous reads+writes.
Con Kolivas 8cade649 2013-11-07T07:10:15 Give avalon a rest between submissions.
Con Kolivas f3d406ec 2013-11-06T22:22:43 Use usbutils' own cps function for slowing rate of usb writes on avalon.
Con Kolivas 82a97a04 2013-11-05T21:27:11 Avalon doesn't like losing its device data even after it's been unplugged.
Con Kolivas 31bbaa14 2013-11-05T21:21:57 Don't free the cgpu data on shutting down avalon driver.
Con Kolivas ce196049 2013-11-05T21:19:48 Clean up completely on avalon shutdown.
Con Kolivas a4c96d75 2013-11-05T21:09:08 Use cgsem timed waits in avalon driver to not miss any queued wake ups to account for async messages coming during a flush work.
Con Kolivas 8fb7a0d1 2013-11-04T08:45:09 Always use a usb read buffer instead of having to explicitly enable it.
Con Kolivas fc80e2fe 2013-11-03T20:31:04 Deprecate preferred packet size functions in usbutils since they're unhelpful.
Roy Badami 8795fbc2 2013-10-24T22:45:51 Remove modified Bitburner avalon defaults - I was mistaken about maximum stack size
Roy Badami 5d616770 2013-10-20T00:54:15 Code cleanup and improved documentation
Roy Badami c69a130d 2013-10-19T18:42:20 Improvements to support for BitBurner boards --bitburner-fury-options allows avalon-options to be overridden for BitBurner Fury Boards, facilitating simultanous use of BitBurner XX and BitBurner Fury boards More sensible defaults for BitBurner boards, so cgminer should do something sensible without any command line args
Chris Chua 5af1cfe3 2013-10-08T02:57:11 increasing max miners for avalon driver (properly this time)
Chris Chua b509e843 2013-10-03T20:11:37 using separate identifier for bitburner fury boards
Chris Chua 521e746b 2013-10-01T00:26:55 changes to bitburner driver for bitburner fury boards
Con Kolivas a5ed1771 2013-10-08T22:23:51 Revert "Further smooth out avalon hashrate by limiting the maximum number of nonces counted each cycle to 1 per miner, saving them for later cycles." This reverts commit 7be59992c121a61e56402cec21508e39401fad6c. Of dubious utility since a full nonce range is not scanned before loading more work.
Con Kolivas 7be59992 2013-10-08T22:17:00 Further smooth out avalon hashrate by limiting the maximum number of nonces counted each cycle to 1 per miner, saving them for later cycles.
Con Kolivas 39ec9518 2013-10-08T21:33:29 Enable the usb buffer in avalon driver.
ckolivas 6d747123 2013-09-28T15:11:06 Use macro expansion to iterate over all device drivers without needing to explicitly code in support in all places. Pass a hotplug bool to the detect() function to prevent opencl trying to hogplug GPUs.
ckolivas 741b7430 2013-09-28T14:00:18 Forward declare all device drivers in miner.h avoiding the need to export them everywhere else.
ckolivas 88751974 2013-09-28T10:25:48 Create a macro list of drivers to enable easier addition of further drivers.
Kano d3a3b3a7 2013-09-27T13:07:04 usbutils allow PrefPacketSize per endpoint
Kano c4b685cb 2013-09-26T20:56:24 avalon stats use exact type
Xiangfu 088a3403 2013-09-22T23:04:36 avalon: display the FPGA controller version on API
Kano a9faec4a 2013-09-14T01:20:21 change drivers to use usb_interface() - required for multi interface change
Kano 87e5c76f 2013-08-23T22:52:30 BTB show C/MHz/mV for device
Con Kolivas c56d44ce 2013-08-21T21:00:57 Use stack data for HW error% in avalon stats.
Con Kolivas 8a01f532 2013-08-21T20:46:07 Add avalon HW error% to stats and only show BTB variables if avalon is a BTB.
Con Kolivas eeac9d81 2013-08-20T19:23:49 Replace all references to the old n*sleep functions with the equivalent cgsleep_*s replacements.
Kano 96c0c317 2013-08-19T20:34:37 BTB get version from Firmware
Con Kolivas 09e9091d 2013-08-19T13:54:56 Simplify cgsleep code for windows by using a typedef for cgtimer_t that resolves to clock resolution, using that internally.
Con Kolivas 17447ec7 2013-08-18T11:59:02 Use the cgsleep reentrant function in avalon_send_task.
Con Kolivas c988587b 2013-08-18T11:48:42 Use the reentrant cgsleep functions within the avalon_send_tasks function.
Con Kolivas e784b230 2013-08-18T11:02:05 Use the reentrant cgsleep function to time sleeps on reading from avalon.
Con Kolivas 37ff9f84 2013-08-18T01:33:50 Add necessary time header include to avalon driver.
Con Kolivas 1864ed26 2013-08-18T00:47:05 Do a sleep of the full duration it would take to do all the work using clock_nanosleep in avalon_send_tasks to avoid sleep overruns before polling to see if it's ready.
Con Kolivas fe7c8e82 2013-08-18T00:39:13 Merge branch 'master' of github.com:ckolivas/cgminer
Con Kolivas 33bb8c79 2013-08-18T00:28:30 Use the us_to_timeval helper function in the avalon driver.
Con Kolivas 53beae81 2013-08-18T00:21:01 Use timeval_to_spec helper in avalon driver.
Chris Chua 26de6e64 2013-08-17T16:18:12 simplifying buffer full check
Chris Chua 0b9474f3 2013-08-17T15:36:47 forking bitburner write thread function
Chris Chua be0d899b 2013-08-16T17:00:56 making sure original Avalon is unaffected by BitBurner changes
Chris Chua 2b932ccb 2013-08-16T16:37:43 changes to queueing strategy for BitBurner boards
Con Kolivas 1bb6dd40 2013-08-16T13:57:54 Merge branch 'master' of github.com:ckolivas/cgminer
Con Kolivas f3f939dd 2013-08-16T13:57:07 Do not poll in avalon_get_results without sleeping if we have finished parsing a full result.
kanoi f3837916 2013-08-15T17:14:16 Merge pull request #476 from kanoi/master avalon for timeout allow d='calculate it' and fix uninitialised
Con Kolivas 61cb05a9 2013-08-16T09:55:45 Add c to ambient temperature display for avalon driver.
Kano 51aaf816 2013-08-15T10:57:02 avalon for timeout allow d='calculate it' and fix uninitialised
Con Kolivas 3fe89486 2013-08-14T23:04:10 Use cloned work when finding avalon results since another thread can discard the work item while it's in use.
Con Kolivas dd9233f7 2013-08-13T17:24:01 The write thread in avalon is only ever actually woken up by timeout so remove the write semaphore and use a simple sleep poll.
Con Kolivas b2a3941e 2013-08-13T15:36:52 Fix warning.
Con Kolivas 992a97a3 2013-08-13T14:52:17 Interrupting reads on the avalon to start writes loses data so remove the cgsem_post in the read code.
Kano b1f57595 2013-08-10T10:12:15 avalon init write_sem before use
Con Kolivas f7e67010 2013-08-10T01:11:23 Fix uninit variable warnings.
Kano b1a80cef 2013-08-08T00:20:19 avalon allow frequency to be set via the API
Kano 802737e8 2013-08-07T23:47:19 BTB voltage management via the API - and set default on startup
Kano ecc9457b 2013-08-07T21:25:33 Avalon BTB allow partial work to be transferred
Kano 6dabdff1 2013-08-06T11:13:48 avalon_cts use correct buffer
Chris Chua 782206ce 2013-07-29T22:20:56 using usb_ident
Chris Chua b8cdaea8 2013-07-29T21:53:14 forgot a return
Chris Chua b0f4d55b 2013-07-29T21:39:29 changes to Avalon driver for BitBurner boards
Kano ad1572f7 2013-07-06T20:17:17 size check get_datestamp/get_timestamp and remove unused cgpu->init
Kano 385a70be 2013-07-06T19:15:59 make all statline overflow safe
Con Kolivas a011fe51 2013-07-03T22:40:47 Check for a timeout in avalon_scanhash and post to the write sem if we receive one.
Con Kolivas 3b2f9ccb 2013-07-03T21:48:06 Decay result count in avalon more slowly to not falsely detect idle periods as low result return rates.
Con Kolivas 4b4a1354 2013-07-03T21:22:27 Count the number of miners idled in avalon to account more accurately for when its result return rate is too low.
Con Kolivas e13c580c 2013-07-03T20:56:56 Fix potential dereference when starting avalon with all new work.
Con Kolivas 18422fbf 2013-07-02T16:07:32 Only throttle avalon clockspeed in avalon_auto in non optimal temperature settings if the fanspeed has reached maximum.
Con Kolivas 3ef0db56 2013-07-02T09:02:40 Reinstate more aggressive <2% HW error target for avalon-auto
Con Kolivas 05344eff 2013-07-01T16:20:41 Set avalon fan min and fan max to PWM values instead of percentage.
Con Kolivas 065b6a5e 2013-07-01T15:38:15 Provide an --avalon-freq command line to give a valid range of frequencies for avalon in auto mode.
Con Kolivas 36b556aa 2013-07-01T15:15:36 Set the avalon idle frequency to lowest if avalon auto is enabled and we have an overheat condition.
Con Kolivas ce214e12 2013-07-01T15:10:56 Decrease avalon frequency in auto mode if we are unable to maintain the temperature in the optimal range.
Con Kolivas d7c99cd1 2013-07-01T10:43:33 Use a more conservative upper limit of 1% for hardware errors with avalon auto frequency.
Con Kolivas f142a4de 2013-07-01T10:41:22 Allow the avalon fanspeed range to be passed as parameter on the command line, default to 20-100%
Con Kolivas 34547596 2013-06-27T08:26:53 Support all avalon frequencies on the command line.
Con Kolivas 18f9112e 2013-06-26T21:46:58 Reset the other auto counters in avalon when idling a device.
Con Kolivas e811c4dc 2013-06-26T00:15:04 Add an avalon-auto option which enables dynamic overclocking based on hardware error rate for maximum effective hashrate.
Con Kolivas 9b45daba 2013-06-25T19:39:42 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.
Con Kolivas 1fca632f 2013-06-24T11:04:02 Add an --avalon-temp option to allow a user specified target temperature.
Con Kolivas 6bdfed3d 2013-06-24T10:39:41 Demote no matching work message to verbose logging only on avalon.
Con Kolivas 6cc09aa1 2013-06-24T10:38:47 Make the fan control on the avalon a simple PID controller with a target temperature of 45.
Con Kolivas c64d95f2 2013-06-21T21:59:44 Support new overclocking speeds for avalon: 325, 350 and 375
Con Kolivas df81ce67 2013-06-21T18:17:34 Use the nusleep function for sleeping after sending work in avalon.
Con Kolivas a36e55b7 2013-06-21T17:39:26 Set the avalon preferred packet size to 512.
Con Kolivas 581afcf9 2013-06-21T11:18:00 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.
Con Kolivas cf13d02d 2013-06-21T11:03:03 Change avalon no valid work message to no matching work to match API terminology.
Con Kolivas 7c683cf2 2013-06-21T10:59:55 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.
Con Kolivas e487d3d2 2013-06-21T01:58:18 Minimise the sleep times in avalon read to avoid result loss.
Con Kolivas b810dea3 2013-06-21T01:32:41 Revert "Sleep for less time in wait_avalon_ready till we have a better signalling system from read thread to write." This reverts commit 98862b4f46b801e14b9474fdac4286145cbdf6b6.
Con Kolivas 7e6cbf08 2013-06-21T01:23:38 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.