|
|
|
@ -5786,28 +5786,12 @@ struct work *get_queued(struct cgpu_info *cgpu)
@@ -5786,28 +5786,12 @@ struct work *get_queued(struct cgpu_info *cgpu)
|
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* This function is for including work in the given que hashtable.
|
|
|
|
|
* The calling function must lock access to the que if it is required. */ |
|
|
|
|
struct work *add_to_work_que(struct work *que, struct work *work) |
|
|
|
|
{ |
|
|
|
|
HASH_ADD_INT(que, id, work); |
|
|
|
|
return que; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* This function is for removing work from the given que hashtable.
|
|
|
|
|
* The calling function must lock access to the que if it is required. */ |
|
|
|
|
struct work *del_from_work_que(struct work *que, struct work *work) |
|
|
|
|
{ |
|
|
|
|
HASH_DEL(que, work); |
|
|
|
|
return que; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* This function is for finding an already queued work item in the
|
|
|
|
|
* given que hashtable. Code using this function must be able |
|
|
|
|
* to handle NULL as a return which implies there is no matching work. |
|
|
|
|
* The calling function must lock access to the que if it is required. |
|
|
|
|
* The common values for midstatelen, offset, datalen are 32, 64, 12 */ |
|
|
|
|
struct work *find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen) |
|
|
|
|
struct work *__find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen) |
|
|
|
|
{ |
|
|
|
|
struct work *work, *tmp, *ret = NULL; |
|
|
|
|
|
|
|
|
@ -5832,7 +5816,7 @@ struct work *find_queued_work_bymidstate(struct cgpu_info *cgpu, char *midstate,
@@ -5832,7 +5816,7 @@ struct work *find_queued_work_bymidstate(struct cgpu_info *cgpu, char *midstate,
|
|
|
|
|
struct work *ret; |
|
|
|
|
|
|
|
|
|
rd_lock(&cgpu->qlock); |
|
|
|
|
ret = find_work_bymidstate(cgpu->queued_work, midstate, midstatelen, data, offset, datalen); |
|
|
|
|
ret = __find_work_bymidstate(cgpu->queued_work, midstate, midstatelen, data, offset, datalen); |
|
|
|
|
rd_unlock(&cgpu->qlock); |
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
|