1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-09 14:28:12 +00:00
Commit Graph

796 Commits

Author SHA1 Message Date
Con Kolivas
ac7dc468e2 Use the existing device_data for knc state data. 2013-10-28 14:27:57 +11:00
Vitalii Demianets
53570ae8a0 KnC driver: knc-spi-fpga ASIC driver
This driver talks to KnCMiner controller via SPI

Protocol specification is available at
https://github.com/KnCMiner/jupiter-hw-docs/blob/master/fpga_spi.md
2013-10-26 23:58:52 +02:00
Henrik Nordstrom
1e51336f95 Silence warning if MAX/MIN is already defined 2013-10-26 23:58:52 +02:00
Con Kolivas
2d67bb06dc Merge branch 'master' into hashfast 2013-10-26 16:22:13 +11:00
Con Kolivas
f9d3d008da Merge pull request #509 from roybadami/master
Improvements to support for BitBurner boards
2013-10-25 20:11:24 -07:00
Con Kolivas
f29f612182 Merge branch 'master' into hashfast 2013-10-25 14:35:56 +11:00
Con Kolivas
316e6d61c9 Put an entry into the work struct telling drivers how much they can roll the ntime themselves. 2013-10-25 14:34:05 +11:00
Con Kolivas
d342bcbe81 Provide a mechanism for informing drivers of updated work templates for stratum and gbt mining. 2013-10-25 11:57:27 +11:00
Con Kolivas
5ea6a8eaa2 Merge branch 'master' into hashfast
Conflicts:
	Makefile.am
2013-10-23 22:45:56 +11:00
Con Kolivas
d2719e312f Implement a cglock_destroy function. 2013-10-23 20:41:12 +11:00
Con Kolivas
de4ad515e0 Implement a rwlock_destroy function. 2013-10-23 20:41:04 +11:00
Con Kolivas
6bd5139cfc Implement a mutex_destroy function. 2013-10-23 20:40:52 +11:00
Roy Badami
c69a130dc1 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
2013-10-19 18:42:20 +01:00
Con Kolivas
f5baf9f57a Merge branch 'master' into hashfast
Conflicts:
	usbutils.h
2013-10-18 19:12:13 +11:00
ckolivas
680f014c85 Simplify queued hashtable by storing unqueued work separately in a single pointer. 2013-10-18 14:58:33 +11:00
Kano
c9adb1929c allow __work_complete() access 2013-10-18 00:54:37 +11:00
Kano
3fc7ff45e4 miner.h allow devices to tv_stamp work 2013-10-18 00:47:07 +11:00
Kano
514b3c424f API add 'MHS %ds' to 'summary' 2013-10-17 20:24:09 +11:00
Kano
d3d3fc1316 Optional lock tracking and stats via the API 2013-10-17 20:24:02 +11:00
Con Kolivas
9b5c534911 Merge branch 'master' into hashfast
Conflicts:
	api.c
	configure.ac
	miner.h
	usbutils.c
	usbutils.h
2013-10-13 16:41:53 +11:00
Con Kolivas
d3c215fda6 Provide a lower level __bin2hex function that does not allocate memory itself. 2013-10-12 09:53:21 +11:00
Con Kolivas
835ad82441 Convert the bitfury driver to use the hash_driver_work version of hash_work. 2013-10-12 09:32:07 +11:00
Con Kolivas
58008a3742 Add a hash_driver_work function to allow for drivers that wish to do their own work queueing and management. 2013-10-12 09:05:58 +11:00
Con Kolivas
b537976036 Make pthread conditional timeouts handle all bulk usb transfer timeouts performing libusb_cancel_transfer, disabling timeouts within libusb itself. 2013-10-11 23:06:40 +11:00
Con Kolivas
ef8efd6c48 Minimise the time between dropping the read devlock and grabbing the write devlock to avoid tons of logging spam in the interim. 2013-10-08 00:01:26 +11:00
Con Kolivas
7318eceef9 Make the devlock a cglock in usbutils and only grab the write lock for fundamental changes allowing us to send and receive transfers concurrently without lock contention. 2013-10-07 23:34:01 +11:00
Con Kolivas
8c0ea19e13 Submitting an ntime offset nonce needs to be done on a copy of the work instead of the original so abstract out shared components as much as possible, minimising strdups in copy_work and make submit_work_async work take copied work, cleaning up code in the process. 2013-10-07 23:33:13 +11:00
Con Kolivas
b6a97de687 Provide a way for drivers to submit work that it has internally rolled the ntime value by returning the amount it has ntime rolled to be added. 2013-10-07 23:33:13 +11:00
ckolivas
6cd7f0f1be Remove unmaintained broken ztex driver. 2013-10-07 23:33:13 +11:00
Kano
51418f79e5 Klondike update code to current git 2013-10-07 23:33:11 +11:00
Con Kolivas
585d4af4e6 Store statistics on how often we have to cancel async bulk transfers and add a debug message whenever we do. 2013-10-07 23:32:01 +11:00
Con Kolivas
f49a3c7657 Merge branch 'master' into hashfast
Conflicts:
	Makefile.am
	api.c
	cgminer.c
	configure.ac
	miner.h
	usbutils.c
	usbutils.h
2013-09-30 08:43:29 +10:00
Con Kolivas
01e3c878cf We should only yield once in cg_wunlock 2013-09-29 15:16:25 +10:00
Con Kolivas
5683a1144e Provide a function to downgrade a cglock from a write lock to an intermediate variant. 2013-09-29 15:14:06 +10:00
Con Kolivas
5e1ebd5070 Deuglify use of _PARSE_COMMANDS macro expansions. 2013-09-29 13:54:16 +10:00
Con Kolivas
1ef38f82e8 Separate out asic fpga and opencl drivers in the driver parse commands macro for use individually as needed. 2013-09-29 12:28:43 +10:00
ckolivas
fbf46c41b3 Put avalon last in the sequence of adding drivers to prevent it trying to claim similar chip devices on startup. 2013-09-28 15:14:28 +10:00
ckolivas
6d7471237d 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. 2013-09-28 15:11:06 +10:00
ckolivas
741b74309e Forward declare all device drivers in miner.h avoiding the need to export them everywhere else. 2013-09-28 14:00:18 +10:00
ckolivas
2903028e6b Use macro expansion to generate extern device_drv prototypes. 2013-09-28 11:45:58 +10:00
ckolivas
8875197466 Create a macro list of drivers to enable easier addition of further drivers. 2013-09-28 10:25:48 +10:00
Con Kolivas
b606a60349 Use submit_tested_work in bitfury driver to avoid unnecessarily re-testing the work for validity. 2013-09-26 21:20:59 +10:00
Con Kolivas
76e688aee1 Store the hash2 array in struct work for further reuse. 2013-09-26 21:14:14 +10:00
Con Kolivas
39c52b1fb4 Use the test_nonce function within submit_nonce and store the uint32 corresponding to hash2 37 for further use. 2013-09-26 20:58:47 +10:00
Con Kolivas
759e82bb98 Add in first draft for a serialised work model sending/receiving data for BF1 devices. 2013-09-25 15:30:54 +10:00
Con Kolivas
68a7e21022 Create basic placeholders for bitfury driver code. 2013-09-24 20:59:10 +10:00
Con Kolivas
118f9038a0 Merge branch 'master' into hashfast 2013-09-22 20:18:18 +10:00
Con Kolivas
466d3beca0 Provide a --disable-libcurl config option to build support for stratum mining only. 2013-09-21 22:49:28 +10:00
Con Kolivas
78932aa1ed Provide basic structure for a hashfast driver. 2013-09-19 10:38:08 +10:00
Con Kolivas
a76b09e4fc Find the greatest common denominator in quotas and use the smallest number of consecutive work items per pool in quota load balance mode to smooth hashrate across pools with large quotas. Give excess quota to priority pool 0 instead of pool 0. 2013-09-13 13:51:15 +10:00
Con Kolivas
7c19984fd6 Use quotas for load-balance pool strategy. 2013-09-07 12:12:24 +10:00
Con Kolivas
0121b75a4e Provide a mechanism for setting a pool quota to be used by load-balance. 2013-09-07 11:33:07 +10:00
Con Kolivas
b783d94c6d Extract any proxy url and port to be used by sockaddr if possible using extract_sockaddr. 2013-09-05 23:14:53 +10:00
Kano
76185ede38 API mcast add a description option with miner.php 2013-09-01 00:23:26 +10:00
ckolivas
0f42fd3f46 Remove unused HAVE_LISBUSB macro and use USE_USBUTILS everywhere. 2013-08-30 15:38:35 +10:00
Con Kolivas
572df10207 Provide a funcion that looks up queued work by midstate and then removes it from the device hash database. 2013-08-27 20:29:47 +10:00
Kano
14ac6fa5ab Initial API Multicast response v0.1 to find cgminer APIs 2013-08-22 21:31:32 +10:00
Con Kolivas
8a01f5326c Add avalon HW error% to stats and only show BTB variables if avalon is a BTB. 2013-08-21 20:46:07 +10:00
ckolivas
b12badc9f2 Thread reportin and out can be static non inline. 2013-08-21 10:47:32 +10:00
Con Kolivas
a61e41a070 Check for thr->work_restart in restart_wait. 2013-08-19 15:58:22 +10:00
Con Kolivas
98e338cc52 Provide a variant of find_work_bymidstate that returns a clone of the found work. 2013-08-14 23:05:13 +10:00
Kano
6b62c402fa API/miner.php add some % fields 2013-08-14 10:42:52 +10:00
Con Kolivas
c8aac74114 Only perform the bin2hex on nonce2 data if it's required for stratum submission, thereby removing the last conversion of that type from stratum work generation. 2013-08-13 06:09:42 +10:00
Con Kolivas
87ae66c7e6 Create a work data template when receiving stratum notification, allowing a simple memcpy of the merkle root avoiding more hex2bin conversions on each work generation. 2013-08-13 05:49:32 +10:00
Con Kolivas
34bc106d82 Export the workpadding char in miner.h 2013-08-13 04:57:04 +10:00
Con Kolivas
11bcf2b3fb Rename work gbt_coinbase to coinbase to be in line with pool variable name. 2013-08-12 11:40:17 +10:00
Con Kolivas
5237bf350d Perform merkle bin hex2bin on stratum notify to avoid doing it on each work generation. 2013-08-12 11:36:28 +10:00
Con Kolivas
8bc469e916 Reuse just the one pool coinbase variable in stratum, avoiding more string functions and storage in gen_stratum_work on each work generation. 2013-08-12 11:16:46 +10:00
Con Kolivas
8c8ef6ff9b Rename pool gbt_coinbase variable to coinbase to combine it with the stratum coinbase data. 2013-08-12 10:58:43 +10:00
Con Kolivas
c542e47aa3 Use a nonce2 offset variable for both gbt and stratum to consolidate requirements on work generation. 2013-08-12 10:49:38 +10:00
Kano
309cb2242b miner.h inline semaphores increase information on failure 2013-08-12 08:54:11 +10:00
Con Kolivas
fb94dfa098 Cache as much of the gbt coinbase as possible to avoid doing unnecessary hex2bin conversion on every work generation with gbt. 2013-08-12 01:15:22 +10:00
Con Kolivas
9552f54f43 Add the ability to downgrade a write variant of the cglocks. 2013-08-12 00:12:28 +10:00
Con Kolivas
3e84a19cda Fix --scrypt being required before scrypt intensities on command line or not working at all via config files. 2013-08-11 15:10:27 +10:00
Con Kolivas
b423fe9de8 Cache the hex2bin of pool nonce1 in stratum, avoiding hex2bin on each work generation. 2013-08-11 14:06:17 +10:00
Con Kolivas
fef649dfef Cache the binary generation of coinbase1 and 2 on stratum, avoiding a hex2bin of coinbase1 and 2 on each work generation. 2013-08-11 13:47:46 +10:00
Con Kolivas
2b171f7fae Limit intensity range according to whether scrypt is in use or not. 2013-08-09 15:12:57 +10:00
Kano
ad1572f77f size check get_datestamp/get_timestamp and remove unused cgpu->init 2013-07-06 20:17:17 +10:00
Kano
385a70bea7 make all statline overflow safe 2013-07-06 19:15:59 +10:00
Con Kolivas
563feac74e Merge pull request #446 from kanoi/master
Rework logging to mostly avoid using varargs
2013-06-15 20:15:00 -07:00
Kano
7eba963477 remove varargs from logging/quit/in general as much as possible 2013-06-15 22:03:56 +10:00
ckolivas
b8a203ab33 Don't yield when downgrading a cg ilock. 2013-06-15 21:33:12 +10:00
Con Kolivas
736dfb4075 Don't yield on grabbing the read lock variant of cglocks. 2013-06-15 12:35:16 +10:00
Con Kolivas
cd9ff7f6b8 Only display as many device rows as the maximum live existed at any time. 2013-06-15 01:28:00 +10:00
Kano
7ad9132bbe usb lock out use cg locks 2013-06-15 01:02:27 +10:00
Kano
ad30d41f79 usb lock out transfers during open/close 2013-06-14 23:48:03 +10:00
Kano
84ffcbc51b Use mining start time for device MH/U calculations 2013-06-14 01:09:50 +10:00
Con Kolivas
0aeb1b5480 Yield after releasing a lock in case we are on a device with limited CPU resources. 2013-06-13 13:28:48 +10:00
ckolivas
065d4aabf6 Fix build. 2013-06-09 13:29:38 +10:00
ckolivas
9b2e517f30 Use cgsem structures instead of the flaky pings in the work queue to start mining threads and remove the unused thr_info_freeze function. 2013-06-09 12:20:04 +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
ckolivas
05123bf452 Temporarily fix apple not having semtimedop by ignoring the timeout value. 2013-06-05 15:50:30 +10:00
Con Kolivas
727184d6ef Change the --device parameter parsing and configuration to use ranges and comma separated values. 2013-06-03 11:09:36 +10:00
Con Kolivas
cc04d3abc7 Use a counting semaphore to signal the usb resource thread that it has work to do. 2013-05-30 11:01:29 +10:00
Con Kolivas
876e7e5893 Merge branch 'icarus-dev' into usbdev
Conflicts:
	usbutils.h
2013-05-29 00:01:54 +10:00
Con Kolivas
6972ec62a7 Execute driver shutdown sequence during kill_work. 2013-05-28 23:33:32 +10:00
Kano
2f94ec8025 usb separate thread for resource locking and modified windows locking code 2013-05-27 23:30:18 +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
44736b3012 Make submit_nonce return a bool for whether it's a valid share or not. 2013-05-26 20:59:40 +10:00
Kano
c9cc7445e5 miner.h remove unused device_file and add device_data 2013-05-20 02:52:07 +10:00
Kano
8fe40e98ba miner.h icarus no long uses fd 2013-05-20 02:46:58 +10:00
Con Kolivas
01fca3e756 Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays. 2013-05-19 21:28:53 +10:00
Con Kolivas
3a2008ac61 Use a persistent single separate thread for stratum share submission that uses workqueues since all stratum sends are serialised. 2013-05-19 11:25:45 +10:00
Con Kolivas
1a7a87c2a6 Use a discrete device target for scrypt that dynamically changes to ensure we still report a work utility even if no shares are submitted such as in solo mining. 2013-05-11 20:29:48 +10:00
Con Kolivas
2fb6637b5a Make set_work_target a function to set a specified char as target for use elsewhere. 2013-05-11 19:51:43 +10:00
Con Kolivas
68196588c9 Make raw sockets compile on windows 2013-05-09 11:39:09 +10:00
Con Kolivas
31aa4f6ceb Use raw sockets without curl for stratum communications. 2013-05-08 21:59:58 +10:00
Con Kolivas
009008ade7 Fix BFLSC building. 2013-04-26 12:00:44 +10:00
Con Kolivas
f4b2790761 Remove all CPU mining code. 2013-04-22 14:35:43 +10:00
Con Kolivas
4597c0a17e Provide endian_flipX functions to avoid special casing big endian in cgminer.c 2013-04-22 09:35:48 +10:00
Con Kolivas
8d81f1d207 Provide a flip128 helper to simplify big endian flipping. 2013-04-22 09:28:06 +10:00
Con Kolivas
c351f8d8d3 Use flip helpers to simplify code for calculation of midstate. 2013-04-22 09:23:13 +10:00
Con Kolivas
62a1403b3b Move util.c exports to util.h 2013-04-21 19:41:54 +10:00
James Z.M. Gao
7ada22a4e6 define le32toh if needed 2013-04-19 09:13:36 +08:00
Con Kolivas
6b714dd431 Increment hardware error count from the one site. 2013-04-18 14:47:46 +10:00
Con Kolivas
dbab07a12d Only reset an avalon device with no results when there are no results consecutively. 2013-04-15 20:30:02 +10:00
Con Kolivas
5c7a32fde8 Rationalise and simplify the share diff and block solve detection to a common site. 2013-04-08 21:26:10 +10:00
Con Kolivas
293b94c7ed Add API support for Avalon. 2013-04-07 01:39:20 +11:00
Con Kolivas
97bad1eef6 Only get extra work in fill_queue if we don't have any unqueued work in the list. 2013-04-06 13:01:42 +11:00
Con Kolivas
67be00e41e Create an array of 4 lots of work for avalon and cycle through them. 2013-04-06 02:25:48 +11:00
Con Kolivas
67c5da49b6 Members of cgpu_info for avalon are not meant to be in the union. 2013-04-05 21:01:42 +11:00
Con Kolivas
71bae003bc First draft of port of avalon driver to new cgminer queued infrastructure. 2013-04-05 14:52:07 +11:00
James Z.M. Gao
c9ae715019 Compile CPU mining for win32 and win64 2013-04-04 22:59:10 +08:00
Kano
f080db5fee generic work structure flags for BFLSC (and usable by other drivers if needed) 2013-04-02 09:50:05 +11:00
Kano
ea327f7ba2 work queues - remove new but unnecessary functions 2013-04-01 13:10:15 +11:00
Kano
73616fb810 miner.h missing extern 2013-04-01 00:38:19 +11:00
Kano
131e20042a functions for handling work queues 2013-04-01 00:35:50 +11:00
Kano
b3ae0f168e find_work() to find work in devices work queue 2013-03-31 21:54:32 +11:00
Kano
956d444054 avalon usbutils requirements 2013-03-21 15:25:10 +11:00
Con Kolivas
13e19de4d5 Calculate work utility for devices that support target diffs of greater than 1, and update scrypt code to use it. 2013-03-17 10:15:24 +11:00
Kano
b21747b978 USB modify -n and --usb-dump to only show known devices or use new --usb-list-all option to see all 2013-03-15 00:02:17 +11:00
Con Kolivas
b6e3d5b4fa Make pool adding while running asynchronous, using the pool test thread functionality. 2013-03-14 22:34:53 +11:00
Con Kolivas
ffc8681f91 Merge pull request #403 from kanoi/bflsc
USB add --usb options to limit USB device selection v0.1 + --usb-dump display brief dump if value = 0
2013-03-12 18:07:17 -07:00
Con Kolivas
b5b3ca4911 Convert gbt_lock to a cg_lock. 2013-03-12 22:44:41 +11:00
Con Kolivas
b8ed231f64 Add intermediate variants of cglocks that can be up or downgraded to read or write locks and use them for stratum work generation. 2013-03-12 22:40:23 +11:00
Con Kolivas
26ddd1fd20 Move the stratum and GBT data to be protected under a new cg_lock data_lock. 2013-03-12 22:31:45 +11:00
Con Kolivas
fd87825bf9 Convert the ch_lock to cg_lock. 2013-03-12 22:17:08 +11:00
Con Kolivas
0bbaaa9723 Convert the control_lock to a cg_lock. 2013-03-12 22:07:06 +11:00
ckolivas
18fc2df483 Implement cg_lock write biased rwlocks. 2013-03-11 13:23:51 +11:00
Kano
3f50e878a2 USB add --usb options to limit USB device selection v0.1 2013-03-11 10:58:28 +11:00
Con Kolivas
5412323e26 Fix memory leak with share submission on GPU work structures as discovered by twobitcoins. 2013-03-09 15:12:41 +11:00
Con Kolivas
e0196a3307 Don't start testing any pools with the watchpool thread if any of the test threads are still active. 2013-03-09 11:33:50 +11:00
Con Kolivas
c618d868cc Remove unused pthread_t typedefs from struct pool. 2013-03-09 09:43:40 +11:00
ckolivas
e746ed6412 Make the initialisation of the stratum thread more robust allowing the watchpool thread safe access to it after the stratum thread is started. 2013-03-08 15:18:10 +11:00
Con Kolivas
96ae17a466 Merge pull request #398 from kanoi/bflsc
API use control_lock when switching pools + Setup BFLSC support + API add 'Network Difficulty' to 'coin'
2013-03-06 15:51:33 -08:00
Kano
0eafc8b9fe API add 'Network Difficulty' to 'coin' 2013-03-07 07:40:05 +11:00
Kano
540f3e89bc Setup BFLSC support 2013-03-07 00:00:31 +11:00
Kano
419083a7d2 API use control_lock when switching pools 2013-03-06 21:19:02 +11:00
ckolivas
386ea2dffb Instead of keeping track of when the last work item was generated to keep stratum connections open, keep them open if any shares have been submitted awaiting a response. 2013-03-06 14:34:17 +11:00
Kano
2f6660e83f configure - set USE_USBUTILS when usbutils is required and use it in the code 2013-03-05 18:33:43 +11:00
Kano
120e9a072d make rw locks: mining_thr_lock and devices_lock 2013-03-04 22:46:34 +11:00
Kano
be8cadbc46 Hotplug - allow setting interval via --hotplug or API 2013-03-04 17:26:11 +11:00
Kano
c14f2ec642 API V1.25 - add 'Last Valid Work' time for each device 2013-03-03 19:33:20 +11:00
Con Kolivas
b2b0d10a00 Merge branch 'master' into usb-dev 2013-02-28 23:37:06 +11:00
Con Kolivas
b4cac54a7e Keep stratum connections open for 2 minutes after the last work item was staged to allow stray shares to be submitted on pool switching. 2013-02-28 23:35:31 +11:00
Con Kolivas
6bf79626b8 Merge branch 'master' into usb-dev 2013-02-23 13:59:37 +11:00
ckolivas
68d691093c Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol. 2013-02-22 12:55:01 +11:00
Con Kolivas
fce5434975 Add a get_queued function for devices to use to retrieve work items from the queued hashtable. 2013-02-18 14:14:10 +11:00
Con Kolivas
fda6d46e95 Add the choice of hash loop to the device driver, defaulting to hash_sole_work if none is specified. 2013-02-16 14:09:44 +11:00
Con Kolivas
c80c65eac0 Add a driver specific flush_work for queued devices that may have work items already queued to abort working on them on the device and discard them. 2013-02-16 12:38:53 +11:00
Con Kolivas
e8e88beff1 Create a central point for removal of work items completed by queued device drivers. 2013-02-16 12:28:50 +11:00
Con Kolivas
95b2020263 Create a fill_queue function that creates hashtables of as many work items as is required by the device driver till it flags the queue full. 2013-02-16 12:14:13 +11:00
Con Kolivas
5e3253a7cf Create the hash queued work variant for use with devices that are fast enough to require a queue. 2013-02-16 11:54:05 +11:00
Con Kolivas
ab0cc58cb4 Merge branch 'master' into usb-dev 2013-02-15 23:15:11 +11:00
Con Kolivas
be4705a003 Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process. 2013-02-15 23:05:29 +11:00
Con Kolivas
1bf1f4a217 Add timestamps to stratum_share structs as they're generated and copy the stratum sessionid if it exists to stratum work generated. 2013-02-15 15:36:29 +11:00
Con Kolivas
c851f39598 Store session id for stratum if the pool supports it for future mining.resume support. 2013-02-15 14:46:30 +11:00
Con Kolivas
61a3e1b1d1 Merge pull request #382 from kanoi/hotplug
USB tidy up requests + Hotplug
2013-02-09 02:36:27 -08:00
Con Kolivas
5d581cb5d7 Use blank_get_statline_before for GPU devices that don't support adl monitoring. 2013-02-09 19:27:57 +11:00
Kano
bc5755233c call a separate get_devices() with locking, as required 2013-02-08 02:12:09 +11:00
Kano
983fe2b0c0 usbutils hotplug v0.1 2013-02-08 01:42:36 +11:00
Con Kolivas
0244998ef8 Merge branch 'master' into usb-dev 2013-02-04 11:23:20 +11:00
Con Kolivas
d644fdf1f4 Cache the coinbase length to speed up stratum work generation. 2013-02-04 11:19:12 +11:00
Con Kolivas
0870ab7532 Cache the header length when generating stratum work to avoid calculating it on every work generation, and to only need one alloc+sprintf, speeding up work generation. 2013-02-04 11:06:05 +11:00
Con Kolivas
5d122cad93 Provide wrappers for grabbing of thr value under the mining_thr_lock. 2013-02-03 23:41:41 +11:00
Kano
7abf30b2c0 distinguish between drv and it's id enum now called drv_id 2013-02-03 22:51:05 +11:00
Kano
61ec1fe91f mutex all access to mining_thr 2013-02-02 20:14:55 +11:00
Kano
212f32e5e0 Split thr_info array into control_thr and mining_thr pointers so more mining threads can be added later 2013-02-02 20:14:53 +11:00
Kano
7fbc3770b4 USB move usbdev info that needs to stay around into usbinfo 2013-02-02 20:14:36 +11:00
Kano
c1eae36f7b API stats - include pool network bytes + in miner.php 2013-02-02 20:14:33 +11:00
Kano
34bcc1c66d USB automatically handle losing the device and report nodev in the API 2013-02-02 20:14:29 +11:00
Kano
0b3d8c89c2 API zero - zero statistics - all or bestshare - with optional on screen summary 2013-02-02 20:14:27 +11:00
Kano
f9e04a3c5b device_drv - allow .name to be changed before add_cgpu() 2013-02-02 20:14:23 +11:00
Kano
a344deb6ac rename device_api -> device_drv and all related api -> drv and add a device_drv->drv enum for identifying which driver each is 2013-02-02 20:14:19 +11:00
Kano
1ce817d4df Merge branch 'api' 2013-01-03 21:48:22 +11:00
Kano
e3db37a64e Merge branch 'bfl' 2013-01-03 21:47:41 +11:00
Kano
03f626e68d Remember best share per pool and return in API pools 2013-01-02 21:51:09 +11:00
Kano
03c2cabab2 BFL include all USB requirements 2012-12-31 23:46:03 +11:00
Con Kolivas
e1387dc85c Change the pool stratum socket buffer to be dynamically allocated to accomodate any size coinbase and keep receiving data in recv line for up to 60s if no end of line has been received. 2012-12-29 11:29:59 +11:00
Con Kolivas
e1d7ecdd35 Do not try to generate stratum work unless the notify command has succeeded. 2012-12-29 09:45:40 +11:00
Con Kolivas
d3bfee14b3 Display the current pool diff in the status line. 2012-12-25 23:14:21 +11:00
Con Kolivas
f0c1782c03 Generate the output hash for scrypt as well and use the one function to set share_diff. 2012-12-25 14:08:27 +11:00
Kano
e931b72753 API V1.23 - new pgaset command, to be used soon 2012-12-19 10:43:27 +11:00
Kano
072909a12f MMQ count work check timeout failures 2012-12-17 13:21:24 +11:00
Kano
38ff2a7df9 MMQ allow partial work replies and count them 2012-12-17 13:20:10 +11:00
Con Kolivas
cada0d3195 Check for EWOULDBLOCK when supported in send and recv as well. 2012-12-14 21:36:42 +11:00
Con Kolivas
fd1bd9e7c3 Merge pull request #365 from kanoi/api
Pool store data transfer stats + API stats - display pool byte transfer stats
2012-12-12 15:29:51 -08:00
Kano
138465bf0c Pool store data transfer stats 2012-12-13 00:56:10 +11:00
Kano
f3f8b4fdb4 MMQ handle over temp differently and hash longer 2012-12-12 17:01:28 +11:00
Con Kolivas
b28055517e Implement a completely new getwork scheduler.
Stage all work from the one thread, making it possible to serialise all requests minimising the number of getworks requested or local work generated.
Use a pthread conditional to wake up the thread whenever work is removed to generate enough work to stay above the watermark set by opt_queue.
Remove all remnants of the old queueing mechanism, deleting the now defunct queued count.
2012-12-08 21:13:04 +11:00