Lines Matching defs:node

6569 ibd_setup_lso(ibd_swqe_t *node, mblk_t *mp, uint32_t mss,
6583 lso = &(node->w_swr.wr.ud_lso);
6657 ibd_free_lsohdr(ibd_swqe_t *node, mblk_t *mp)
6661 if ((!node) || (!mp))
6668 if (node->w_swr.wr_opcode == IBT_WRC_SEND_LSO) {
6669 lso = &(node->w_swr.wr.ud_lso);
6679 ibd_post_send(ibd_state_t *state, ibd_swqe_t *node)
6691 &node->w_swr, 1, NULL);
6695 ibd_tx_cleanup(state, node);
6751 ibd_prepare_sgl(ibd_state_t *state, mblk_t *mp, ibd_swqe_t *node,
6823 node->w_buftype = IBD_WQE_MAPPED;
6824 node->w_swr.wr_sgl = node->w_sgl;
6827 (ibt_all_wr_t *)&node->w_swr, &node->w_mi_hdl);
6839 node->swqe_copybuf.ic_sgl.ds_len = pktsize;
6840 node->w_swr.wr_nds = 1;
6841 node->w_swr.wr_sgl = &node->swqe_copybuf.ic_sgl;
6842 node->w_buftype = IBD_WQE_TXBUF;
6850 bufp = (uchar_t *)(uintptr_t)node->w_swr.wr_sgl->ds_va;
6864 node->w_swr.wr_sgl = node->w_sgl;
6866 node->w_swr.wr_sgl, &(node->w_swr.wr_nds)) != 0) {
6870 node->w_buftype = IBD_WQE_LSOBUF;
6880 for (i = 0; i < node->w_swr.wr_nds; i++) {
6881 sgl = node->w_swr.wr_sgl + i;
6939 ibd_swqe_t *node;
6983 node = WQE_TO_SWQE(
6985 if (node != NULL) {
6988 node->swqe_next;
6990 node = ibd_rc_acquire_swqes(rc_chan);
6994 if (node == NULL) {
7011 node = WQE_TO_SWQE(state->id_tx_list.dl_head);
7012 if (node != NULL) {
7014 state->id_tx_list.dl_head = node->swqe_next;
7016 node = ibd_acquire_swqe(state);
7019 if (node == NULL) {
7049 node->swqe_im_mblk = NULL;
7050 node->w_swr.wr_nds = 0;
7051 node->w_swr.wr_sgl = NULL;
7052 node->w_swr.wr_opcode = IBT_WRC_SEND;
7069 node->w_ahandle = ace;
7070 node->w_swr.wr.ud.udwr_dest = ace->ac_dest;
7080 node->w_ahandle = NULL;
7168 ASSERT(node->w_swr.wr_trans == IBT_RC_SRV);
7181 node->swqe_copybuf.ic_sgl.ds_len = pktsize;
7182 node->w_swr.wr_nds = 1;
7183 node->w_swr.wr_sgl = &node->swqe_copybuf.ic_sgl;
7184 node->w_buftype = IBD_WQE_TXBUF;
7186 bufp = (uchar_t *)(uintptr_t)node->w_swr.wr_sgl->ds_va;
7193 ASSERT(node->swqe_im_mblk == NULL);
7216 node->w_swr.wr_sgl = node->w_sgl;
7219 &iov_attr, (ibt_all_wr_t *)&node->w_swr,
7220 &node->w_mi_hdl);
7231 node->w_buftype = IBD_WQE_MAPPED;
7232 node->swqe_im_mblk = mp;
7249 * return failure. node->w_buftype
7254 node->w_buftype = IBD_WQE_TXBUF;
7267 node->w_sgl[0].ds_va =
7269 node->w_sgl[0].ds_key =
7271 node->w_sgl[0].ds_len = pktsize;
7272 node->w_swr.wr_sgl = node->w_sgl;
7273 node->w_swr.wr_nds = 1;
7274 node->w_buftype = IBD_WQE_RC_COPYBUF;
7275 node->w_rc_tx_largebuf = lbufp;
7286 ASSERT(node->swqe_im_mblk == NULL);
7290 node->swqe_next = NULL;
7295 SWQE_TO_WQE(node);
7297 rc_chan->tx_head = node;
7299 rc_chan->tx_tail = node;
7304 ibd_rc_post_send(rc_chan, node);
7366 node->w_swr.wr_opcode = IBT_WRC_SEND;
7369 if (ibd_setup_lso(node, mp, mss, ace->ac_dest) != 0) {
7381 node->w_swr.wr_opcode = IBT_WRC_SEND_LSO;
7382 lsohdr_sz = (node->w_swr.wr.ud_lso).lso_hdr_sz;
7387 node->w_swr.wr_flags |= IBT_WR_SEND_CKSUM;
7389 node->w_swr.wr_flags &= ~IBT_WR_SEND_CKSUM;
7396 if (ibd_prepare_sgl(state, mp, node, lsohdr_sz) != 0) {
7406 node->swqe_im_mblk = mp;
7411 * about the 'node' after ibd_post_send() returns.
7413 node->swqe_next = NULL;
7419 SWQE_TO_WQE(node);
7421 state->id_tx_head = node;
7423 state->id_tx_tail = node;
7428 ibd_post_send(state, node);
7434 if (node && mp)
7435 ibd_free_lsohdr(node, mp);
7440 if (node != NULL) {
7442 ibd_rc_tx_cleanup(node);
7444 ibd_tx_cleanup(state, node);
8339 ibd_state_t *node, *prev;
8345 node = ibd_objlist_head;
8348 while (node != NULL) {
8349 if (node->id_plinkid == cmd->ioc_partid)
8351 prev = node;
8352 node = node->id_next;
8355 if (node == NULL) {
8360 if ((err = dls_devnet_destroy(node->id_mh, &tmpid, B_TRUE)) != 0) {
8371 ibd_set_mac_progress(node, IBD_DRV_DELETE_IN_PROGRESS);
8374 if ((node->id_mac_state & IBD_DRV_STARTED) ||
8375 (node->id_mac_state & IBD_DRV_IN_LATE_HCA_INIT) ||
8376 (ibd_part_busy(node) != DDI_SUCCESS) ||
8377 ((err = mac_disable(node->id_mh)) != 0)) {
8378 (void) dls_devnet_create(node->id_mh, cmd->ioc_partid,
8380 ibd_clr_mac_progress(node, IBD_DRV_DELETE_IN_PROGRESS);
8385 node->id_mac_state |= IBD_DRV_IN_DELETION;
8387 ibd_part_unattach(node);
8389 ibd_clr_mac_progress(node, IBD_DRV_DELETE_IN_PROGRESS);
8393 ibd_objlist_head = node->id_next;
8395 prev->id_next = node->id_next;
8398 if ((err = mac_unregister(node->id_mh)) != 0) {
8403 cv_destroy(&node->id_macst_cv);
8404 mutex_destroy(&node->id_macst_lock);
8406 kmem_free(node, sizeof (ibd_state_t));