Lines Matching refs:efct
10 #define enable_tsend_auto_resp(efct) 1 argument
11 #define enable_treceive_auto_resp(efct) 0 argument
16 efc_log_debug(io->efct, "[%s]" SCSI_IOFMT fmt, \
20 #define EFCT_LOG_ENABLE_SCSI_TRACE(efct) \ argument
21 (((efct) != NULL) ? (((efct)->logmask & (1U << 2)) != 0) : 0)
25 if (EFCT_LOG_ENABLE_SCSI_TRACE(io->efct)) \
32 struct efct *efct; in efct_scsi_io_alloc() local
37 efct = node->efct; in efct_scsi_io_alloc()
39 xport = efct->xport; in efct_scsi_io_alloc()
41 io = efct_io_pool_io_alloc(efct->xport->io_pool); in efct_scsi_io_alloc()
43 efc_log_err(efct, "IO alloc Failed\n"); in efct_scsi_io_alloc()
53 io->efct = efct; in efct_scsi_io_alloc()
78 struct efct *efct = io->efct; in _efct_scsi_io_free() local
85 efc_log_err(efct, "IO already freed.\n"); in _efct_scsi_io_free()
95 efct_io_pool_io_free(efct->xport->io_pool, io); in _efct_scsi_io_free()
112 struct efct *efct; in efct_target_io_cb() local
116 if (!io || !io->efct) { in efct_target_io_cb()
123 efct = io->efct; in efct_target_io_cb()
128 efct_scsi_check_pending(efct); in efct_target_io_cb()
197 efct_scsi_check_pending(efct); in efct_target_io_cb()
207 struct efct *efct = hw->os; in efct_scsi_build_sgls() local
212 efc_log_err(efct, "efct_hw_io_init_sges failed: %d\n", rc); in efct_scsi_build_sgls()
220 efc_log_err(efct, "add sge failed cnt=%d rc=%d\n", in efct_scsi_build_sgls()
273 struct efct *efct = io->efct; in efct_scsi_io_dispatch_hw_io() local
302 rc = efct_scsi_build_sgls(&efct->hw, io->hio, in efct_scsi_io_dispatch_hw_io()
307 if (EFCT_LOG_ENABLE_SCSI_TRACE(efct)) in efct_scsi_io_dispatch_hw_io()
319 rc = efct_hw_io_send(&io->efct->hw, io->hio_type, io->hio, in efct_scsi_io_dispatch_hw_io()
363 rc = efct_hw_io_abort(&io->efct->hw, hio_to_abort, in efct_scsi_io_dispatch_no_hw_io()
389 efct_scsi_dispatch_pending(struct efct *efct) in efct_scsi_dispatch_pending() argument
391 struct efct_xport *xport = efct->xport; in efct_scsi_dispatch_pending()
413 hio = efct_hw_io_alloc(&efct->hw); in efct_scsi_dispatch_pending()
448 if (efct_hw_async_call(&efct->hw, in efct_scsi_dispatch_pending()
450 efc_log_debug(efct, "call hw async failed\n"); in efct_scsi_dispatch_pending()
458 efct_scsi_check_pending(struct efct *efct) in efct_scsi_check_pending() argument
460 struct efct_xport *xport = efct->xport; in efct_scsi_check_pending()
473 while (efct_scsi_dispatch_pending(efct)) in efct_scsi_check_pending()
506 if (efct_hw_async_call(&efct->hw, in efct_scsi_check_pending()
508 efc_log_debug(efct, "hw async failed\n"); in efct_scsi_check_pending()
520 struct efct *efct = io->efct; in efct_scsi_io_dispatch() local
521 struct efct_xport *xport = efct->xport; in efct_scsi_io_dispatch()
558 efct_scsi_check_pending(efct); in efct_scsi_io_dispatch()
567 hio = efct_hw_io_alloc(&io->efct->hw); in efct_scsi_io_dispatch()
587 struct efct *efct = io->efct; in efct_scsi_io_dispatch_abort() local
588 struct efct_xport *xport = efct->xport; in efct_scsi_io_dispatch_abort()
608 efct_scsi_check_pending(efct); in efct_scsi_io_dispatch_abort()
623 struct efct *efct; in efct_scsi_xfer_data() local
628 efct = io->efct; in efct_scsi_xfer_data()
696 if (efct->xport) { in efct_scsi_xfer_data()
697 struct efct_xport *xport = efct->xport; in efct_scsi_xfer_data()
717 enable_tsend_auto_resp(io->efct), cb, arg); in efct_scsi_send_rd_data()
727 enable_treceive_auto_resp(io->efct), cb, arg); in efct_scsi_recv_wr_data()
735 struct efct *efct; in efct_scsi_send_resp() local
744 efct = io->efct; in efct_scsi_send_resp()
780 efc_log_err(efct, "NULL response buffer\n"); in efct_scsi_send_resp()
814 efc_log_err(efct, "Sense exceeds max size.\n"); in efct_scsi_send_resp()
841 struct efct *efct; in efct_target_bls_resp_cb() local
844 efct = io->efct; in efct_target_bls_resp_cb()
865 efct_scsi_check_pending(efct); in efct_target_bls_resp_cb()
875 struct efct *efct = node->efct; in efct_target_send_bls_resp() local
904 rc = efct_hw_bls_send(efct, FC_RCTL_BA_ACC, bls, in efct_target_send_bls_resp()
923 struct efct *efct = node->efct; in efct_bls_send_rjt() local
947 rc = efct_hw_bls_send(efct, FC_RCTL_BA_RJT, bls, efct_bls_send_rjt_cb, in efct_bls_send_rjt()
950 efc_log_err(efct, "efct_scsi_io_dispatch() failed: %d\n", rc); in efct_bls_send_rjt()
1042 struct efct *efct; in efct_target_abort_cb() local
1047 efct = io->efct; in efct_target_abort_cb()
1090 efct_io_pool_io_free(efct->xport->io_pool, io); in efct_target_abort_cb()
1092 efct_scsi_check_pending(efct); in efct_target_abort_cb()
1099 struct efct *efct; in efct_scsi_tgt_abort_io() local
1104 efct = io->efct; in efct_scsi_tgt_abort_io()
1105 xport = efct->xport; in efct_scsi_tgt_abort_io()
1119 abort_io = efct_io_pool_io_alloc(efct->xport->io_pool); in efct_scsi_tgt_abort_io()
1150 efc_log_debug(io->efct, "completion for non-busy io tag 0x%x\n", in efct_scsi_io_complete()