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()
429 struct fnic_io_req *io_req = NULL; in fnic_queuecommand_lck() local
504 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_queuecommand_lck()
505 if (!io_req) { in fnic_queuecommand_lck()
510 memset(io_req, 0, sizeof(*io_req)); in fnic_queuecommand_lck()
517 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
522 io_req->sgl_cnt = sg_count; in fnic_queuecommand_lck()
523 io_req->sgl_type = FNIC_SGL_CACHE_DFLT; in fnic_queuecommand_lck()
525 io_req->sgl_type = FNIC_SGL_CACHE_MAX; in fnic_queuecommand_lck()
528 io_req->sgl_list = in fnic_queuecommand_lck()
529 mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type], in fnic_queuecommand_lck()
531 if (!io_req->sgl_list) { in fnic_queuecommand_lck()
535 mempool_free(io_req, fnic->io_req_pool); in fnic_queuecommand_lck()
540 io_req->sgl_list_alloc = io_req->sgl_list; in fnic_queuecommand_lck()
541 ptr = (unsigned long) io_req->sgl_list; in fnic_queuecommand_lck()
543 io_req->sgl_list = (struct host_sg_desc *) in fnic_queuecommand_lck()
559 io_req->port_id = rport->port_id; in fnic_queuecommand_lck()
560 io_req->start_time = jiffies; in fnic_queuecommand_lck()
562 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()
1068 struct fnic_io_req *io_req; in fnic_fcpio_itmf_cmpl_handler() local
1098 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_fcpio_itmf_cmpl_handler()
1099 WARN_ON_ONCE(!io_req); in fnic_fcpio_itmf_cmpl_handler()
1100 if (!io_req) { in fnic_fcpio_itmf_cmpl_handler()
1110 start_time = io_req->start_time; in fnic_fcpio_itmf_cmpl_handler()
1121 if (io_req->abts_done) in fnic_fcpio_itmf_cmpl_handler()
1122 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1182 if (io_req->abts_done) { in fnic_fcpio_itmf_cmpl_handler()
1183 complete(io_req->abts_done); in fnic_fcpio_itmf_cmpl_handler()
1193 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_fcpio_itmf_cmpl_handler()
1194 mempool_free(io_req, fnic->io_req_pool); in fnic_fcpio_itmf_cmpl_handler()
1253 if (io_req->dr_done) in fnic_fcpio_itmf_cmpl_handler()
1254 complete(io_req->dr_done); in fnic_fcpio_itmf_cmpl_handler()
1364 struct fnic_io_req *io_req; in fnic_cleanup_io_iter() local
1373 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_cleanup_io_iter()
1381 if (io_req && io_req->dr_done) in fnic_cleanup_io_iter()
1382 complete(io_req->dr_done); in fnic_cleanup_io_iter()
1383 else if (io_req && io_req->abts_done) in fnic_cleanup_io_iter()
1384 complete(io_req->abts_done); in fnic_cleanup_io_iter()
1391 if (!io_req) { in fnic_cleanup_io_iter()
1404 start_time = io_req->start_time; in fnic_cleanup_io_iter()
1405 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_cleanup_io_iter()
1406 mempool_free(io_req, fnic->io_req_pool); in fnic_cleanup_io_iter()
1450 struct fnic_io_req *io_req; in fnic_wq_copy_cleanup_handler() local
1471 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_wq_copy_cleanup_handler()
1475 if (!io_req) { in fnic_wq_copy_cleanup_handler()
1484 start_time = io_req->start_time; in fnic_wq_copy_cleanup_handler()
1485 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_wq_copy_cleanup_handler()
1486 mempool_free(io_req, fnic->io_req_pool); in fnic_wq_copy_cleanup_handler()
1506 struct fnic_io_req *io_req) in fnic_queue_abort_io_req() argument
1536 0, task_req, tag, fc_lun, io_req->port_id, in fnic_queue_abort_io_req()
1563 struct fnic_io_req *io_req; in fnic_rport_abort_io_iter() local
1574 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_rport_abort_io_iter()
1576 if (!io_req || io_req->port_id != iter_data->port_id) { in fnic_rport_abort_io_iter()
1598 if (io_req->abts_done) { in fnic_rport_abort_io_iter()
1621 BUG_ON(io_req->abts_done); in fnic_rport_abort_io_iter()
1633 fc_lun.scsi_lun, io_req)) { in fnic_rport_abort_io_iter()
1726 struct fnic_io_req *io_req = NULL; in fnic_abort_cmd() local
1780 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1781 if (!io_req) { in fnic_abort_cmd()
1786 io_req->abts_done = &tm_done; in fnic_abort_cmd()
1793 abt_issued_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time); in fnic_abort_cmd()
1839 io_req)) { in fnic_abort_cmd()
1843 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1844 if (io_req) in fnic_abort_cmd()
1845 io_req->abts_done = NULL; in fnic_abort_cmd()
1872 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abort_cmd()
1873 if (!io_req) { in fnic_abort_cmd()
1880 io_req->abts_done = NULL; in fnic_abort_cmd()
1908 start_time = io_req->start_time; in fnic_abort_cmd()
1924 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_abort_cmd()
1925 mempool_free(io_req, fnic->io_req_pool); in fnic_abort_cmd()
1953 struct fnic_io_req *io_req) in fnic_queue_dr_io_req() argument
1989 fc_lun.scsi_lun, io_req->port_id, in fnic_queue_dr_io_req()
2019 struct fnic_io_req *io_req; in fnic_pending_aborts_iter() local
2033 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_pending_aborts_iter()
2034 if (!io_req) { in fnic_pending_aborts_iter()
2060 if (io_req->abts_done) in fnic_pending_aborts_iter()
2074 BUG_ON(io_req->abts_done); in fnic_pending_aborts_iter()
2083 io_req->abts_done = &tm_done; in fnic_pending_aborts_iter()
2091 fc_lun.scsi_lun, io_req)) { in fnic_pending_aborts_iter()
2093 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_pending_aborts_iter()
2094 if (io_req) in fnic_pending_aborts_iter()
2095 io_req->abts_done = NULL; in fnic_pending_aborts_iter()
2114 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_pending_aborts_iter()
2115 if (!io_req) { in fnic_pending_aborts_iter()
2121 io_req->abts_done = NULL; in fnic_pending_aborts_iter()
2139 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_pending_aborts_iter()
2140 mempool_free(io_req, fnic->io_req_pool); in fnic_pending_aborts_iter()
2234 struct fnic_io_req *io_req = NULL; in fnic_device_reset() local
2291 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2297 if (!io_req) { in fnic_device_reset()
2298 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC); in fnic_device_reset()
2299 if (!io_req) { in fnic_device_reset()
2303 memset(io_req, 0, sizeof(*io_req)); in fnic_device_reset()
2304 io_req->port_id = rport->port_id; in fnic_device_reset()
2305 CMD_SP(sc) = (char *)io_req; in fnic_device_reset()
2307 io_req->dr_done = &tm_done; in fnic_device_reset()
2318 if (fnic_queue_dr_io_req(fnic, sc, io_req)) { in fnic_device_reset()
2320 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2321 if (io_req) in fnic_device_reset()
2322 io_req->dr_done = NULL; in fnic_device_reset()
2337 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2338 if (!io_req) { in fnic_device_reset()
2344 io_req->dr_done = NULL; in fnic_device_reset()
2373 fc_lun.scsi_lun, io_req)) { in fnic_device_reset()
2380 io_req->abts_done = &tm_done; in fnic_device_reset()
2396 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2397 io_req->abts_done = NULL; in fnic_device_reset()
2411 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2424 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2433 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_device_reset()
2434 if (io_req) in fnic_device_reset()
2439 if (io_req) in fnic_device_reset()
2444 if (io_req) { in fnic_device_reset()
2445 start_time = io_req->start_time; in fnic_device_reset()
2446 fnic_release_ioreq_buf(fnic, io_req, sc); in fnic_device_reset()
2447 mempool_free(io_req, fnic->io_req_pool); in fnic_device_reset()
2685 struct fnic_io_req *io_req; in fnic_abts_pending_iter() local
2701 io_req = (struct fnic_io_req *)CMD_SP(sc); in fnic_abts_pending_iter()
2702 if (!io_req) { in fnic_abts_pending_iter()