Lines Matching refs:ccbq
230 struct cam_ccbq *ccbq; in cam_ccbq_alloc() local
232 ccbq = (struct cam_ccbq *)malloc(sizeof(*ccbq), M_CAMCCBQ, M_NOWAIT); in cam_ccbq_alloc()
233 if (ccbq == NULL) { in cam_ccbq_alloc()
237 if (cam_ccbq_init(ccbq, openings) != 0) { in cam_ccbq_alloc()
238 free(ccbq, M_CAMCCBQ); in cam_ccbq_alloc()
242 return (ccbq); in cam_ccbq_alloc()
246 cam_ccbq_free(struct cam_ccbq *ccbq) in cam_ccbq_free() argument
248 if (ccbq) { in cam_ccbq_free()
249 cam_ccbq_fini(ccbq); in cam_ccbq_free()
250 free(ccbq, M_CAMCCBQ); in cam_ccbq_free()
255 cam_ccbq_resize(struct cam_ccbq *ccbq, int new_size) in cam_ccbq_resize() argument
259 delta = new_size - (ccbq->dev_active + ccbq->dev_openings); in cam_ccbq_resize()
260 ccbq->total_openings += delta; in cam_ccbq_resize()
261 ccbq->dev_openings += delta; in cam_ccbq_resize()
264 if (new_size > ccbq->queue.array_size) in cam_ccbq_resize()
265 return (camq_resize(&ccbq->queue, new_size)); in cam_ccbq_resize()
271 cam_ccbq_init(struct cam_ccbq *ccbq, int openings) in cam_ccbq_init() argument
273 bzero(ccbq, sizeof(*ccbq)); in cam_ccbq_init()
274 if (camq_init(&ccbq->queue, in cam_ccbq_init()
277 ccbq->total_openings = openings; in cam_ccbq_init()
278 ccbq->dev_openings = openings; in cam_ccbq_init()
283 cam_ccbq_fini(struct cam_ccbq *ccbq) in cam_ccbq_fini() argument
286 camq_fini(&ccbq->queue); in cam_ccbq_fini()