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
337 desc = io_req->sgl_list; in fnic_queue_wq_copy_desc()
345 io_req->sgl_list_pa = pci_map_single in fnic_queue_wq_copy_desc()
347 io_req->sgl_list, in fnic_queue_wq_copy_desc()
348 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
351 r = pci_dma_mapping_error(fnic->pdev, io_req->sgl_list_pa); in fnic_queue_wq_copy_desc()
358 io_req->sense_buf_pa = pci_map_single(fnic->pdev, in fnic_queue_wq_copy_desc()
363 r = pci_dma_mapping_error(fnic->pdev, io_req->sense_buf_pa); in fnic_queue_wq_copy_desc()
365 pci_unmap_single(fnic->pdev, io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
366 sizeof(io_req->sgl_list[0]) * sg_count, in fnic_queue_wq_copy_desc()
400 0, exch_flags, io_req->sgl_cnt, in fnic_queue_wq_copy_desc()
402 io_req->sgl_list_pa, in fnic_queue_wq_copy_desc()
403 io_req->sense_buf_pa, in fnic_queue_wq_copy_desc()
410 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_wq_copy_desc()
433 struct fnic_io_req *io_req = NULL; in fnic_queuecommand_lck() local
483 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_queuecommand_lck()
484 if (!io_req) { in fnic_queuecommand_lck()
489 memset(io_req, 0, sizeof(*io_req)); in fnic_queuecommand_lck()
497 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
502 io_req->sgl_cnt = sg_count; in fnic_queuecommand_lck()
503 io_req->sgl_type = FNIC_SGL_CACHE_DFLT; in fnic_queuecommand_lck()
505 io_req->sgl_type = FNIC_SGL_CACHE_MAX; in fnic_queuecommand_lck()
508 io_req->sgl_list = in fnic_queuecommand_lck()
509 mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], in fnic_queuecommand_lck()
511 if (!io_req->sgl_list) { in fnic_queuecommand_lck()
515 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
520 io_req->sgl_list_alloc = io_req->sgl_list; in fnic_queuecommand_lck()
521 ptr = (unsigned long) io_req->sgl_list; in fnic_queuecommand_lck()
523 io_req->sgl_list = (struct host_sg_desc *) in fnic_queuecommand_lck()
539 io_req->port_id = rport->port_id; in fnic_queuecommand_lck()
540 io_req->start_time = jiffies; in fnic_queuecommand_lck()
542 CMD_SP(sc) = (char *)io_req; in fnic_queuecommand_lck()
548 ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); in fnic_queuecommand_lck()
557 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_queuecommand_lck()
561 if (io_req) { in fnic_queuecommand_lck()
562 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_queuecommand_lck()
563 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
587 sc->request->tag, sc, io_req, in fnic_queuecommand_lck()
809 struct fnic_io_req *io_req; in fnic_fcpio_icmnd_cmpl_handler() local
850 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_icmnd_cmpl_handler()
851 WARN_ON_ONCE(!io_req); in fnic_fcpio_icmnd_cmpl_handler()
852 if (!io_req) { in fnic_fcpio_icmnd_cmpl_handler()
862 start_time = io_req->start_time; in fnic_fcpio_icmnd_cmpl_handler()
865 io_req->io_completed = 1; in fnic_fcpio_icmnd_cmpl_handler()
978 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_icmnd_cmpl_handler()
980 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_icmnd_cmpl_handler()
1027 struct fnic_io_req *io_req; in fnic_fcpio_itmf_cmpl_handler() local
1057 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_itmf_cmpl_handler()
1058 WARN_ON_ONCE(!io_req); in fnic_fcpio_itmf_cmpl_handler()
1059 if (!io_req) { in fnic_fcpio_itmf_cmpl_handler()
1069 start_time = io_req->start_time; in fnic_fcpio_itmf_cmpl_handler()
1080 if (io_req->abts_done) in fnic_fcpio_itmf_cmpl_handler()
1081 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1137 if (io_req->abts_done) { in fnic_fcpio_itmf_cmpl_handler()
1138 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1148 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_itmf_cmpl_handler()
1149 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_itmf_cmpl_handler()
1206 if (io_req->dr_done) in fnic_fcpio_itmf_cmpl_handler()
1207 complete(io_req->dr_done); in fnic_fcpio_itmf_cmpl_handler()
1296 struct fnic_io_req *io_req; in fnic_cleanup_io() local
1315 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_cleanup_io()
1323 if (io_req && io_req->dr_done) in fnic_cleanup_io()
1324 complete(io_req->dr_done); in fnic_cleanup_io()
1325 else if (io_req && io_req->abts_done) in fnic_cleanup_io()
1326 complete(io_req->abts_done); in fnic_cleanup_io()
1333 if (!io_req) { in fnic_cleanup_io()
1346 start_time = io_req->start_time; in fnic_cleanup_io()
1347 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_cleanup_io()
1348 mempool_free(io_req, fnic->io_req_pool); in fnic_cleanup_io()
1382 struct fnic_io_req *io_req; in fnic_wq_copy_cleanup_handler() local
1403 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_wq_copy_cleanup_handler()
1407 if (!io_req) { in fnic_wq_copy_cleanup_handler()
1416 start_time = io_req->start_time; in fnic_wq_copy_cleanup_handler()
1417 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_wq_copy_cleanup_handler()
1418 mempool_free(io_req, fnic->io_req_pool); in fnic_wq_copy_cleanup_handler()
1440 struct fnic_io_req *io_req) in fnic_queue_abort_io_req() argument
1470 0, task_req, tag, fc_lun, io_req->port_id, in fnic_queue_abort_io_req()
1490 struct fnic_io_req *io_req; in fnic_rport_exch_reset() local
1517 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_rport_exch_reset()
1519 if (!io_req || io_req->port_id != port_id) { in fnic_rport_exch_reset()
1541 if (io_req->abts_done) { in fnic_rport_exch_reset()
1566 BUG_ON(io_req->abts_done); in fnic_rport_exch_reset()
1578 fc_lun.scsi_lun, io_req)) { in fnic_rport_exch_reset()
1610 struct fnic_io_req *io_req; in fnic_terminate_rport_io() local
1668 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_terminate_rport_io()
1670 if (!io_req || rport != cmd_rport) { in fnic_terminate_rport_io()
1691 if (io_req->abts_done) { in fnic_terminate_rport_io()
1714 BUG_ON(io_req->abts_done); in fnic_terminate_rport_io()
1727 fc_lun.scsi_lun, io_req)) { in fnic_terminate_rport_io()
1763 struct fnic_io_req *io_req = NULL; in fnic_abort_cmd() local
1817 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1818 if (!io_req) { in fnic_abort_cmd()
1823 io_req->abts_done = &tm_done; in fnic_abort_cmd()
1857 fc_lun.scsi_lun, io_req)) { in fnic_abort_cmd()
1861 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1862 if (io_req) in fnic_abort_cmd()
1863 io_req->abts_done = NULL; in fnic_abort_cmd()
1890 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1891 if (!io_req) { in fnic_abort_cmd()
1898 io_req->abts_done = NULL; in fnic_abort_cmd()
1941 start_time = io_req->start_time; in fnic_abort_cmd()
1942 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_abort_cmd()
1943 mempool_free(io_req, fnic->io_req_pool); in fnic_abort_cmd()
1963 struct fnic_io_req *io_req) in fnic_queue_dr_io_req() argument
1999 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_dr_io_req()
2025 struct fnic_io_req *io_req; in fnic_clean_pending_aborts() local
2048 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2050 if (!io_req || sc->device != lun_dev) { in fnic_clean_pending_aborts()
2076 if (io_req->abts_done) in fnic_clean_pending_aborts()
2090 BUG_ON(io_req->abts_done); in fnic_clean_pending_aborts()
2100 io_req->abts_done = &tm_done; in fnic_clean_pending_aborts()
2108 fc_lun.scsi_lun, io_req)) { in fnic_clean_pending_aborts()
2110 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2111 if (io_req) in fnic_clean_pending_aborts()
2112 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2132 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_clean_pending_aborts()
2133 if (!io_req) { in fnic_clean_pending_aborts()
2139 io_req->abts_done = NULL; in fnic_clean_pending_aborts()
2152 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_clean_pending_aborts()
2153 mempool_free(io_req, fnic->io_req_pool); in fnic_clean_pending_aborts()
2234 struct fnic_io_req *io_req = NULL; in fnic_device_reset() local
2302 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2308 if (!io_req) { in fnic_device_reset()
2309 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_device_reset()
2310 if (!io_req) { in fnic_device_reset()
2314 memset(io_req, 0, sizeof(*io_req)); in fnic_device_reset()
2315 io_req->port_id = rport->port_id; in fnic_device_reset()
2316 CMD_SP(sc) = (char *)io_req; in fnic_device_reset()
2318 io_req->dr_done = &tm_done; in fnic_device_reset()
2329 if (fnic_queue_dr_io_req(fnic, sc, io_req)) { in fnic_device_reset()
2331 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2332 if (io_req) in fnic_device_reset()
2333 io_req->dr_done = NULL; in fnic_device_reset()
2348 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2349 if (!io_req) { in fnic_device_reset()
2355 io_req->dr_done = NULL; in fnic_device_reset()
2384 fc_lun.scsi_lun, io_req)) { in fnic_device_reset()
2391 io_req->abts_done = &tm_done; in fnic_device_reset()
2407 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2408 io_req->abts_done = NULL; in fnic_device_reset()
2422 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2435 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2444 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2445 if (io_req) in fnic_device_reset()
2450 if (io_req) in fnic_device_reset()
2455 if (io_req) { in fnic_device_reset()
2456 start_time = io_req->start_time; in fnic_device_reset()
2457 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_device_reset()
2458 mempool_free(io_req, fnic->io_req_pool); in fnic_device_reset()
2684 struct fnic_io_req *io_req; in fnic_is_abts_pending() local
2707 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_is_abts_pending()
2709 if (!io_req || sc->device != lun_dev) { in fnic_is_abts_pending()