blk_mq_hw_ctx
static blk_status_t ubd_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t ubd_queue_rq(struct blk_mq_hw_ctx *hctx,
static bool bfq_has_work(struct blk_mq_hw_ctx *hctx)
static struct request *__bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)
static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)
static void bfq_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,
static void bfq_insert_requests(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
void blk_mq_hctx_set_fq_lock_class(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
#define TO_HCTX(m) ((struct blk_mq_hw_ctx *)m->private)
struct blk_mq_hw_ctx *hctx = m->private;
struct blk_mq_hw_ctx *hctx = m->private;
struct blk_mq_hw_ctx *hctx = m->private;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx;
static void blk_mq_debugfs_register_ctx(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx)
void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx)
void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx);
void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx);
struct blk_mq_hw_ctx *hctx);
void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx);
struct blk_mq_hw_ctx *hctx)
static inline void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx)
static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx;
static int blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
static struct blk_mq_ctx *blk_mq_next_ctx(struct blk_mq_hw_ctx *hctx,
static int blk_mq_do_dispatch_ctx(struct blk_mq_hw_ctx *hctx)
void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx)
static int __blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx)
void __blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx)
void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx =
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)
static inline bool blk_mq_sched_has_work(struct blk_mq_hw_ctx *hctx)
static inline bool blk_mq_sched_needs_restart(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx);
void __blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx);
void blk_mq_sched_dispatch_requests(struct blk_mq_hw_ctx *hctx);
static inline void blk_mq_sched_restart(struct blk_mq_hw_ctx *hctx)
static void blk_mq_unregister_hctx(struct blk_mq_hw_ctx *hctx)
static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx)
void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx,
ssize_t (*show)(struct blk_mq_hw_ctx *, char *);
struct blk_mq_hw_ctx *hctx;
hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj);
static ssize_t blk_mq_hw_sysfs_nr_tags_show(struct blk_mq_hw_ctx *hctx,
static ssize_t blk_mq_hw_sysfs_nr_reserved_tags_show(struct blk_mq_hw_ctx *hctx,
static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx = iter_data->hctx;
static void bt_for_each(struct blk_mq_hw_ctx *hctx, struct request_queue *q,
void __blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
void __blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx)
static inline void blk_mq_flush_tag_batch(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *cur_hctx = NULL;
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx = flush_data->hctx;
void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx = dispatch_data->hctx;
struct request *blk_mq_dequeue_from_ctx(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx;
hctx = container_of(wait, struct blk_mq_hw_ctx, dispatch_wait);
static bool blk_mq_mark_tag_wait(struct blk_mq_hw_ctx *hctx,
static void blk_mq_update_dispatch_busy(struct blk_mq_hw_ctx *hctx, bool busy)
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
static void blk_mq_commit_rqs(struct blk_mq_hw_ctx *hctx, int queued,
bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *list,
static inline int blk_mq_first_mapped_cpu(struct blk_mq_hw_ctx *hctx)
static bool blk_mq_hctx_empty_cpumask(struct blk_mq_hw_ctx *hctx)
static int blk_mq_hctx_next_cpu(struct blk_mq_hw_ctx *hctx)
void blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs)
static inline bool blk_mq_hw_queue_need_run(struct blk_mq_hw_ctx *hctx)
void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
static struct blk_mq_hw_ctx *blk_mq_get_sq_hctx(struct request_queue *q)
struct blk_mq_hw_ctx *hctx = ctx->hctxs[HCTX_TYPE_DEFAULT];
struct blk_mq_hw_ctx *hctx, *sq_hctx;
struct blk_mq_hw_ctx *hctx, *sq_hctx;
void blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
void blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
void blk_mq_start_stopped_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx =
container_of(work, struct blk_mq_hw_ctx, run_work.work);
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
static void blk_mq_insert_requests(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
static blk_status_t __blk_mq_issue_directly(struct blk_mq_hw_ctx *hctx,
static void blk_mq_try_issue_directly(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
struct blk_mq_hw_ctx *hctx = NULL;
struct blk_mq_hw_ctx *this_hctx = NULL;
static void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
static bool blk_mq_hctx_has_requests(struct blk_mq_hw_ctx *hctx)
static bool blk_mq_hctx_has_online_cpu(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *h = blk_mq_map_queue_type(hctx->queue,
struct blk_mq_hw_ctx *hctx = hlist_entry_safe(node,
struct blk_mq_hw_ctx, cpuhp_online);
const struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *mapped_hctx = blk_mq_map_queue_type(hctx->queue,
struct blk_mq_hw_ctx *hctx = hlist_entry_safe(node,
struct blk_mq_hw_ctx, cpuhp_online);
struct blk_mq_hw_ctx *hctx;
hctx = hlist_entry_safe(node, struct blk_mq_hw_ctx, cpuhp_dead);
static void __blk_mq_remove_cpuhp(struct blk_mq_hw_ctx *hctx)
static void blk_mq_remove_cpuhp(struct blk_mq_hw_ctx *hctx)
static void __blk_mq_add_cpuhp(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx, unsigned hctx_idx)
static struct blk_mq_hw_ctx *
struct blk_mq_hw_ctx *hctx;
hctx = kzalloc_node(sizeof(struct blk_mq_hw_ctx), gfp, node);
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx = data->hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx, *next;
static bool blk_mq_hctx_is_reusable(struct blk_mq_hw_ctx *hctx)
static struct blk_mq_hw_ctx *blk_mq_alloc_and_init_hctx(
struct blk_mq_hw_ctx *hctx = NULL, *tmp;
struct blk_mq_hw_ctx **hctxs = q->queue_hw_ctx;
struct blk_mq_hw_ctx **new_hctxs;
struct blk_mq_hw_ctx *old_hctx = hctxs[i];
struct blk_mq_hw_ctx *hctx = hctxs[j];
struct blk_mq_hw_ctx *hctx;
static void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx,
static int blk_hctx_poll(struct request_queue *q, struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx;
static int blk_hctx_poll(struct request_queue *q, struct blk_mq_hw_ctx *hctx,
static bool blk_mq_hctx_has_pending(struct blk_mq_hw_ctx *hctx)
static void blk_mq_hctx_mark_pending(struct blk_mq_hw_ctx *hctx,
static void blk_mq_hctx_clear_pending(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
static inline struct blk_mq_hw_ctx *blk_mq_map_queue(blk_opf_t opf,
extern void blk_mq_hctx_kobj_init(struct blk_mq_hw_ctx *hctx);
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx)
void __blk_mq_tag_busy(struct blk_mq_hw_ctx *);
void __blk_mq_tag_idle(struct blk_mq_hw_ctx *);
static inline void blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx)
static inline void blk_mq_tag_idle(struct blk_mq_hw_ctx *hctx)
static inline bool blk_mq_hctx_stopped(struct blk_mq_hw_ctx *hctx)
static inline bool blk_mq_hw_queue_mapped(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctxs[HCTX_MAX_TYPES];
static inline void __blk_mq_add_active_requests(struct blk_mq_hw_ctx *hctx,
static inline void __blk_mq_inc_active_requests(struct blk_mq_hw_ctx *hctx)
static inline void __blk_mq_sub_active_requests(struct blk_mq_hw_ctx *hctx,
static inline void __blk_mq_dec_active_requests(struct blk_mq_hw_ctx *hctx)
static inline void blk_mq_add_active_requests(struct blk_mq_hw_ctx *hctx,
static inline void blk_mq_inc_active_requests(struct blk_mq_hw_ctx *hctx)
static inline void blk_mq_sub_active_requests(struct blk_mq_hw_ctx *hctx,
static inline void blk_mq_dec_active_requests(struct blk_mq_hw_ctx *hctx)
static inline int __blk_mq_active_requests(struct blk_mq_hw_ctx *hctx)
static inline void __blk_mq_put_driver_tag(struct blk_mq_hw_ctx *hctx,
static inline bool hctx_may_queue(struct blk_mq_hw_ctx *hctx,
bool blk_mq_dispatch_rq_list(struct blk_mq_hw_ctx *hctx, struct list_head *,
void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list);
struct request *blk_mq_dequeue_from_ctx(struct blk_mq_hw_ctx *hctx,
static inline struct blk_mq_hw_ctx *blk_mq_map_queue_type(struct request_queue *q,
static blk_status_t bsg_queue_rq(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx;
int (*init_hctx)(struct blk_mq_hw_ctx *, unsigned int);
void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);
void (*insert_requests)(struct blk_mq_hw_ctx *hctx, struct list_head *list,
struct request *(*dispatch_request)(struct blk_mq_hw_ctx *);
bool (*has_work)(struct blk_mq_hw_ctx *);
static int kyber_init_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
static void kyber_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(bio->bi_opf, ctx);
static void kyber_insert_requests(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx = READ_ONCE(wqe->private);
struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx)
static struct request *kyber_dispatch_request(struct blk_mq_hw_ctx *hctx)
static bool kyber_has_work(struct blk_mq_hw_ctx *hctx)
#define HCTX_FROM_SEQ_FILE(m) ((struct blk_mq_hw_ctx *)(m)->private)
struct blk_mq_hw_ctx *hctx = m->private; \
struct blk_mq_hw_ctx *hctx = m->private; \
struct blk_mq_hw_ctx *hctx = m->private; \
struct blk_mq_hw_ctx *hctx = data; \
struct blk_mq_hw_ctx *hctx = data;
struct blk_mq_hw_ctx *hctx = data;
static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx)
static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq,
static void dd_insert_requests(struct blk_mq_hw_ctx *hctx,
static bool dd_has_work(struct blk_mq_hw_ctx *hctx)
static blk_status_t amiflop_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t aoeblk_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t ataflop_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t floppy_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t loop_queue_rq(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx)
static bool mtip_check_unal_depth(struct blk_mq_hw_ctx *hctx,
static blk_status_t mtip_issue_reserved_cmd(struct blk_mq_hw_ctx *hctx,
static blk_status_t mtip_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t nbd_queue_rq(struct blk_mq_hw_ctx *hctx,
static int null_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
struct blk_mq_hw_ctx *hctx = rq->mq_hctx;
static blk_status_t null_queue_rq(struct blk_mq_hw_ctx *hctx,
static int null_init_hctx(struct blk_mq_hw_ctx *hctx, void *driver_data,
static blk_status_t ps3disk_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t rbd_queue_rq(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx,
static blk_status_t rnbd_queue_rq(struct blk_mq_hw_ctx *hctx,
static int rnbd_rdma_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx;
struct blk_mq_hw_ctx *hctx;
static blk_status_t vdc_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t swim_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t swim3_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t ublk_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t ublk_batch_queue_rq(struct blk_mq_hw_ctx *hctx,
static void ublk_commit_rqs(struct blk_mq_hw_ctx *hctx)
static int ublk_init_hctx(struct blk_mq_hw_ctx *hctx, void *driver_data,
static int virtblk_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
static inline struct virtio_blk_vq *get_virtio_blk_vq(struct blk_mq_hw_ctx *hctx)
static int virtblk_map_data(struct blk_mq_hw_ctx *hctx, struct request *req,
static void virtio_commit_rqs(struct blk_mq_hw_ctx *hctx)
static blk_status_t virtblk_prep_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t virtio_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t blkif_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t zloop_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t gdrom_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t dm_mq_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t msb_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t mspro_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t mmc_mq_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t mtd_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t ubiblock_queue_rq(struct blk_mq_hw_ctx *hctx,
static blk_status_t apple_nvme_queue_rq(struct blk_mq_hw_ctx *hctx,
static int apple_nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static int apple_nvme_poll(struct blk_mq_hw_ctx *hctx,
__nvme_fc_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, unsigned int qidx)
nvme_fc_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, unsigned int hctx_idx)
nvme_fc_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data,
nvme_fc_queue_rq(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *hctx;
static blk_status_t nvme_queue_rq(struct blk_mq_hw_ctx *hctx,
static int nvme_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
static int nvme_init_hctx_common(struct blk_mq_hw_ctx *hctx, void *data,
static int nvme_admin_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static int nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static void nvme_commit_rqs(struct blk_mq_hw_ctx *hctx)
static blk_status_t nvme_rdma_queue_rq(struct blk_mq_hw_ctx *hctx,
static int nvme_rdma_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
static int nvme_rdma_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static int nvme_rdma_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static void nvme_tcp_commit_rqs(struct blk_mq_hw_ctx *hctx)
static blk_status_t nvme_tcp_queue_rq(struct blk_mq_hw_ctx *hctx,
static int nvme_tcp_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
static int nvme_tcp_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static int nvme_tcp_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static blk_status_t nvme_loop_queue_rq(struct blk_mq_hw_ctx *hctx,
static int nvme_loop_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static int nvme_loop_init_admin_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static blk_status_t do_dasd_request(struct blk_mq_hw_ctx *hctx,
static int dasd_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static void dasd_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int idx)
static blk_status_t scm_blk_request(struct blk_mq_hw_ctx *hctx,
static int scm_blk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static void scm_blk_exit_hctx(struct blk_mq_hw_ctx *hctx, unsigned int idx)
static blk_status_t scsi_queue_rq(struct blk_mq_hw_ctx *hctx,
static int scsi_mq_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob)
static int scsi_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
static void scsi_commit_rqs(struct blk_mq_hw_ctx *hctx)
struct blk_mq_hw_ctx *hctx = READ_ONCE(req->mq_hctx);
static blk_status_t ufshcd_queue_tmf(struct blk_mq_hw_ctx *hctx,
static inline struct blk_mq_hw_ctx *queue_hctx(struct request_queue *q, int id)
struct blk_mq_hw_ctx *hctx;
void blk_mq_hctx_set_fq_lock_class(struct blk_mq_hw_ctx *hctx,
struct blk_mq_hw_ctx *mq_hctx;
blk_status_t (*queue_rq)(struct blk_mq_hw_ctx *,
void (*commit_rqs)(struct blk_mq_hw_ctx *);
int (*poll)(struct blk_mq_hw_ctx *, struct io_comp_batch *);
int (*init_hctx)(struct blk_mq_hw_ctx *, void *, unsigned int);
void (*exit_hctx)(struct blk_mq_hw_ctx *, unsigned int);
void blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx);
void blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx);
void blk_mq_start_stopped_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
void blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs);
void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
struct blk_mq_hw_ctx * __rcu *queue_hw_ctx __counted_by_ptr(nr_hw_queues);
TP_PROTO(struct request_queue *q, struct blk_mq_hw_ctx *hctx,