Lines Matching refs:io_req

114 				   struct fnic_io_req *io_req,  in fnic_release_ioreq_buf()  argument
117 if (io_req->sgl_list_pa) in fnic_release_ioreq_buf()
118 dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa, in fnic_release_ioreq_buf()
119 sizeof(io_req->sgl_list[0]) * io_req->sgl_cnt, in fnic_release_ioreq_buf()
123 if (io_req->sgl_cnt) in fnic_release_ioreq_buf()
124 mempool_free(io_req->sgl_list_alloc, in fnic_release_ioreq_buf()
125 fnic->io_sgl_pool[io_req->sgl_type]); in fnic_release_ioreq_buf()
126 if (io_req->sense_buf_pa) in fnic_release_ioreq_buf()
127 dma_unmap_single(&fnic->pdev->dev, io_req->sense_buf_pa, in fnic_release_ioreq_buf()
307 struct fnic_io_req *io_req, in fnic_queue_wq_copy_desc() argument
324 desc = io_req->sgl_list; in fnic_queue_wq_copy_desc()
332 io_req->sgl_list_pa = dma_map_single(&fnic->pdev->dev, in fnic_queue_wq_copy_desc()
333 io_req->sgl_list, in fnic_queue_wq_copy_desc()
334 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
336 if (dma_mapping_error(&fnic->pdev->dev, io_req->sgl_list_pa)) { in fnic_queue_wq_copy_desc()
342 io_req->sense_buf_pa = dma_map_single(&fnic->pdev->dev, in fnic_queue_wq_copy_desc()
346 if (dma_mapping_error(&fnic->pdev->dev, io_req->sense_buf_pa)) { in fnic_queue_wq_copy_desc()
347 dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
348 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
382 0, exch_flags, io_req->sgl_cnt, in fnic_queue_wq_copy_desc()
384 io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
385 io_req->sense_buf_pa, in fnic_queue_wq_copy_desc()
392 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
492 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_queuecommand_lck()
493 if (!io_req) { in fnic_queuecommand_lck()
498 memset(io_req, 0, sizeof(*io_req)); in fnic_queuecommand_lck()
505 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
510 io_req->sgl_cnt = sg_count; in fnic_queuecommand_lck()
511 io_req->sgl_type = FNIC_SGL_CACHE_DFLT; in fnic_queuecommand_lck()
513 io_req->sgl_type = FNIC_SGL_CACHE_MAX; in fnic_queuecommand_lck()
516 io_req->sgl_list = in fnic_queuecommand_lck()
517 mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], in fnic_queuecommand_lck()
519 if (!io_req->sgl_list) { in fnic_queuecommand_lck()
523 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
528 io_req->sgl_list_alloc = io_req->sgl_list; in fnic_queuecommand_lck()
529 ptr = (unsigned long) io_req->sgl_list; in fnic_queuecommand_lck()
531 io_req->sgl_list = (struct host_sg_desc *) in fnic_queuecommand_lck()
547 io_req->port_id = rport->port_id; in fnic_queuecommand_lck()
548 io_req->start_time = jiffies; in fnic_queuecommand_lck()
550 fnic_priv(sc)->io_req = io_req; in fnic_queuecommand_lck()
555 ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); in fnic_queuecommand_lck()
563 io_req = fnic_priv(sc)->io_req; in fnic_queuecommand_lck()
564 fnic_priv(sc)->io_req = NULL; in fnic_queuecommand_lck()
567 if (io_req) { in fnic_queuecommand_lck()
568 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_queuecommand_lck()
569 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
593 tag, sc, io_req, sg_count, cmd_trace, in fnic_queuecommand_lck()
815 struct fnic_io_req *io_req; in fnic_fcpio_icmnd_cmpl_handler() local
857 io_req = fnic_priv(sc)->io_req; in fnic_fcpio_icmnd_cmpl_handler()
858 WARN_ON_ONCE(!io_req); in fnic_fcpio_icmnd_cmpl_handler()
859 if (!io_req) { in fnic_fcpio_icmnd_cmpl_handler()
869 start_time = io_req->start_time; in fnic_fcpio_icmnd_cmpl_handler()
872 io_req->io_completed = 1; in fnic_fcpio_icmnd_cmpl_handler()
973 fnic_priv(sc)->io_req = NULL; in fnic_fcpio_icmnd_cmpl_handler()
982 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_icmnd_cmpl_handler()
1010 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_icmnd_cmpl_handler()
1053 struct fnic_io_req *io_req; in fnic_fcpio_itmf_cmpl_handler() local
1083 io_req = fnic_priv(sc)->io_req; in fnic_fcpio_itmf_cmpl_handler()
1084 WARN_ON_ONCE(!io_req); in fnic_fcpio_itmf_cmpl_handler()
1085 if (!io_req) { in fnic_fcpio_itmf_cmpl_handler()
1095 start_time = io_req->start_time; in fnic_fcpio_itmf_cmpl_handler()
1106 if (io_req->abts_done) in fnic_fcpio_itmf_cmpl_handler()
1107 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1167 if (io_req->abts_done) { in fnic_fcpio_itmf_cmpl_handler()
1168 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1173 fnic_priv(sc)->io_req = NULL; in fnic_fcpio_itmf_cmpl_handler()
1178 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_itmf_cmpl_handler()
1179 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_itmf_cmpl_handler()
1235 if (io_req->dr_done) in fnic_fcpio_itmf_cmpl_handler()
1236 complete(io_req->dr_done); in fnic_fcpio_itmf_cmpl_handler()
1345 struct fnic_io_req *io_req; in fnic_cleanup_io_iter() local
1354 io_req = fnic_priv(sc)->io_req; in fnic_cleanup_io_iter()
1362 if (io_req && io_req->dr_done) in fnic_cleanup_io_iter()
1363 complete(io_req->dr_done); in fnic_cleanup_io_iter()
1364 else if (io_req && io_req->abts_done) in fnic_cleanup_io_iter()
1365 complete(io_req->abts_done); in fnic_cleanup_io_iter()
1372 if (!io_req) { in fnic_cleanup_io_iter()
1377 fnic_priv(sc)->io_req = NULL; in fnic_cleanup_io_iter()
1385 start_time = io_req->start_time; in fnic_cleanup_io_iter()
1386 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_cleanup_io_iter()
1387 mempool_free(io_req, fnic->io_req_pool); in fnic_cleanup_io_iter()
1431 struct fnic_io_req *io_req; in fnic_wq_copy_cleanup_handler() local
1452 io_req = fnic_priv(sc)->io_req; in fnic_wq_copy_cleanup_handler()
1456 if (!io_req) { in fnic_wq_copy_cleanup_handler()
1461 fnic_priv(sc)->io_req = NULL; in fnic_wq_copy_cleanup_handler()
1465 start_time = io_req->start_time; in fnic_wq_copy_cleanup_handler()
1466 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_wq_copy_cleanup_handler()
1467 mempool_free(io_req, fnic->io_req_pool); in fnic_wq_copy_cleanup_handler()
1487 struct fnic_io_req *io_req) in fnic_queue_abort_io_req() argument
1517 0, task_req, tag, fc_lun, io_req->port_id, in fnic_queue_abort_io_req()
1543 struct fnic_io_req *io_req; in fnic_rport_abort_io_iter() local
1554 io_req = fnic_priv(sc)->io_req; in fnic_rport_abort_io_iter()
1556 if (!io_req || io_req->port_id != iter_data->port_id) { in fnic_rport_abort_io_iter()
1578 if (io_req->abts_done) { in fnic_rport_abort_io_iter()
1601 BUG_ON(io_req->abts_done); in fnic_rport_abort_io_iter()
1613 fc_lun.scsi_lun, io_req)) { in fnic_rport_abort_io_iter()
1706 struct fnic_io_req *io_req = NULL; in fnic_abort_cmd() local
1760 io_req = fnic_priv(sc)->io_req; in fnic_abort_cmd()
1761 if (!io_req) { in fnic_abort_cmd()
1766 io_req->abts_done = &tm_done; in fnic_abort_cmd()
1773 abt_issued_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); in fnic_abort_cmd()
1819 io_req)) { in fnic_abort_cmd()
1823 io_req = fnic_priv(sc)->io_req; in fnic_abort_cmd()
1824 if (io_req) in fnic_abort_cmd()
1825 io_req->abts_done = NULL; in fnic_abort_cmd()
1852 io_req = fnic_priv(sc)->io_req; in fnic_abort_cmd()
1853 if (!io_req) { in fnic_abort_cmd()
1860 io_req->abts_done = NULL; in fnic_abort_cmd()
1888 start_time = io_req->start_time; in fnic_abort_cmd()
1895 fnic_priv(sc)->io_req = NULL; in fnic_abort_cmd()
1904 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_abort_cmd()
1905 mempool_free(io_req, fnic->io_req_pool); in fnic_abort_cmd()
1933 struct fnic_io_req *io_req) in fnic_queue_dr_io_req() argument
1969 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_dr_io_req()
1998 struct fnic_io_req *io_req; in fnic_pending_aborts_iter() local
2010 io_req = fnic_priv(sc)->io_req; in fnic_pending_aborts_iter()
2011 if (!io_req) { in fnic_pending_aborts_iter()
2037 if (io_req->abts_done) in fnic_pending_aborts_iter()
2051 BUG_ON(io_req->abts_done); in fnic_pending_aborts_iter()
2060 io_req->abts_done = &tm_done; in fnic_pending_aborts_iter()
2068 fc_lun.scsi_lun, io_req)) { in fnic_pending_aborts_iter()
2070 io_req = fnic_priv(sc)->io_req; in fnic_pending_aborts_iter()
2071 if (io_req) in fnic_pending_aborts_iter()
2072 io_req->abts_done = NULL; in fnic_pending_aborts_iter()
2091 io_req = fnic_priv(sc)->io_req; in fnic_pending_aborts_iter()
2092 if (!io_req) { in fnic_pending_aborts_iter()
2098 io_req->abts_done = NULL; in fnic_pending_aborts_iter()
2111 fnic_priv(sc)->io_req = NULL; in fnic_pending_aborts_iter()
2116 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_pending_aborts_iter()
2117 mempool_free(io_req, fnic->io_req_pool); in fnic_pending_aborts_iter()
2211 struct fnic_io_req *io_req = NULL; in fnic_device_reset() local
2268 io_req = fnic_priv(sc)->io_req; in fnic_device_reset()
2274 if (!io_req) { in fnic_device_reset()
2275 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_device_reset()
2276 if (!io_req) { in fnic_device_reset()
2280 memset(io_req, 0, sizeof(*io_req)); in fnic_device_reset()
2281 io_req->port_id = rport->port_id; in fnic_device_reset()
2282 fnic_priv(sc)->io_req = io_req; in fnic_device_reset()
2284 io_req->dr_done = &tm_done; in fnic_device_reset()
2295 if (fnic_queue_dr_io_req(fnic, sc, io_req)) { in fnic_device_reset()
2297 io_req = fnic_priv(sc)->io_req; in fnic_device_reset()
2298 if (io_req) in fnic_device_reset()
2299 io_req->dr_done = NULL; in fnic_device_reset()
2314 io_req = fnic_priv(sc)->io_req; in fnic_device_reset()
2315 if (!io_req) { in fnic_device_reset()
2321 io_req->dr_done = NULL; in fnic_device_reset()
2350 fc_lun.scsi_lun, io_req)) { in fnic_device_reset()
2357 io_req->abts_done = &tm_done; in fnic_device_reset()
2373 io_req = fnic_priv(sc)->io_req; in fnic_device_reset()
2374 io_req->abts_done = NULL; in fnic_device_reset()
2388 io_req = fnic_priv(sc)->io_req; in fnic_device_reset()
2401 io_req = fnic_priv(sc)->io_req; in fnic_device_reset()
2410 io_req = fnic_priv(sc)->io_req; in fnic_device_reset()
2411 if (io_req) in fnic_device_reset()
2416 if (io_req) in fnic_device_reset()
2417 fnic_priv(sc)->io_req = NULL; in fnic_device_reset()
2421 if (io_req) { in fnic_device_reset()
2422 start_time = io_req->start_time; in fnic_device_reset()
2423 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_device_reset()
2424 mempool_free(io_req, fnic->io_req_pool); in fnic_device_reset()
2661 struct fnic_io_req *io_req; in fnic_abts_pending_iter() local
2677 io_req = fnic_priv(sc)->io_req; in fnic_abts_pending_iter()
2678 if (!io_req) { in fnic_abts_pending_iter()