Lines Matching refs:q

23 struct request *blk_queue_find_tag(struct request_queue *q, int tag)  in blk_queue_find_tag()  argument
25 return blk_map_queue_find_tag(q->queue_tags, tag); in blk_queue_find_tag()
61 void __blk_queue_free_tags(struct request_queue *q) in __blk_queue_free_tags() argument
63 struct blk_queue_tag *bqt = q->queue_tags; in __blk_queue_free_tags()
70 q->queue_tags = NULL; in __blk_queue_free_tags()
71 queue_flag_clear_unlocked(QUEUE_FLAG_QUEUED, q); in __blk_queue_free_tags()
82 void blk_queue_free_tags(struct request_queue *q) in blk_queue_free_tags() argument
84 queue_flag_clear_unlocked(QUEUE_FLAG_QUEUED, q); in blk_queue_free_tags()
89 init_tag_map(struct request_queue *q, struct blk_queue_tag *tags, int depth) in init_tag_map() argument
95 if (q && depth > q->nr_requests * 2) { in init_tag_map()
96 depth = q->nr_requests * 2; in init_tag_map()
121 static struct blk_queue_tag *__blk_queue_init_tags(struct request_queue *q, in __blk_queue_init_tags() argument
130 if (init_tag_map(q, tags, depth)) in __blk_queue_init_tags()
163 int blk_queue_init_tags(struct request_queue *q, int depth, in blk_queue_init_tags() argument
168 BUG_ON(tags && q->queue_tags && tags != q->queue_tags); in blk_queue_init_tags()
170 if (!tags && !q->queue_tags) { in blk_queue_init_tags()
171 tags = __blk_queue_init_tags(q, depth, alloc_policy); in blk_queue_init_tags()
176 } else if (q->queue_tags) { in blk_queue_init_tags()
177 rc = blk_queue_resize_tags(q, depth); in blk_queue_init_tags()
180 queue_flag_set(QUEUE_FLAG_QUEUED, q); in blk_queue_init_tags()
188 q->queue_tags = tags; in blk_queue_init_tags()
189 queue_flag_set_unlocked(QUEUE_FLAG_QUEUED, q); in blk_queue_init_tags()
190 INIT_LIST_HEAD(&q->tag_busy_list); in blk_queue_init_tags()
203 int blk_queue_resize_tags(struct request_queue *q, int new_depth) in blk_queue_resize_tags() argument
205 struct blk_queue_tag *bqt = q->queue_tags; in blk_queue_resize_tags()
238 if (init_tag_map(q, bqt, new_depth)) in blk_queue_resize_tags()
265 void blk_queue_end_tag(struct request_queue *q, struct request *rq) in blk_queue_end_tag() argument
267 struct blk_queue_tag *bqt = q->queue_tags; in blk_queue_end_tag()
313 int blk_queue_start_tag(struct request_queue *q, struct request *rq) in blk_queue_start_tag() argument
315 struct blk_queue_tag *bqt = q->queue_tags; in blk_queue_start_tag()
346 if (q->in_flight[BLK_RW_ASYNC] > max_depth) in blk_queue_start_tag()
378 list_add(&rq->queuelist, &q->tag_busy_list); in blk_queue_start_tag()
395 void blk_queue_invalidate_tags(struct request_queue *q) in blk_queue_invalidate_tags() argument
399 list_for_each_safe(tmp, n, &q->tag_busy_list) in blk_queue_invalidate_tags()
400 blk_requeue_request(q, list_entry_rq(tmp)); in blk_queue_invalidate_tags()