Lines Matching refs:io_req

126 				   struct fnic_io_req *io_req,  in fnic_release_ioreq_buf()  argument
129 if (io_req->sgl_list_pa) in fnic_release_ioreq_buf()
130 dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa, in fnic_release_ioreq_buf()
131 sizeof(io_req->sgl_list[0]) * io_req->sgl_cnt, in fnic_release_ioreq_buf()
135 if (io_req->sgl_cnt) in fnic_release_ioreq_buf()
136 mempool_free(io_req->sgl_list_alloc, in fnic_release_ioreq_buf()
137 fnic->io_sgl_pool[io_req->sgl_type]); in fnic_release_ioreq_buf()
138 if (io_req->sense_buf_pa) in fnic_release_ioreq_buf()
139 dma_unmap_single(&fnic->pdev->dev, 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 = dma_map_single(&fnic->pdev->dev, in fnic_queue_wq_copy_desc()
345 io_req->sgl_list, in fnic_queue_wq_copy_desc()
346 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
348 if (dma_mapping_error(&fnic->pdev->dev, io_req->sgl_list_pa)) { in fnic_queue_wq_copy_desc()
354 io_req->sense_buf_pa = dma_map_single(&fnic->pdev->dev, in fnic_queue_wq_copy_desc()
358 if (dma_mapping_error(&fnic->pdev->dev, io_req->sense_buf_pa)) { in fnic_queue_wq_copy_desc()
359 dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
360 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
394 0, exch_flags, io_req->sgl_cnt, in fnic_queue_wq_copy_desc()
396 io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
397 io_req->sense_buf_pa, in fnic_queue_wq_copy_desc()
404 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_wq_copy_desc()
427 struct fnic_io_req *io_req = NULL; in fnic_queuecommand_lck() local
502 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_queuecommand_lck()
503 if (!io_req) { in fnic_queuecommand_lck()
508 memset(io_req, 0, sizeof(*io_req)); in fnic_queuecommand_lck()
516 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
521 io_req->sgl_cnt = sg_count; in fnic_queuecommand_lck()
522 io_req->sgl_type = FNIC_SGL_CACHE_DFLT; in fnic_queuecommand_lck()
524 io_req->sgl_type = FNIC_SGL_CACHE_MAX; in fnic_queuecommand_lck()
527 io_req->sgl_list = in fnic_queuecommand_lck()
528 mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], in fnic_queuecommand_lck()
530 if (!io_req->sgl_list) { in fnic_queuecommand_lck()
534 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
539 io_req->sgl_list_alloc = io_req->sgl_list; in fnic_queuecommand_lck()
540 ptr = (unsigned long) io_req->sgl_list; in fnic_queuecommand_lck()
542 io_req->sgl_list = (struct host_sg_desc *) in fnic_queuecommand_lck()
558 io_req->port_id = rport->port_id; in fnic_queuecommand_lck()
559 io_req->start_time = jiffies; in fnic_queuecommand_lck()
561 CMD_SP(sc) = (char *)io_req; in fnic_queuecommand_lck()
567 ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); in fnic_queuecommand_lck()
576 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_queuecommand_lck()
580 if (io_req) { in fnic_queuecommand_lck()
581 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_queuecommand_lck()
582 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
606 sc->request->tag, sc, io_req, in fnic_queuecommand_lck()
829 struct fnic_io_req *io_req; in fnic_fcpio_icmnd_cmpl_handler() local
871 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_icmnd_cmpl_handler()
872 WARN_ON_ONCE(!io_req); in fnic_fcpio_icmnd_cmpl_handler()
873 if (!io_req) { in fnic_fcpio_icmnd_cmpl_handler()
883 start_time = io_req->start_time; in fnic_fcpio_icmnd_cmpl_handler()
886 io_req->io_completed = 1; in fnic_fcpio_icmnd_cmpl_handler()
997 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_icmnd_cmpl_handler()
999 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_icmnd_cmpl_handler()
1069 struct fnic_io_req *io_req; in fnic_fcpio_itmf_cmpl_handler() local
1099 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_itmf_cmpl_handler()
1100 WARN_ON_ONCE(!io_req); in fnic_fcpio_itmf_cmpl_handler()
1101 if (!io_req) { in fnic_fcpio_itmf_cmpl_handler()
1111 start_time = io_req->start_time; in fnic_fcpio_itmf_cmpl_handler()
1122 if (io_req->abts_done) in fnic_fcpio_itmf_cmpl_handler()
1123 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1183 if (io_req->abts_done) { in fnic_fcpio_itmf_cmpl_handler()
1184 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1194 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_itmf_cmpl_handler()
1195 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_itmf_cmpl_handler()
1257 if (io_req->dr_done) in fnic_fcpio_itmf_cmpl_handler()
1258 complete(io_req->dr_done); in fnic_fcpio_itmf_cmpl_handler()
1366 struct fnic_io_req *io_req; in fnic_cleanup_io() local
1385 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_cleanup_io()
1393 if (io_req && io_req->dr_done) in fnic_cleanup_io()
1394 complete(io_req->dr_done); in fnic_cleanup_io()
1395 else if (io_req && io_req->abts_done) in fnic_cleanup_io()
1396 complete(io_req->abts_done); in fnic_cleanup_io()
1403 if (!io_req) { in fnic_cleanup_io()
1416 start_time = io_req->start_time; in fnic_cleanup_io()
1417 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_cleanup_io()
1418 mempool_free(io_req, fnic->io_req_pool); in fnic_cleanup_io()
1457 struct fnic_io_req *io_req; in fnic_wq_copy_cleanup_handler() local
1478 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_wq_copy_cleanup_handler()
1482 if (!io_req) { in fnic_wq_copy_cleanup_handler()
1491 start_time = io_req->start_time; in fnic_wq_copy_cleanup_handler()
1492 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_wq_copy_cleanup_handler()
1493 mempool_free(io_req, fnic->io_req_pool); in fnic_wq_copy_cleanup_handler()
1515 struct fnic_io_req *io_req) in fnic_queue_abort_io_req() argument
1545 0, task_req, tag, fc_lun, io_req->port_id, in fnic_queue_abort_io_req()
1565 struct fnic_io_req *io_req; in fnic_rport_exch_reset() local
1592 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_rport_exch_reset()
1594 if (!io_req || io_req->port_id != port_id) { in fnic_rport_exch_reset()
1616 if (io_req->abts_done) { in fnic_rport_exch_reset()
1641 BUG_ON(io_req->abts_done); in fnic_rport_exch_reset()
1653 fc_lun.scsi_lun, io_req)) { in fnic_rport_exch_reset()
1685 struct fnic_io_req *io_req; in fnic_terminate_rport_io() local
1743 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_terminate_rport_io()
1745 if (!io_req || rport != cmd_rport) { in fnic_terminate_rport_io()
1766 if (io_req->abts_done) { in fnic_terminate_rport_io()
1789 BUG_ON(io_req->abts_done); in fnic_terminate_rport_io()
1802 fc_lun.scsi_lun, io_req)) { in fnic_terminate_rport_io()
1838 struct fnic_io_req *io_req = NULL; in fnic_abort_cmd() local
1893 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1894 if (!io_req) { in fnic_abort_cmd()
1899 io_req->abts_done = &tm_done; in fnic_abort_cmd()
1906 abt_issued_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); in fnic_abort_cmd()
1952 fc_lun.scsi_lun, io_req)) { in fnic_abort_cmd()
1956 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1957 if (io_req) in fnic_abort_cmd()
1958 io_req->abts_done = NULL; in fnic_abort_cmd()
1985 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1986 if (!io_req) { in fnic_abort_cmd()
1993 io_req->abts_done = NULL; in fnic_abort_cmd()
2021 start_time = io_req->start_time; in fnic_abort_cmd()
2037 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_abort_cmd()
2038 mempool_free(io_req, fnic->io_req_pool); in fnic_abort_cmd()
2069 struct fnic_io_req *io_req) in fnic_queue_dr_io_req() argument
2105 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_dr_io_req()
2133 struct fnic_io_req *io_req; in fnic_clean_pending_aborts() local
2156 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2158 if (!io_req || sc->device != lun_dev) { in fnic_clean_pending_aborts()
2184 if (io_req->abts_done) in fnic_clean_pending_aborts()
2198 BUG_ON(io_req->abts_done); in fnic_clean_pending_aborts()
2208 io_req->abts_done = &tm_done; in fnic_clean_pending_aborts()
2216 fc_lun.scsi_lun, io_req)) { in fnic_clean_pending_aborts()
2218 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2219 if (io_req) in fnic_clean_pending_aborts()
2220 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2240 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2241 if (!io_req) { in fnic_clean_pending_aborts()
2247 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2265 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_clean_pending_aborts()
2266 mempool_free(io_req, fnic->io_req_pool); in fnic_clean_pending_aborts()
2331 struct fnic_io_req *io_req = NULL; in fnic_device_reset() local
2389 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2395 if (!io_req) { in fnic_device_reset()
2396 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_device_reset()
2397 if (!io_req) { in fnic_device_reset()
2401 memset(io_req, 0, sizeof(*io_req)); in fnic_device_reset()
2402 io_req->port_id = rport->port_id; in fnic_device_reset()
2403 CMD_SP(sc) = (char *)io_req; in fnic_device_reset()
2405 io_req->dr_done = &tm_done; in fnic_device_reset()
2416 if (fnic_queue_dr_io_req(fnic, sc, io_req)) { in fnic_device_reset()
2418 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2419 if (io_req) in fnic_device_reset()
2420 io_req->dr_done = NULL; in fnic_device_reset()
2435 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2436 if (!io_req) { in fnic_device_reset()
2442 io_req->dr_done = NULL; in fnic_device_reset()
2471 fc_lun.scsi_lun, io_req)) { in fnic_device_reset()
2478 io_req->abts_done = &tm_done; in fnic_device_reset()
2494 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2495 io_req->abts_done = NULL; in fnic_device_reset()
2509 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2522 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2531 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2532 if (io_req) in fnic_device_reset()
2537 if (io_req) in fnic_device_reset()
2542 if (io_req) { in fnic_device_reset()
2543 start_time = io_req->start_time; in fnic_device_reset()
2544 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_device_reset()
2545 mempool_free(io_req, fnic->io_req_pool); in fnic_device_reset()
2787 struct fnic_io_req *io_req; in fnic_is_abts_pending() local
2810 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_is_abts_pending()
2812 if (!io_req || sc->device != lun_dev) { in fnic_is_abts_pending()