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 dma_unmap_single(&fnic->pdev->dev, 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 dma_unmap_single(&fnic->pdev->dev, io_req->sense_buf_pa, in fnic_release_ioreq_buf()
318 struct fnic_io_req *io_req, in fnic_queue_wq_copy_desc() argument
335 desc = io_req->sgl_list; in fnic_queue_wq_copy_desc()
343 io_req->sgl_list_pa = dma_map_single(&fnic->pdev->dev, in fnic_queue_wq_copy_desc()
344 io_req->sgl_list, in fnic_queue_wq_copy_desc()
345 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
347 if (dma_mapping_error(&fnic->pdev->dev, io_req->sgl_list_pa)) { in fnic_queue_wq_copy_desc()
353 io_req->sense_buf_pa = dma_map_single(&fnic->pdev->dev, in fnic_queue_wq_copy_desc()
357 if (dma_mapping_error(&fnic->pdev->dev, io_req->sense_buf_pa)) { in fnic_queue_wq_copy_desc()
358 dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
359 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
393 0, exch_flags, io_req->sgl_cnt, in fnic_queue_wq_copy_desc()
395 io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
396 io_req->sense_buf_pa, in fnic_queue_wq_copy_desc()
403 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_wq_copy_desc()
426 struct fnic_io_req *io_req = NULL; in fnic_queuecommand_lck() local
498 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_queuecommand_lck()
499 if (!io_req) { in fnic_queuecommand_lck()
504 memset(io_req, 0, sizeof(*io_req)); in fnic_queuecommand_lck()
512 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
517 io_req->sgl_cnt = sg_count; in fnic_queuecommand_lck()
518 io_req->sgl_type = FNIC_SGL_CACHE_DFLT; in fnic_queuecommand_lck()
520 io_req->sgl_type = FNIC_SGL_CACHE_MAX; in fnic_queuecommand_lck()
523 io_req->sgl_list = in fnic_queuecommand_lck()
524 mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], in fnic_queuecommand_lck()
526 if (!io_req->sgl_list) { in fnic_queuecommand_lck()
530 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
535 io_req->sgl_list_alloc = io_req->sgl_list; in fnic_queuecommand_lck()
536 ptr = (unsigned long) io_req->sgl_list; in fnic_queuecommand_lck()
538 io_req->sgl_list = (struct host_sg_desc *) in fnic_queuecommand_lck()
554 io_req->port_id = rport->port_id; in fnic_queuecommand_lck()
555 io_req->start_time = jiffies; in fnic_queuecommand_lck()
557 CMD_SP(sc) = (char *)io_req; in fnic_queuecommand_lck()
563 ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); in fnic_queuecommand_lck()
572 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_queuecommand_lck()
576 if (io_req) { in fnic_queuecommand_lck()
577 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_queuecommand_lck()
578 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
602 sc->request->tag, sc, io_req, in fnic_queuecommand_lck()
825 struct fnic_io_req *io_req; in fnic_fcpio_icmnd_cmpl_handler() local
867 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_icmnd_cmpl_handler()
868 WARN_ON_ONCE(!io_req); in fnic_fcpio_icmnd_cmpl_handler()
869 if (!io_req) { in fnic_fcpio_icmnd_cmpl_handler()
879 start_time = io_req->start_time; in fnic_fcpio_icmnd_cmpl_handler()
882 io_req->io_completed = 1; in fnic_fcpio_icmnd_cmpl_handler()
993 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_icmnd_cmpl_handler()
995 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_icmnd_cmpl_handler()
1027 io_duration_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); in fnic_fcpio_icmnd_cmpl_handler()
1064 struct fnic_io_req *io_req; in fnic_fcpio_itmf_cmpl_handler() local
1094 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_itmf_cmpl_handler()
1095 WARN_ON_ONCE(!io_req); in fnic_fcpio_itmf_cmpl_handler()
1096 if (!io_req) { in fnic_fcpio_itmf_cmpl_handler()
1106 start_time = io_req->start_time; in fnic_fcpio_itmf_cmpl_handler()
1117 if (io_req->abts_done) in fnic_fcpio_itmf_cmpl_handler()
1118 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1178 if (io_req->abts_done) { in fnic_fcpio_itmf_cmpl_handler()
1179 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1189 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_itmf_cmpl_handler()
1190 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_itmf_cmpl_handler()
1252 if (io_req->dr_done) in fnic_fcpio_itmf_cmpl_handler()
1253 complete(io_req->dr_done); in fnic_fcpio_itmf_cmpl_handler()
1361 struct fnic_io_req *io_req; in fnic_cleanup_io() local
1380 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_cleanup_io()
1388 if (io_req && io_req->dr_done) in fnic_cleanup_io()
1389 complete(io_req->dr_done); in fnic_cleanup_io()
1390 else if (io_req && io_req->abts_done) in fnic_cleanup_io()
1391 complete(io_req->abts_done); in fnic_cleanup_io()
1398 if (!io_req) { in fnic_cleanup_io()
1411 start_time = io_req->start_time; in fnic_cleanup_io()
1412 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_cleanup_io()
1413 mempool_free(io_req, fnic->io_req_pool); in fnic_cleanup_io()
1453 struct fnic_io_req *io_req; in fnic_wq_copy_cleanup_handler() local
1474 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_wq_copy_cleanup_handler()
1478 if (!io_req) { in fnic_wq_copy_cleanup_handler()
1487 start_time = io_req->start_time; in fnic_wq_copy_cleanup_handler()
1488 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_wq_copy_cleanup_handler()
1489 mempool_free(io_req, fnic->io_req_pool); in fnic_wq_copy_cleanup_handler()
1511 struct fnic_io_req *io_req) in fnic_queue_abort_io_req() argument
1541 0, task_req, tag, fc_lun, io_req->port_id, in fnic_queue_abort_io_req()
1561 struct fnic_io_req *io_req; in fnic_rport_exch_reset() local
1588 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_rport_exch_reset()
1590 if (!io_req || io_req->port_id != port_id) { in fnic_rport_exch_reset()
1612 if (io_req->abts_done) { in fnic_rport_exch_reset()
1637 BUG_ON(io_req->abts_done); in fnic_rport_exch_reset()
1649 fc_lun.scsi_lun, io_req)) { in fnic_rport_exch_reset()
1681 struct fnic_io_req *io_req; in fnic_terminate_rport_io() local
1739 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_terminate_rport_io()
1741 if (!io_req || rport != cmd_rport) { in fnic_terminate_rport_io()
1762 if (io_req->abts_done) { in fnic_terminate_rport_io()
1785 BUG_ON(io_req->abts_done); in fnic_terminate_rport_io()
1798 fc_lun.scsi_lun, io_req)) { in fnic_terminate_rport_io()
1834 struct fnic_io_req *io_req = NULL; in fnic_abort_cmd() local
1889 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1890 if (!io_req) { in fnic_abort_cmd()
1895 io_req->abts_done = &tm_done; in fnic_abort_cmd()
1902 abt_issued_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); in fnic_abort_cmd()
1948 fc_lun.scsi_lun, io_req)) { in fnic_abort_cmd()
1952 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1953 if (io_req) in fnic_abort_cmd()
1954 io_req->abts_done = NULL; in fnic_abort_cmd()
1981 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1982 if (!io_req) { in fnic_abort_cmd()
1989 io_req->abts_done = NULL; in fnic_abort_cmd()
2017 start_time = io_req->start_time; in fnic_abort_cmd()
2033 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_abort_cmd()
2034 mempool_free(io_req, fnic->io_req_pool); in fnic_abort_cmd()
2065 struct fnic_io_req *io_req) in fnic_queue_dr_io_req() argument
2101 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_dr_io_req()
2129 struct fnic_io_req *io_req; in fnic_clean_pending_aborts() local
2152 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2154 if (!io_req || sc->device != lun_dev) { in fnic_clean_pending_aborts()
2180 if (io_req->abts_done) in fnic_clean_pending_aborts()
2194 BUG_ON(io_req->abts_done); in fnic_clean_pending_aborts()
2204 io_req->abts_done = &tm_done; in fnic_clean_pending_aborts()
2212 fc_lun.scsi_lun, io_req)) { in fnic_clean_pending_aborts()
2214 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2215 if (io_req) in fnic_clean_pending_aborts()
2216 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2236 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2237 if (!io_req) { in fnic_clean_pending_aborts()
2243 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2261 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_clean_pending_aborts()
2262 mempool_free(io_req, fnic->io_req_pool); in fnic_clean_pending_aborts()
2327 struct fnic_io_req *io_req = NULL; in fnic_device_reset() local
2385 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2391 if (!io_req) { in fnic_device_reset()
2392 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_device_reset()
2393 if (!io_req) { in fnic_device_reset()
2397 memset(io_req, 0, sizeof(*io_req)); in fnic_device_reset()
2398 io_req->port_id = rport->port_id; in fnic_device_reset()
2399 CMD_SP(sc) = (char *)io_req; in fnic_device_reset()
2401 io_req->dr_done = &tm_done; in fnic_device_reset()
2412 if (fnic_queue_dr_io_req(fnic, sc, io_req)) { in fnic_device_reset()
2414 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2415 if (io_req) in fnic_device_reset()
2416 io_req->dr_done = NULL; in fnic_device_reset()
2431 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2432 if (!io_req) { in fnic_device_reset()
2438 io_req->dr_done = NULL; in fnic_device_reset()
2467 fc_lun.scsi_lun, io_req)) { in fnic_device_reset()
2474 io_req->abts_done = &tm_done; in fnic_device_reset()
2490 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2491 io_req->abts_done = NULL; in fnic_device_reset()
2505 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2518 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2527 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2528 if (io_req) in fnic_device_reset()
2533 if (io_req) in fnic_device_reset()
2538 if (io_req) { in fnic_device_reset()
2539 start_time = io_req->start_time; in fnic_device_reset()
2540 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_device_reset()
2541 mempool_free(io_req, fnic->io_req_pool); in fnic_device_reset()
2783 struct fnic_io_req *io_req; in fnic_is_abts_pending() local
2806 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_is_abts_pending()
2808 if (!io_req || sc->device != lun_dev) { in fnic_is_abts_pending()