Lines Matching refs:rq
439 static inline void nvme_nvm_rqtocmd(struct request *rq, struct nvm_rq *rqd, in nvme_nvm_rqtocmd() argument
453 static void nvme_nvm_end_io(struct request *rq, int error) in nvme_nvm_end_io() argument
455 struct nvm_rq *rqd = rq->end_io_data; in nvme_nvm_end_io()
460 rq->errors, (unsigned long)rq->special); in nvme_nvm_end_io()
462 kfree(rq->cmd); in nvme_nvm_end_io()
463 blk_mq_free_request(rq); in nvme_nvm_end_io()
470 struct request *rq; in nvme_nvm_submit_io() local
474 rq = blk_mq_alloc_request(q, bio_rw(bio), GFP_KERNEL, 0); in nvme_nvm_submit_io()
475 if (IS_ERR(rq)) in nvme_nvm_submit_io()
480 blk_mq_free_request(rq); in nvme_nvm_submit_io()
484 rq->cmd_type = REQ_TYPE_DRV_PRIV; in nvme_nvm_submit_io()
485 rq->ioprio = bio_prio(bio); in nvme_nvm_submit_io()
488 rq->nr_phys_segments = bio_phys_segments(q, bio); in nvme_nvm_submit_io()
490 rq->__data_len = bio->bi_iter.bi_size; in nvme_nvm_submit_io()
491 rq->bio = rq->biotail = bio; in nvme_nvm_submit_io()
493 nvme_nvm_rqtocmd(rq, rqd, ns, cmd); in nvme_nvm_submit_io()
495 rq->cmd = (unsigned char *)cmd; in nvme_nvm_submit_io()
496 rq->cmd_len = sizeof(struct nvme_nvm_command); in nvme_nvm_submit_io()
497 rq->special = (void *)0; in nvme_nvm_submit_io()
499 rq->end_io_data = rqd; in nvme_nvm_submit_io()
501 blk_execute_rq_nowait(q, NULL, rq, 0, nvme_nvm_end_io); in nvme_nvm_submit_io()