Lines Matching defs:hio

77 static int32_t ocs_scsi_abort_io_cb(struct ocs_hw_io_s *hio, ocs_remote_node_t *rnode, uint32_t len, int32_t status,
90 static int32_t ocs_scsi_io_dispatch_hw_io(ocs_io_t *io, ocs_hw_io_t *hio);
204 if (io->hio != NULL) {
205 ocs_log_err(node->ocs, "assertion failed: io->hio is not NULL\n");
312 * @param hio Pointer to the HW IO structure.
323 ocs_target_io_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length,
693 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, uint32_t sgl_count, ocs_hw_io_type_e type)
701 ocs_assert(hio, -1);
704 rc = ocs_hw_io_init_sges(hw, hio, type);
715 rc = ocs_hw_io_add_seed_sge(hw, hio, hw_dif);
752 rc = ocs_hw_io_add_seed_sge(hw, hio, hw_dif);
756 rc = ocs_hw_io_add_dif_sge(hw, hio, sgl[i].dif_addr);
770 rc = ocs_hw_io_add_sge(hw, hio, sgl[i].addr, sgl[i].len);
783 rc = ocs_hw_io_add_sge(hw, hio, sgl[i].addr, sgl[i].len);
919 ocs_hw_io_t *hio = io->hio;
926 ocs_addr32_hi(hio->def_sgl.phys),
927 ocs_addr32_lo(hio->def_sgl.phys));
928 n_sge = (hio->sgl == &hio->def_sgl ? hio->n_sge : hio->def_sgl_count);
929 for (i = 0, data = hio->def_sgl.virt; i < n_sge; i++, data++) {
940 if (hio->ovfl_sgl != NULL &&
941 hio->sgl == hio->ovfl_sgl) {
943 ocs_addr32_hi(hio->ovfl_sgl->phys),
944 ocs_addr32_lo(hio->ovfl_sgl->phys));
945 for (i = 0, data = hio->ovfl_sgl->virt; i < hio->n_sge; i++, data++) {
983 cb(io->hio, NULL, 0, SLI4_FC_WCQE_STATUS_DISPATCH_ERROR, 0, io);
1006 ocs_hw_io_t *hio;
1021 hio = NULL;
1025 hio = NULL;
1027 hio = ocs_hw_io_alloc(&ocs->hw);
1028 if (hio == NULL) {
1036 hio->eq = io->hw_priv;
1051 if (hio == NULL) {
1054 status = ocs_scsi_io_dispatch_hw_io(io, hio);
1082 if (io->io_to_abort->hio != NULL) {
1134 ocs_hw_io_t *hio;
1146 if (io->hio != NULL) {
1147 return ocs_scsi_io_dispatch_hw_io(io, io->hio);
1180 hio = ocs_hw_io_alloc(&io->ocs->hw);
1181 if (hio == NULL) {
1194 return ocs_scsi_io_dispatch_hw_io(io, hio);
1251 * @param hio Pointer to HW IO structure from which IO will be
1258 ocs_scsi_io_dispatch_hw_io(ocs_io_t *io, ocs_hw_io_t *hio)
1264 io->hio = hio;
1266 io->tgt_task_tag = hio->indicator;
1268 io->init_task_tag = hio->indicator;
1270 io->hw_tag = hio->reqtag;
1272 hio->eq = io->hw_priv;
1277 hio->wq_steering = OCS_HW_WQ_STEERING_CLASS;
1280 hio->wq_steering = OCS_HW_WQ_STEERING_REQUEST;
1283 hio->wq_steering = OCS_HW_WQ_STEERING_CPU;
1315 rc = ocs_hw_io_register_sgl(&ocs->hw, io->hio, &io->ovfl_sgl, count);
1325 rc = ocs_scsi_build_sgls(&ocs->hw, io->hio, &io->hw_dif, io->sgl, io->sgl_count, io->hio_type);
1339 rc = ocs_hw_io_send(&io->ocs->hw, io->hio_type, io->hio, io->wire_len, &io->iparam, &io->node->rnode,
1345 rc = ocs_hw_srrs_send(&ocs->hw, io->hio_type, io->hio,
1352 rc = ocs_hw_srrs_send(&ocs->hw, io->hio_type, io->hio,
1361 rc = ocs_hw_srrs_send(&ocs->hw, io->hio_type, io->hio,
1393 hio_to_abort = io->io_to_abort->hio;
1408 ((ocs_hw_done_t)io->hw_cb)(io->hio, NULL, 0, SLI4_FC_WCQE_STATUS_SUCCESS, 0, io);
1423 ((ocs_hw_done_t)io->hw_cb)(io->hio, NULL, 0, status, 0, io);
1853 * @param hio HW IO context.
1864 ocs_target_abort_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, int32_t status, uint32_t ext_status, void *app)
1971 ocs_assert(abort_io->hio == NULL, -1);
1999 * @param hio HW IO context.
2010 ocs_target_bls_resp_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length, int32_t status, uint32_t ext_status, void *app)
2127 * @param hio HW IO context.
2138 ocs_initiator_io_cb(ocs_hw_io_t *hio, ocs_remote_node_t *rnode, uint32_t length,
2659 * @param hio HW IO context.
2670 ocs_scsi_abort_io_cb(struct ocs_hw_io_s *hio, ocs_remote_node_t *rnode, uint32_t len, int32_t status,