Lines Matching full:io
98 efct_fc_tmf_rejected_cb(struct efct_io *io,
102 efct_scsi_io_free(io);
107 efct_dispatch_unsol_tmf(struct efct_io *io, u8 tm_flags, u32 lun)
120 io->exp_xfer_len = 0;
124 io->tmf_cmd = tmflist[i].cmd;
125 efct_scsi_recv_tmf(io, lun, tmflist[i].cmd, NULL, 0);
131 efc_log_err(io->node->efct, "TMF x%x rejected\n", tm_flags);
132 efct_scsi_send_tmf_resp(io, EFCT_SCSI_TMF_FUNCTION_REJECTED,
159 efct_populate_io_fcp_cmd(struct efct_io *io, struct fcp_cmnd *cmnd,
162 io->init_task_tag = be16_to_cpu(fchdr->fh_ox_id);
163 /* note, tgt_task_tag, hw_tag set when HW io is allocated */
164 io->exp_xfer_len = be32_to_cpu(cmnd->fc_dl);
165 io->transferred = 0;
170 * in that IO. Thus we need to save the incoming CS_CTL here.
173 io->cs_ctl = fchdr->fh_cs_ctl;
175 io->cs_ctl = 0;
177 io->seq_init = sit;
344 struct efct_io *io = NULL;
362 io = efct_scsi_io_alloc(node);
363 if (!io) {
374 io->hw_priv = seq->hw_priv;
376 io->app_id = 0;
379 efct_populate_io_fcp_cmd(io, cmnd, fchdr, true);
382 efct_dispatch_unsol_tmf(io, cmnd->fc_tm_flags, lun);
394 efct_scsi_recv_cmd(io, lun, cmnd->fc_cdb,
402 efct_process_abts(struct efct_io *io, struct fc_frame_header *hdr)
404 struct efct_node *node = io->node;
405 struct efct *efct = io->efct;
410 /* Find IO and attempt to take a reference on it */
414 /* Got a reference on the IO. Hold it until backend
423 * TMF IO object
425 io->display_name = "abts";
426 io->init_task_tag = ox_id;
432 * regardless of the IO context's rx_id
434 io->abort_rx_id = rx_id;
437 io->tmf_cmd = EFCT_SCSI_TMF_ABORT_TASK;
438 efct_scsi_recv_tmf(io, abortio->tgt_io.lun,
443 * reference on the IO if needed;
449 * Either IO was not found or it has been
453 efc_log_info(node->efct, "Abort: ox_id [%04x], IO not found\n",
457 efct_bls_send_rjt(io, hdr);
467 struct efct_io *io = NULL;
470 io = efct_scsi_io_alloc(node);
471 if (io) {
472 io->hw_priv = seq->hw_priv;
474 io->seq_init = 1;
477 io->efct = efct;
478 io->node = node;
479 io->cmd_tgt = true;
481 efct_process_abts(io, seq->header->dma.virt);
484 "SCSI IO allocation failed for ABTS received ");