Lines Matching refs:ccbq

93 uint32_t	cam_ccbq_resize(struct cam_ccbq *ccbq, int devices);
95 int cam_ccbq_init(struct cam_ccbq *ccbq, int openings);
97 void cam_ccbq_free(struct cam_ccbq *ccbq);
99 void cam_ccbq_fini(struct cam_ccbq *ccbq);
144 cam_ccbq_pending_ccb_count(struct cam_ccbq *ccbq) in cam_ccbq_pending_ccb_count() argument
146 return (ccbq->queue.entries + ccbq->queue_extra_entries); in cam_ccbq_pending_ccb_count()
150 cam_ccbq_take_opening(struct cam_ccbq *ccbq) in cam_ccbq_take_opening() argument
153 ccbq->allocated++; in cam_ccbq_take_opening()
157 cam_ccbq_insert_ccb(struct cam_ccbq *ccbq, union ccb *new_ccb) in cam_ccbq_insert_ccb() argument
160 struct camq *queue = &ccbq->queue; in cam_ccbq_insert_ccb()
172 camq_resize(&ccbq->queue, queue->array_size * 2) != CAM_REQ_CMP) { in cam_ccbq_insert_ccb()
174 TAILQ_INSERT_HEAD(&ccbq->queue_extra_head, old_ccb, in cam_ccbq_insert_ccb()
177 ccbq->queue_extra_entries++; in cam_ccbq_insert_ccb()
184 cam_ccbq_remove_ccb(struct cam_ccbq *ccbq, union ccb *ccb) in cam_ccbq_remove_ccb() argument
187 struct camq *queue = &ccbq->queue; in cam_ccbq_remove_ccb()
192 TAILQ_REMOVE(&ccbq->queue_extra_head, &ccb->ccb_h, in cam_ccbq_remove_ccb()
195 ccbq->queue_extra_entries--; in cam_ccbq_remove_ccb()
208 bccb = TAILQ_FIRST(&ccbq->queue_extra_head); in cam_ccbq_remove_ccb()
211 TAILQ_FOREACH(cccb, &ccbq->queue_extra_head, xpt_links.tqe) { in cam_ccbq_remove_ccb()
218 TAILQ_REMOVE(&ccbq->queue_extra_head, bccb, xpt_links.tqe); in cam_ccbq_remove_ccb()
219 ccbq->queue_extra_entries--; in cam_ccbq_remove_ccb()
224 cam_ccbq_peek_ccb(struct cam_ccbq *ccbq, int index) in cam_ccbq_peek_ccb() argument
226 return((union ccb *)ccbq->queue.queue_array[index]); in cam_ccbq_peek_ccb()
230 cam_ccbq_send_ccb(struct cam_ccbq *ccbq, union ccb *send_ccb) in cam_ccbq_send_ccb() argument
234 ccbq->dev_active++; in cam_ccbq_send_ccb()
235 ccbq->dev_openings--; in cam_ccbq_send_ccb()
239 cam_ccbq_ccb_done(struct cam_ccbq *ccbq, union ccb *done_ccb) in cam_ccbq_ccb_done() argument
242 ccbq->dev_active--; in cam_ccbq_ccb_done()
243 ccbq->dev_openings++; in cam_ccbq_ccb_done()
247 cam_ccbq_release_opening(struct cam_ccbq *ccbq) in cam_ccbq_release_opening() argument
250 ccbq->allocated--; in cam_ccbq_release_opening()