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()
428 struct fnic_io_req *io_req = NULL; in fnic_queuecommand_lck() local
503 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_queuecommand_lck()
504 if (!io_req) { in fnic_queuecommand_lck()
509 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 tag, sc, io_req, sg_count, cmd_trace, in fnic_queuecommand_lck()
828 struct fnic_io_req *io_req; in fnic_fcpio_icmnd_cmpl_handler() local
870 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_icmnd_cmpl_handler()
871 WARN_ON_ONCE(!io_req); in fnic_fcpio_icmnd_cmpl_handler()
872 if (!io_req) { in fnic_fcpio_icmnd_cmpl_handler()
882 start_time = io_req->start_time; in fnic_fcpio_icmnd_cmpl_handler()
885 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()
1368 struct fnic_io_req *io_req; in fnic_cleanup_io_iter() local
1377 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_cleanup_io_iter()
1385 if (io_req && io_req->dr_done) in fnic_cleanup_io_iter()
1386 complete(io_req->dr_done); in fnic_cleanup_io_iter()
1387 else if (io_req && io_req->abts_done) in fnic_cleanup_io_iter()
1388 complete(io_req->abts_done); in fnic_cleanup_io_iter()
1395 if (!io_req) { in fnic_cleanup_io_iter()
1408 start_time = io_req->start_time; in fnic_cleanup_io_iter()
1409 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_cleanup_io_iter()
1410 mempool_free(io_req, fnic->io_req_pool); in fnic_cleanup_io_iter()
1455 struct fnic_io_req *io_req; in fnic_wq_copy_cleanup_handler() local
1476 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_wq_copy_cleanup_handler()
1480 if (!io_req) { in fnic_wq_copy_cleanup_handler()
1489 start_time = io_req->start_time; in fnic_wq_copy_cleanup_handler()
1490 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_wq_copy_cleanup_handler()
1491 mempool_free(io_req, fnic->io_req_pool); in fnic_wq_copy_cleanup_handler()
1513 struct fnic_io_req *io_req) in fnic_queue_abort_io_req() argument
1543 0, task_req, tag, fc_lun, io_req->port_id, in fnic_queue_abort_io_req()
1570 struct fnic_io_req *io_req; in fnic_rport_abort_io_iter() local
1581 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_rport_abort_io_iter()
1583 if (!io_req || io_req->port_id != iter_data->port_id) { in fnic_rport_abort_io_iter()
1605 if (io_req->abts_done) { in fnic_rport_abort_io_iter()
1628 BUG_ON(io_req->abts_done); in fnic_rport_abort_io_iter()
1640 fc_lun.scsi_lun, io_req)) { in fnic_rport_abort_io_iter()
1733 struct fnic_io_req *io_req = NULL; in fnic_abort_cmd() local
1787 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1788 if (!io_req) { in fnic_abort_cmd()
1793 io_req->abts_done = &tm_done; in fnic_abort_cmd()
1800 abt_issued_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); in fnic_abort_cmd()
1846 io_req)) { in fnic_abort_cmd()
1850 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1851 if (io_req) in fnic_abort_cmd()
1852 io_req->abts_done = NULL; in fnic_abort_cmd()
1879 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1880 if (!io_req) { in fnic_abort_cmd()
1887 io_req->abts_done = NULL; in fnic_abort_cmd()
1915 start_time = io_req->start_time; in fnic_abort_cmd()
1931 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_abort_cmd()
1932 mempool_free(io_req, fnic->io_req_pool); in fnic_abort_cmd()
1962 struct fnic_io_req *io_req) in fnic_queue_dr_io_req() argument
1998 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_dr_io_req()
2028 struct fnic_io_req *io_req; in fnic_pending_aborts_iter() local
2042 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_pending_aborts_iter()
2043 if (!io_req) { in fnic_pending_aborts_iter()
2069 if (io_req->abts_done) in fnic_pending_aborts_iter()
2083 BUG_ON(io_req->abts_done); in fnic_pending_aborts_iter()
2092 io_req->abts_done = &tm_done; in fnic_pending_aborts_iter()
2100 fc_lun.scsi_lun, io_req)) { in fnic_pending_aborts_iter()
2102 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_pending_aborts_iter()
2103 if (io_req) in fnic_pending_aborts_iter()
2104 io_req->abts_done = NULL; in fnic_pending_aborts_iter()
2123 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_pending_aborts_iter()
2124 if (!io_req) { in fnic_pending_aborts_iter()
2130 io_req->abts_done = NULL; in fnic_pending_aborts_iter()
2148 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_pending_aborts_iter()
2149 mempool_free(io_req, fnic->io_req_pool); in fnic_pending_aborts_iter()
2244 struct fnic_io_req *io_req = NULL; in fnic_device_reset() local
2301 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2307 if (!io_req) { in fnic_device_reset()
2308 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_device_reset()
2309 if (!io_req) { in fnic_device_reset()
2313 memset(io_req, 0, sizeof(*io_req)); in fnic_device_reset()
2314 io_req->port_id = rport->port_id; in fnic_device_reset()
2315 CMD_SP(sc) = (char *)io_req; in fnic_device_reset()
2317 io_req->dr_done = &tm_done; in fnic_device_reset()
2328 if (fnic_queue_dr_io_req(fnic, sc, io_req)) { in fnic_device_reset()
2330 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2331 if (io_req) in fnic_device_reset()
2332 io_req->dr_done = NULL; in fnic_device_reset()
2347 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2348 if (!io_req) { in fnic_device_reset()
2354 io_req->dr_done = NULL; in fnic_device_reset()
2383 fc_lun.scsi_lun, io_req)) { in fnic_device_reset()
2390 io_req->abts_done = &tm_done; in fnic_device_reset()
2406 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2407 io_req->abts_done = NULL; in fnic_device_reset()
2421 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2434 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2443 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2444 if (io_req) in fnic_device_reset()
2449 if (io_req) in fnic_device_reset()
2454 if (io_req) { in fnic_device_reset()
2455 start_time = io_req->start_time; in fnic_device_reset()
2456 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_device_reset()
2457 mempool_free(io_req, fnic->io_req_pool); in fnic_device_reset()
2695 struct fnic_io_req *io_req; in fnic_abts_pending_iter() local
2711 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abts_pending_iter()
2712 if (!io_req) { in fnic_abts_pending_iter()