Lines Matching refs:io_req

125 				   struct fnic_io_req *io_req,  in fnic_release_ioreq_buf()  argument
128 if (io_req->sgl_list_pa) in fnic_release_ioreq_buf()
129 pci_unmap_single(fnic->pdev, io_req->sgl_list_pa, in fnic_release_ioreq_buf()
130 sizeof(io_req->sgl_list[0]) * io_req->sgl_cnt, in fnic_release_ioreq_buf()
134 if (io_req->sgl_cnt) in fnic_release_ioreq_buf()
135 mempool_free(io_req->sgl_list_alloc, in fnic_release_ioreq_buf()
136 fnic->io_sgl_pool[io_req->sgl_type]); in fnic_release_ioreq_buf()
137 if (io_req->sense_buf_pa) in fnic_release_ioreq_buf()
138 pci_unmap_single(fnic->pdev, io_req->sense_buf_pa, in fnic_release_ioreq_buf()
319 struct fnic_io_req *io_req, in fnic_queue_wq_copy_desc() argument
336 desc = io_req->sgl_list; in fnic_queue_wq_copy_desc()
344 io_req->sgl_list_pa = pci_map_single in fnic_queue_wq_copy_desc()
346 io_req->sgl_list, in fnic_queue_wq_copy_desc()
347 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
351 io_req->sense_buf_pa = pci_map_single(fnic->pdev, in fnic_queue_wq_copy_desc()
384 0, exch_flags, io_req->sgl_cnt, in fnic_queue_wq_copy_desc()
386 io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
387 io_req->sense_buf_pa, in fnic_queue_wq_copy_desc()
394 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_wq_copy_desc()
417 struct fnic_io_req *io_req = NULL; in fnic_queuecommand_lck() local
467 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_queuecommand_lck()
468 if (!io_req) { in fnic_queuecommand_lck()
473 memset(io_req, 0, sizeof(*io_req)); in fnic_queuecommand_lck()
481 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
486 io_req->sgl_cnt = sg_count; in fnic_queuecommand_lck()
487 io_req->sgl_type = FNIC_SGL_CACHE_DFLT; in fnic_queuecommand_lck()
489 io_req->sgl_type = FNIC_SGL_CACHE_MAX; in fnic_queuecommand_lck()
492 io_req->sgl_list = in fnic_queuecommand_lck()
493 mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], in fnic_queuecommand_lck()
495 if (!io_req->sgl_list) { in fnic_queuecommand_lck()
499 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
504 io_req->sgl_list_alloc = io_req->sgl_list; in fnic_queuecommand_lck()
505 ptr = (unsigned long) io_req->sgl_list; in fnic_queuecommand_lck()
507 io_req->sgl_list = (struct host_sg_desc *) in fnic_queuecommand_lck()
523 io_req->port_id = rport->port_id; in fnic_queuecommand_lck()
524 io_req->start_time = jiffies; in fnic_queuecommand_lck()
526 CMD_SP(sc) = (char *)io_req; in fnic_queuecommand_lck()
532 ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); in fnic_queuecommand_lck()
541 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_queuecommand_lck()
545 if (io_req) { in fnic_queuecommand_lck()
546 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_queuecommand_lck()
547 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
571 sc->request->tag, sc, io_req, in fnic_queuecommand_lck()
793 struct fnic_io_req *io_req; in fnic_fcpio_icmnd_cmpl_handler() local
834 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_icmnd_cmpl_handler()
835 WARN_ON_ONCE(!io_req); in fnic_fcpio_icmnd_cmpl_handler()
836 if (!io_req) { in fnic_fcpio_icmnd_cmpl_handler()
846 start_time = io_req->start_time; in fnic_fcpio_icmnd_cmpl_handler()
849 io_req->io_completed = 1; in fnic_fcpio_icmnd_cmpl_handler()
962 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_icmnd_cmpl_handler()
964 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_icmnd_cmpl_handler()
1011 struct fnic_io_req *io_req; in fnic_fcpio_itmf_cmpl_handler() local
1041 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_itmf_cmpl_handler()
1042 WARN_ON_ONCE(!io_req); in fnic_fcpio_itmf_cmpl_handler()
1043 if (!io_req) { in fnic_fcpio_itmf_cmpl_handler()
1053 start_time = io_req->start_time; in fnic_fcpio_itmf_cmpl_handler()
1064 if (io_req->abts_done) in fnic_fcpio_itmf_cmpl_handler()
1065 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1121 if (io_req->abts_done) { in fnic_fcpio_itmf_cmpl_handler()
1122 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1132 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_itmf_cmpl_handler()
1133 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_itmf_cmpl_handler()
1190 if (io_req->dr_done) in fnic_fcpio_itmf_cmpl_handler()
1191 complete(io_req->dr_done); in fnic_fcpio_itmf_cmpl_handler()
1280 struct fnic_io_req *io_req; in fnic_cleanup_io() local
1299 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_cleanup_io()
1307 if (io_req && io_req->dr_done) in fnic_cleanup_io()
1308 complete(io_req->dr_done); in fnic_cleanup_io()
1309 else if (io_req && io_req->abts_done) in fnic_cleanup_io()
1310 complete(io_req->abts_done); in fnic_cleanup_io()
1317 if (!io_req) { in fnic_cleanup_io()
1330 start_time = io_req->start_time; in fnic_cleanup_io()
1331 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_cleanup_io()
1332 mempool_free(io_req, fnic->io_req_pool); in fnic_cleanup_io()
1366 struct fnic_io_req *io_req; in fnic_wq_copy_cleanup_handler() local
1387 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_wq_copy_cleanup_handler()
1391 if (!io_req) { in fnic_wq_copy_cleanup_handler()
1400 start_time = io_req->start_time; in fnic_wq_copy_cleanup_handler()
1401 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_wq_copy_cleanup_handler()
1402 mempool_free(io_req, fnic->io_req_pool); in fnic_wq_copy_cleanup_handler()
1424 struct fnic_io_req *io_req) in fnic_queue_abort_io_req() argument
1454 0, task_req, tag, fc_lun, io_req->port_id, in fnic_queue_abort_io_req()
1474 struct fnic_io_req *io_req; in fnic_rport_exch_reset() local
1501 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_rport_exch_reset()
1503 if (!io_req || io_req->port_id != port_id) { in fnic_rport_exch_reset()
1525 if (io_req->abts_done) { in fnic_rport_exch_reset()
1550 BUG_ON(io_req->abts_done); in fnic_rport_exch_reset()
1562 fc_lun.scsi_lun, io_req)) { in fnic_rport_exch_reset()
1594 struct fnic_io_req *io_req; in fnic_terminate_rport_io() local
1652 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_terminate_rport_io()
1654 if (!io_req || rport != cmd_rport) { in fnic_terminate_rport_io()
1675 if (io_req->abts_done) { in fnic_terminate_rport_io()
1698 BUG_ON(io_req->abts_done); in fnic_terminate_rport_io()
1711 fc_lun.scsi_lun, io_req)) { in fnic_terminate_rport_io()
1747 struct fnic_io_req *io_req = NULL; in fnic_abort_cmd() local
1801 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1802 if (!io_req) { in fnic_abort_cmd()
1807 io_req->abts_done = &tm_done; in fnic_abort_cmd()
1841 fc_lun.scsi_lun, io_req)) { in fnic_abort_cmd()
1845 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1846 if (io_req) in fnic_abort_cmd()
1847 io_req->abts_done = NULL; in fnic_abort_cmd()
1874 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1875 if (!io_req) { in fnic_abort_cmd()
1882 io_req->abts_done = NULL; in fnic_abort_cmd()
1925 start_time = io_req->start_time; in fnic_abort_cmd()
1926 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_abort_cmd()
1927 mempool_free(io_req, fnic->io_req_pool); in fnic_abort_cmd()
1947 struct fnic_io_req *io_req) in fnic_queue_dr_io_req() argument
1983 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_dr_io_req()
2009 struct fnic_io_req *io_req; in fnic_clean_pending_aborts() local
2032 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2034 if (!io_req || sc->device != lun_dev) { in fnic_clean_pending_aborts()
2060 if (io_req->abts_done) in fnic_clean_pending_aborts()
2074 BUG_ON(io_req->abts_done); in fnic_clean_pending_aborts()
2084 io_req->abts_done = &tm_done; in fnic_clean_pending_aborts()
2092 fc_lun.scsi_lun, io_req)) { in fnic_clean_pending_aborts()
2094 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2095 if (io_req) in fnic_clean_pending_aborts()
2096 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2116 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2117 if (!io_req) { in fnic_clean_pending_aborts()
2123 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2136 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_clean_pending_aborts()
2137 mempool_free(io_req, fnic->io_req_pool); in fnic_clean_pending_aborts()
2218 struct fnic_io_req *io_req = NULL; in fnic_device_reset() local
2286 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2292 if (!io_req) { in fnic_device_reset()
2293 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_device_reset()
2294 if (!io_req) { in fnic_device_reset()
2298 memset(io_req, 0, sizeof(*io_req)); in fnic_device_reset()
2299 io_req->port_id = rport->port_id; in fnic_device_reset()
2300 CMD_SP(sc) = (char *)io_req; in fnic_device_reset()
2302 io_req->dr_done = &tm_done; in fnic_device_reset()
2313 if (fnic_queue_dr_io_req(fnic, sc, io_req)) { in fnic_device_reset()
2315 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2316 if (io_req) in fnic_device_reset()
2317 io_req->dr_done = NULL; in fnic_device_reset()
2332 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2333 if (!io_req) { in fnic_device_reset()
2339 io_req->dr_done = NULL; in fnic_device_reset()
2368 fc_lun.scsi_lun, io_req)) { in fnic_device_reset()
2375 io_req->abts_done = &tm_done; in fnic_device_reset()
2391 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2392 io_req->abts_done = NULL; in fnic_device_reset()
2406 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2419 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2428 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2429 if (io_req) in fnic_device_reset()
2434 if (io_req) in fnic_device_reset()
2439 if (io_req) { in fnic_device_reset()
2440 start_time = io_req->start_time; in fnic_device_reset()
2441 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_device_reset()
2442 mempool_free(io_req, fnic->io_req_pool); in fnic_device_reset()
2668 struct fnic_io_req *io_req; in fnic_is_abts_pending() local
2691 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_is_abts_pending()
2693 if (!io_req || sc->device != lun_dev) { in fnic_is_abts_pending()