dca_listnode_t
dca_enlist2(dca_listnode_t *q, dca_listnode_t *node, kmutex_t *lock)
dca_rmlist2(dca_listnode_t *node, kmutex_t *lock)
static dca_listnode_t *
dca_delist2(dca_listnode_t *q, kmutex_t *lock)
dca_listnode_t *node;
dca_initq(dca_listnode_t *q)
dca_enqueue(dca_listnode_t *q, dca_listnode_t *node)
dca_rmqueue(dca_listnode_t *node)
dca_listnode_t *
dca_dequeue(dca_listnode_t *q)
dca_listnode_t *node;
dca_listnode_t *
dca_unqueue(dca_listnode_t *q)
dca_listnode_t *node;
dca_listnode_t *
dca_peekqueue(dca_listnode_t *q)
dca_listnode_t *node;
dca_enqueue(&workp->dw_wlp->dwl_freework, (dca_listnode_t *)workp);
(dca_listnode_t *)reqp);
dca_enqueue(&wlp->dwl_waitq, (dca_listnode_t *)reqp);
dca_enqueue(&wlp->dwl_runq, (dca_listnode_t *)workp);
dca_rmqueue((dca_listnode_t *)workp);
dca_rmqueue((dca_listnode_t *)workp);
dca_listnode_t *node;
static void dca_enlist2(dca_listnode_t *, dca_listnode_t *,
static void dca_rmlist2(dca_listnode_t *node, kmutex_t *);
static dca_listnode_t *dca_delist2(dca_listnode_t *q, kmutex_t *);
static void dca_initq(dca_listnode_t *);
static void dca_enqueue(dca_listnode_t *, dca_listnode_t *);
static dca_listnode_t *dca_dequeue(dca_listnode_t *);
static dca_listnode_t *dca_unqueue(dca_listnode_t *);
dca_listnode_t *dl_next;
dca_listnode_t *dl_prev;
dca_listnode_t *dl_next2;
dca_listnode_t *dl_prev2;
dca_listnode_t dr_linkage;
dca_listnode_t dw_linkage;
dca_listnode_t dwl_freereqs; /* available requests */
dca_listnode_t dwl_waitq; /* requests arrive here */
dca_listnode_t dwl_freework; /* available work structures */
dca_listnode_t dwl_runq; /* work structs sent to chip */
dca_listnode_t dca_ctx_list;
void dca_rmqueue(dca_listnode_t *);