/freebsd/sbin/hastd/ |
H A D | secondary.c | 66 struct hio { struct 74 TAILQ_ENTRY(hio) hio_next; 83 static TAILQ_HEAD(, hio) hio_free_list; 90 static TAILQ_HEAD(, hio) hio_disk_list; 97 static TAILQ_HEAD(, hio) hio_send_list; 111 #define QUEUE_INSERT(name, hio) do { \ argument 115 TAILQ_INSERT_TAIL(&hio_##name##_list, (hio), hio_next); \ 119 #define QUEUE_TAKE(name, hio) do { \ argument 121 while (((hio) = TAILQ_FIRST(&hio_##name##_list)) == NULL) { \ 127 TAILQ_REMOVE(&hio_##name##_list, (hio), hio_next); \ [all …]
|
H A D | primary.c | 73 struct hio { struct 109 TAILQ_ENTRY(hio) *hio_next; 118 static TAILQ_HEAD(, hio) hio_free_list; 127 static TAILQ_HEAD(, hio) *hio_send_list; 137 static TAILQ_HEAD(, hio) *hio_recv_list; 146 static TAILQ_HEAD(, hio) hio_done_list; 181 #define QUEUE_INSERT1(hio, name, ncomp) do { \ argument 185 TAILQ_INSERT_TAIL(&hio_##name##_list[(ncomp)], (hio), \ 190 #define QUEUE_INSERT2(hio, name) do { \ argument 194 TAILQ_INSERT_TAIL(&hio_##name##_list, (hio), hio_##name##_next);\ [all …]
|
/freebsd/sys/dev/ocs_fc/ |
H A D | ocs_unsol.c | 115 ocs_unsol_abort_cb (ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t len, int32_t status, uint3… in ocs_unsol_abort_cb() argument 118 ocs_assert(hio, -1); in ocs_unsol_abort_cb() 120 ocs_log_debug(ocs, "xri=0x%x tag=0x%x\n", hio->indicator, hio->reqtag); in ocs_unsol_abort_cb() 121 ocs_hw_io_free(&ocs->hw, hio); in ocs_unsol_abort_cb() 131 ocs_port_owned_abort(ocs_t *ocs, ocs_hw_io_t *hio) in ocs_port_owned_abort() argument 134 hw_rc = ocs_hw_io_abort(&ocs->hw, hio, FALSE, in ocs_port_owned_abort() 138 ocs_log_debug(ocs, "already aborted XRI 0x%x\n", hio->indicator); in ocs_port_owned_abort() 141 hio->indicator, hw_rc); in ocs_port_owned_abort() 219 if (seq->hio != NULL) { in ocs_unsol_process() 220 ocs_port_owned_abort(ocs, seq->hio); in ocs_unsol_process() [all …]
|
H A D | ocs_scsi.c | 72 static int32_t ocs_scsi_abort_io_cb(struct ocs_hw_io_s *hio, ocs_remote_node_t *rnode, uint32_t len… 85 static int32_t ocs_scsi_io_dispatch_hw_io(ocs_io_t *io, ocs_hw_io_t *hio); 198 if (io->hio != NULL) { in ocs_scsi_io_alloc() 316 ocs_target_io_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, in ocs_target_io_cb() argument 683 ocs_scsi_build_sgls(ocs_hw_t *hw, ocs_hw_io_t *hio, ocs_hw_dif_info_t *hw_dif, ocs_scsi_sgl_t *sgl,… in ocs_scsi_build_sgls() argument 691 ocs_assert(hio, -1); in ocs_scsi_build_sgls() 694 rc = ocs_hw_io_init_sges(hw, hio, type); in ocs_scsi_build_sgls() 704 rc = ocs_hw_io_add_seed_sge(hw, hio, hw_dif); in ocs_scsi_build_sgls() 741 rc = ocs_hw_io_add_seed_sge(hw, hio, hw_dif); in ocs_scsi_build_sgls() 745 rc = ocs_hw_io_add_dif_sge(hw, hio, sgl[i].dif_addr); in ocs_scsi_build_sgls() [all …]
|
H A D | ocs_io.c | 253 io->hio = NULL; in ocs_io_pool_io_alloc() 285 ocs_hw_io_t *hio = NULL; in ocs_io_pool_io_free() local 292 hio = io->hio; in ocs_io_pool_io_free() 293 io->hio = NULL; in ocs_io_pool_io_free() 297 if (hio) { in ocs_io_pool_io_free() 298 ocs_hw_io_free(&ocs->hw, hio); in ocs_io_pool_io_free() 392 if (io->hio) { in ocs_ddump_io() 393 ocs_ddump_value(textbuf, "hw_tag", "%#x", io->hio->reqtag); in ocs_ddump_io() 394 ocs_ddump_value(textbuf, "hw_xri", "%#x", io->hio->indicator); in ocs_ddump_io() 395 ocs_ddump_value(textbuf, "hw_type", "%#x", io->hio->type); in ocs_ddump_io()
|
H A D | ocs_els.c | 60 static int32_t ocs_els_acc_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, int32_t … 62 static int32_t ocs_bls_send_acc_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, 203 if (els->hio != NULL) { in ocs_els_io_alloc_size() 452 ocs_els_req_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, int32_t status, uint32_… in ocs_els_req_cb() argument 469 ocs_assert(io->hio, -1); in ocs_els_req_cb() 470 ocs_assert(hio == io->hio, -1); in ocs_els_req_cb() 545 ocs_els_acc_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, int32_t status, uint32_… in ocs_els_acc_cb() argument 562 ocs_assert(io->hio, -1); in ocs_els_acc_cb() 563 ocs_assert(hio == io->hio, -1); in ocs_els_acc_cb() 1960 ocs_bls_send_acc_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, int32_t status, ui… in ocs_bls_send_acc_cb() argument [all …]
|
H A D | ocs_hw_queues.c | 1757 seq->hio = NULL; in ocs_hw_rqpair_process_rq() 1864 seq->hio = NULL; in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1875 seq->hio = ocs_hw_io_lookup(hw, seq->xri); in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1876 ocs_lock(&seq->hio->axr_lock); in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1880 seq->hio->axr_buf->fcfi = seq->fcfi; in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1881 seq->hio->axr_buf->hdr.ox_id = fc_hdr->ox_id; in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1882 seq->hio->axr_buf->hdr.s_id = fc_hdr->s_id; in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1883 seq->hio->axr_buf->hdr.d_id = fc_hdr->d_id; in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1884 seq->hio->axr_buf->cmd_cqe = 1; in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() 1894 if (seq->hio->type == OCS_HW_IO_TARGET_RSP) { in ocs_hw_rqpair_process_auto_xfr_rdy_cmd() [all …]
|
H A D | ocs_unsol.h | 49 extern void ocs_seq_coalesce_cleanup(ocs_hw_io_t *hio, uint8_t abort_io);
|
H A D | ocs_io.h | 94 ocs_hw_io_t *hio; /**< HW IO context */ member
|
H A D | ocs_node.c | 739 node->ls_acc_io->hio = NULL; in ocs_node_send_ls_io_cleanup() 942 if (node->ls_acc_io && node->ls_acc_io->hio != NULL) { in ocs_node_initiate_cleanup() 955 ocs_hw_io_free(&ocs->hw, node->ls_acc_io->hio); in ocs_node_initiate_cleanup() 958 node->ls_acc_io->hio = NULL; in ocs_node_initiate_cleanup()
|
H A D | ocs_hw.h | 758 ocs_hw_io_t *hio; /**< HW IO */ member
|