Lines Matching refs:io_req

122  * Unmap the data buffer and sense buffer for an io_req,
126 struct fnic_io_req *io_req,
129 if (io_req->sgl_list_pa)
130 dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa,
131 sizeof(io_req->sgl_list[0]) * io_req->sgl_cnt,
135 if (io_req->sgl_cnt)
136 mempool_free(io_req->sgl_list_alloc,
137 fnic->io_sgl_pool[io_req->sgl_type]);
138 if (io_req->sense_buf_pa)
139 dma_unmap_single(&fnic->pdev->dev, io_req->sense_buf_pa,
319 struct fnic_io_req *io_req,
336 desc = io_req->sgl_list;
344 io_req->sgl_list_pa = dma_map_single(&fnic->pdev->dev,
345 io_req->sgl_list,
346 sizeof(io_req->sgl_list[0]) * sg_count,
348 if (dma_mapping_error(&fnic->pdev->dev, io_req->sgl_list_pa)) {
354 io_req->sense_buf_pa = dma_map_single(&fnic->pdev->dev,
358 if (dma_mapping_error(&fnic->pdev->dev, io_req->sense_buf_pa)) {
359 dma_unmap_single(&fnic->pdev->dev, io_req->sgl_list_pa,
360 sizeof(io_req->sgl_list[0]) * sg_count,
394 0, exch_flags, io_req->sgl_cnt,
396 io_req->sgl_list_pa,
397 io_req->sense_buf_pa,
404 fc_lun.scsi_lun, io_req->port_id,
427 struct fnic_io_req *io_req = NULL;
501 /* Get a new io_req for this SCSI IO */
502 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC);
503 if (!io_req) {
508 memset(io_req, 0, sizeof(*io_req));
516 mempool_free(io_req, fnic->io_req_pool);
521 io_req->sgl_cnt = sg_count;
522 io_req->sgl_type = FNIC_SGL_CACHE_DFLT;
524 io_req->sgl_type = FNIC_SGL_CACHE_MAX;
527 io_req->sgl_list =
528 mempool_alloc(fnic->io_sgl_pool[io_req->sgl_type],
530 if (!io_req->sgl_list) {
534 mempool_free(io_req, fnic->io_req_pool);
539 io_req->sgl_list_alloc = io_req->sgl_list;
540 ptr = (unsigned long) io_req->sgl_list;
542 io_req->sgl_list = (struct host_sg_desc *)
556 /* initialize rest of io_req */
558 io_req->port_id = rport->port_id;
559 io_req->start_time = jiffies;
561 CMD_SP(sc) = (char *)io_req;
567 ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count);
576 io_req = (struct fnic_io_req *)CMD_SP(sc);
580 if (io_req) {
581 fnic_release_ioreq_buf(fnic, io_req, sc);
582 mempool_free(io_req, fnic->io_req_pool);
606 sc->request->tag, sc, io_req,
829 struct fnic_io_req *io_req;
838 /* Decode the cmpl description to get the io_req id */
871 io_req = (struct fnic_io_req *)CMD_SP(sc);
872 WARN_ON_ONCE(!io_req);
873 if (!io_req) {
878 "icmnd_cmpl io_req is null - "
883 start_time = io_req->start_time;
886 io_req->io_completed = 1;
997 fnic_release_ioreq_buf(fnic, io_req, sc);
999 mempool_free(io_req, fnic->io_req_pool);
1069 struct fnic_io_req *io_req;
1099 io_req = (struct fnic_io_req *)CMD_SP(sc);
1100 WARN_ON_ONCE(!io_req);
1101 if (!io_req) {
1106 "itmf_cmpl io_req is null - "
1111 start_time = io_req->start_time;
1122 if (io_req->abts_done)
1123 complete(io_req->abts_done);
1183 if (io_req->abts_done) {
1184 complete(io_req->abts_done);
1194 fnic_release_ioreq_buf(fnic, io_req, sc);
1195 mempool_free(io_req, fnic->io_req_pool);
1257 if (io_req->dr_done)
1258 complete(io_req->dr_done);
1366 struct fnic_io_req *io_req;
1385 io_req = (struct fnic_io_req *)CMD_SP(sc);
1393 if (io_req && io_req->dr_done)
1394 complete(io_req->dr_done);
1395 else if (io_req && io_req->abts_done)
1396 complete(io_req->abts_done);
1403 if (!io_req) {
1413 * If there is a scsi_cmnd associated with this io_req, then
1416 start_time = io_req->start_time;
1417 fnic_release_ioreq_buf(fnic, io_req, sc);
1418 mempool_free(io_req, fnic->io_req_pool);
1457 struct fnic_io_req *io_req;
1478 io_req = (struct fnic_io_req *)CMD_SP(sc);
1482 if (!io_req) {
1491 start_time = io_req->start_time;
1492 fnic_release_ioreq_buf(fnic, io_req, sc);
1493 mempool_free(io_req, fnic->io_req_pool);
1515 struct fnic_io_req *io_req)
1545 0, task_req, tag, fc_lun, io_req->port_id,
1565 struct fnic_io_req *io_req;
1592 io_req = (struct fnic_io_req *)CMD_SP(sc);
1594 if (!io_req || io_req->port_id != port_id) {
1616 if (io_req->abts_done) {
1618 "fnic_rport_exch_reset: io_req->abts_done is set "
1641 BUG_ON(io_req->abts_done);
1653 fc_lun.scsi_lun, io_req)) {
1685 struct fnic_io_req *io_req;
1743 io_req = (struct fnic_io_req *)CMD_SP(sc);
1745 if (!io_req || rport != cmd_rport) {
1766 if (io_req->abts_done) {
1768 "fnic_terminate_rport_io: io_req->abts_done is set "
1789 BUG_ON(io_req->abts_done);
1802 fc_lun.scsi_lun, io_req)) {
1831 * A SCSI IO is represented by a io_req in the driver.
1838 struct fnic_io_req *io_req = NULL;
1893 io_req = (struct fnic_io_req *)CMD_SP(sc);
1894 if (!io_req) {
1899 io_req->abts_done = &tm_done;
1906 abt_issued_time = jiffies_to_msecs(jiffies) - jiffies_to_msecs(io_req->start_time);
1952 fc_lun.scsi_lun, io_req)) {
1956 io_req = (struct fnic_io_req *)CMD_SP(sc);
1957 if (io_req)
1958 io_req->abts_done = NULL;
1985 io_req = (struct fnic_io_req *)CMD_SP(sc);
1986 if (!io_req) {
1993 io_req->abts_done = NULL;
2021 start_time = io_req->start_time;
2024 * free the io_req if successful. If abort fails,
2037 fnic_release_ioreq_buf(fnic, io_req, sc);
2038 mempool_free(io_req, fnic->io_req_pool);
2069 struct fnic_io_req *io_req)
2105 fc_lun.scsi_lun, io_req->port_id,
2133 struct fnic_io_req *io_req;
2156 io_req = (struct fnic_io_req *)CMD_SP(sc);
2158 if (!io_req || sc->device != lun_dev) {
2184 if (io_req->abts_done)
2186 "%s: io_req->abts_done is set state is %s\n",
2198 BUG_ON(io_req->abts_done);
2208 io_req->abts_done = &tm_done;
2216 fc_lun.scsi_lun, io_req)) {
2218 io_req = (struct fnic_io_req *)CMD_SP(sc);
2219 if (io_req)
2220 io_req->abts_done = NULL;
2240 io_req = (struct fnic_io_req *)CMD_SP(sc);
2241 if (!io_req) {
2247 io_req->abts_done = NULL;
2265 fnic_release_ioreq_buf(fnic, io_req, sc);
2266 mempool_free(io_req, fnic->io_req_pool);
2331 struct fnic_io_req *io_req = NULL;
2389 io_req = (struct fnic_io_req *)CMD_SP(sc);
2392 * If there is a io_req attached to this command, then use it,
2395 if (!io_req) {
2396 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC);
2397 if (!io_req) {
2401 memset(io_req, 0, sizeof(*io_req));
2402 io_req->port_id = rport->port_id;
2403 CMD_SP(sc) = (char *)io_req;
2405 io_req->dr_done = &tm_done;
2416 if (fnic_queue_dr_io_req(fnic, sc, io_req)) {
2418 io_req = (struct fnic_io_req *)CMD_SP(sc);
2419 if (io_req)
2420 io_req->dr_done = NULL;
2428 * Wait on the local completion for LUN reset. The io_req may be
2435 io_req = (struct fnic_io_req *)CMD_SP(sc);
2436 if (!io_req) {
2439 "io_req is null tag 0x%x sc 0x%p\n", tag, sc);
2442 io_req->dr_done = NULL;
2447 * If lun reset not completed, bail out with failed. io_req
2471 fc_lun.scsi_lun, io_req)) {
2478 io_req->abts_done = &tm_done;
2494 io_req = (struct fnic_io_req *)CMD_SP(sc);
2495 io_req->abts_done = NULL;
2503 /* Completed, but not successful, clean up the io_req, return fail */
2509 io_req = (struct fnic_io_req *)CMD_SP(sc);
2522 io_req = (struct fnic_io_req *)CMD_SP(sc);
2531 io_req = (struct fnic_io_req *)CMD_SP(sc);
2532 if (io_req)
2537 if (io_req)
2542 if (io_req) {
2543 start_time = io_req->start_time;
2544 fnic_release_ioreq_buf(fnic, io_req, sc);
2545 mempool_free(io_req, fnic->io_req_pool);
2787 struct fnic_io_req *io_req;
2810 io_req = (struct fnic_io_req *)CMD_SP(sc);
2812 if (!io_req || sc->device != lun_dev) {