/illumos-gate/usr/src/uts/common/io/comstar/lu/stmf_sbd/ |
H A D | sbd_zvol.c | 187 stmf_sglist_ent_t *sgl; local 197 sgl = &dbuf->db_sglist[0]; 202 sgl->seg_addr = (uint8_t *)dbp->db_data + odiff; 204 sgl->seg_length = (uint32_t)seglen; 207 sgl++; 244 stmf_sglist_ent_t *sgl; local 287 sgl = &dbuf->db_sglist[0]; 298 sgl->seg_addr = abp[i]->b_data; 299 sgl->seg_length = (uint32_t)seglen; 300 sgl [all...] |
/illumos-gate/usr/src/uts/common/io/ib/mgt/ibmf/ |
H A D | ibmf_send.c | 54 ibt_wr_ds_t sgl[1]; local 84 ibmf_i_init_send_wqe(clientp, msgimplp, sgl, send_wqep,
|
H A D | ibmf_recv.c | 1456 ibt_wr_ds_t sgl[1]; local 1598 sgl[0].ds_va = (ib_vaddr_t)(uintptr_t)send_wqep->send_mem; 1599 sgl[0].ds_key = send_wqep->send_sg_lkey; 1600 sgl[0].ds_len = IBMF_MAD_SIZE; 1653 swrp->wr_sgl = sgl;
|
H A D | ibmf_impl.c | 2847 ibt_wr_ds_t *sgl; local 2942 sgl = kmem_zalloc(IBMF_MAX_RQ_WR_SGL_ELEMENTS * sizeof (ibt_wr_ds_t), 2944 if (sgl == NULL) { 2957 ibmf_i_init_recv_wqe(qpp, sgl, recv_wqep, ibt_qp_handle, 2968 kmem_free(sgl, IBMF_MAX_RQ_WR_SGL_ELEMENTS *
|
/illumos-gate/usr/src/lib/libilb/common/ |
H A D | ilb_sg.c | 278 ilbd_namelist_t *sgl; local 291 sgl = (ilbd_namelist_t *)&rbuf->ic_data; 293 for (i = 0; i < sgl->ilbl_count; i++) { 294 rc = i_ilb_walk_one_sg(h, f, sgl->ilbl_name[i], arg, walktype);
|
/illumos-gate/usr/src/uts/common/io/ib/clients/rdsv3/ |
H A D | ib_cm.c | 491 ibt_wr_ds_t *sgl; local 606 sgl = (ibt_wr_ds_t *)((uint8_t *)ic->i_send_wrs + 610 wrp->wr_sgl = &sgl[i * RDSV3_IB_MAX_SGE];
|
H A D | ib_send.c | 496 ibt_wr_ds_t *sgl; local 500 sgl = scat->sgl; 502 /* find the right sgl to begin with */ 503 while (sgl->ds_len <= off) { 504 off -= sgl->ds_len; 505 sgl++; 509 ix = 1; /* first data sgl is at 1 */ 514 sge->ds_va = sgl->ds_va + off; 515 assigned = min(len, sgl [all...] |
H A D | rdsv3_impl.c | 1173 ibt_wr_ds_t *sgl; local 1184 sgl = kmem_zalloc((num * 2) * sizeof (ibt_wr_ds_t), KM_SLEEP); 1199 swr.wr_sgl = sgl; 1211 for (i = 0; i < num; i++, s++, sgl++) { 1212 s->sgl = sgl; 1225 ASSERT(scat->sgl != NULL); 1229 kmem_free(scat->sgl, (num * 2) * sizeof (ibt_wr_ds_t)); 1230 scat->sgl = NULL;
|
/illumos-gate/usr/src/uts/common/io/ib/clients/eoib/ |
H A D | eib_rsrc.c | 127 eib_rsrc_grab_lsobufs(eib_t *ss, uint_t req_sz, ibt_wr_ds_t *sgl, uint32_t *nds) argument 137 ASSERT(sgl != NULL); 169 sgl[i].ds_va = (ib_vaddr_t)(uintptr_t)elem->lb_buf; 170 sgl[i].ds_key = bkt->bk_lkey; 171 sgl[i].ds_len = EIB_LSO_BUFSZ; 182 * to adjust the last sgl entry's length. Since we know we need atleast 186 sgl[i-1].ds_len = frag_sz; 216 * sgl/nds could've been set to different values). We'll make 299 * Figure out the buflist element this sgl buffer corresponds 1058 * single segment sgl bac [all...] |
H A D | eib_data.c | 855 ibt_wr_ds_t *sgl; local 1023 sgl = swqe->qe_wr.send.wr_sgl + i; 1024 bufp = (uchar_t *)(uintptr_t)sgl->ds_va;
|
/illumos-gate/usr/src/uts/i86pc/io/xsvc/ |
H A D | xsvc.c | 465 xsvc_mloc sgl; local 563 /* return sgl */ 575 sgl.mloc_addr = mp->xm_cookie.dmac_laddress; 576 sgl.mloc_size = mp->xm_cookie.dmac_size; 577 err = ddi_copyout(&sgl, &usgl[i], sizeof (xsvc_mloc), 587 /* set the last sgl entry to 0 to indicate cookie count */ 598 sgl.mloc_addr = 0; 599 sgl.mloc_size = 0; 600 err = ddi_copyout(&sgl, &usgl[i], sizeof (xsvc_mloc), mode);
|
/illumos-gate/usr/src/lib/udapl/udapl_tavor/tavor/ |
H A D | dapl_arbel_hw.c | 194 ibt_wr_ds_t *sgl; local 204 sgl = wr->wr_sgl; 301 * the values setup above (i.e. "sgl", "nds", and the "ds" pointer 320 total_len += sgl[i].ds_len; 329 if ((len = sgl[i].ds_len) == 0) { 333 (void *)(uintptr_t)sgl[i].ds_va, len); 340 if (sgl[i].ds_len == 0) { 349 TAVOR_WQE_BUILD_DATA_SEG(&ds[num_ds], &sgl[i]); 471 ibt_wr_ds_t sgl; local 472 sgl 1537 ibt_wr_ds_t sgl; local [all...] |
H A D | dapl_hermon_hw.c | 56 #define HERMON_WQE_BUILD_DATA_SEG(ds, sgl) \ 61 tmp[1] = HTOBE_64((sgl)->ds_va); \ 62 ((uint32_t *)tmp)[1] = HTOBE_32((sgl)->ds_key); \ 64 ((uint32_t *)tmp)[0] = HTOBE_32((sgl)->ds_len); \ 181 ibt_wr_ds_t *sgl; local 194 sgl = wr->wr_sgl; 296 * the values setup above (i.e. "sgl", "nds", and the "ds" pointer 315 len += sgl[i].ds_len; 332 src = (uint8_t *)(uintptr_t)sgl[i].ds_va; 333 len = sgl[ 448 ibt_wr_ds_t sgl; local 1586 ibt_wr_ds_t sgl; local [all...] |
H A D | dapl_tavor_hw.c | 248 * dapls_ib_max_request_iov(), aka, max send sgl size. 298 ibt_wr_ds_t *sgl; local 308 sgl = wr->wr_sgl; 397 * the values setup above (i.e. "sgl", "nds", and the "ds" pointer 417 total_len += sgl[i].ds_len; 426 if ((len = sgl[i].ds_len) == 0) { 430 (void *)(uintptr_t)sgl[i].ds_va, len); 437 if (sgl[i].ds_len == 0) { 446 TAVOR_WQE_BUILD_DATA_SEG(&ds[num_ds], &sgl[i]); 712 * the sgl entr [all...] |
/illumos-gate/usr/src/uts/common/io/ib/adapters/hermon/ |
H A D | hermon_wr.c | 89 ibt_wr_ds_t *sgl; local 137 sgl = wr->wr_sgl; 312 if (sgl[j].ds_len != 0) 317 if (sgl[j].ds_len == 0) { 327 HERMON_WQE_BUILD_DATA_SEG_SEND(&ds[last_ds], &sgl[j]); 443 ibt_wr_ds_t *sgl; local 496 sgl = wr->wr_sgl; 589 * Update "nds" and "sgl" because Atomic requests have 593 sgl = wr->wr_sgl; 654 * on the values setup above (i.e. "sgl", "nd 1311 ibt_wr_ds_t *sgl; local 1690 ibt_wr_ds_t *sgl; local [all...] |
H A D | hermon_ci.c | 2442 ibt_wr_ds_t *sgl; local 2478 sgl = wr->send.wr_sgl; 2479 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*sgl)) 2504 sgl[nds].ds_va = dmacookie.dmac_laddress; 2505 sgl[nds].ds_key = rsvd_lkey; 2506 sgl[nds].ds_len = (ib_msglen_t)dmacookie.dmac_size; 2519 sgl = wr->recv.wr_sgl; 2521 sgl = wr->send.wr_sgl; 2522 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*sgl)) 2557 sgl[nd [all...] |
/illumos-gate/usr/src/uts/common/sys/ib/clients/rdsv3/ |
H A D | rdsv3_impl.h | 280 ibt_wr_ds_t *sgl; member in struct:rdsv3_scatterlist
|
/illumos-gate/usr/src/uts/common/io/ib/adapters/tavor/ |
H A D | tavor_ci.c | 3101 ibt_wr_ds_t *sgl; local 3145 sgl = wr->send.wr_sgl; 3146 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*sgl)) 3168 sgl[nds].ds_va = dmacookie.dmac_laddress; 3169 sgl[nds].ds_key = rsvd_lkey; 3170 sgl[nds].ds_len = (ib_msglen_t)dmacookie.dmac_size; 3183 sgl = wr->recv.wr_sgl; 3185 sgl = wr->send.wr_sgl; 3186 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*sgl)) 3221 sgl[nd [all...] |
H A D | tavor_wr.c | 952 ibt_wr_ds_t *sgl; local 965 sgl = wr->wr_sgl; 1114 * Update "nds" and "sgl" because Atomic requests have 1119 sgl = wr->wr_sgl; 1258 * the values setup above (i.e. "sgl", "nds", and the "ds" pointer 1278 if (sgl[i].ds_len == 0) { 1287 TAVOR_WQE_BUILD_DATA_SEG(qp, &ds[num_ds], &sgl[i]); 1443 ibt_wr_ds_t *sgl; local 1580 sgl = wr->wr_sgl; 1585 * values set up above (i.e. "sgl", "nd [all...] |
/illumos-gate/usr/src/uts/i86pc/io/ |
H A D | rootnex.c | 384 static void rootnex_get_sgl(ddi_dma_obj_t *dmar_object, ddi_dma_cookie_t *sgl, 387 ddi_dma_cookie_t *sgl, rootnex_sglinfo_t *sglinfo); 2141 * Get the real sgl. rootnex_get_sgl will fill in cookie array while 2143 * some additional state about the sgl in the dma struct (i.e. is 2144 * the sgl clean, or do we need to do some munging; how many pages 2204 * multiple windows, and munge up a sgl to make the device happy. 2345 * If we had to allocate space to for the worse case sgl (it didn't 2866 * Called in bind fastpath to get the sgl. Most of this will be replaced 2870 rootnex_get_sgl(ddi_dma_obj_t *dmar_object, ddi_dma_cookie_t *sgl, argument 2975 sgl[cn 3157 rootnex_dvma_get_sgl(ddi_dma_obj_t *dmar_object, ddi_dma_cookie_t *sgl, rootnex_sglinfo_t *sglinfo) argument [all...] |
/illumos-gate/usr/src/uts/intel/io/scsi/adapters/pvscsi/ |
H A D | pvscsi.c | 640 struct PVSCSISGElement *sgl = CMD_CTX_SGLIST_VA(cmd->ctx); local 643 sgl[i].addr = cmd->cached_cookies[i].dmac_laddress; 644 sgl[i].length = cmd->cached_cookies[i].dmac_size; 645 sgl[i].flags = 0;
|
/illumos-gate/usr/src/uts/common/io/cxgbe/t4nex/ |
H A D | t4_sge.c | 70 struct ulptx_sgl sgl __attribute__((aligned(8))); member in struct:txinfo 2254 txinfo->sgl.sge[n / 2].len[1] = cpu_to_be32(0); 2256 txinfo->sgl.cmd_nsge = cpu_to_be32(V_ULPTX_CMD((u32)ULP_TX_SC_DSGL) | 2329 txinfo->sgl.sge[idx / 2].len[idx & 1] = cpu_to_be32(len); 2330 txinfo->sgl.sge[idx / 2].addr[idx & 1] = cpu_to_be64(ba); 2332 txinfo->sgl.len0 = cpu_to_be32(len); 2333 txinfo->sgl.addr0 = cpu_to_be64(ba); 2673 copy_to_txd(eq, (void *)&txinfo->sgl, &dst, txinfo->nflits * 8); 2763 copy_to_txd(&txq->eq, (void *)&txinfo->sgl, &dst, txinfo->nflits * 8);
|
/illumos-gate/usr/src/uts/common/io/ib/clients/ibd/ |
H A D | ibd.c | 2479 * 4. Set maximum sqseg value after checking to see if extended sgl 2492 ibd_print_warn(state, "Set #sgl = %d instead of default %d", 2498 ibd_print_warn(state, "RC mode: Set #sgl = %d instead of " 2504 * for using the Reserved LKey feature results in a wr sgl that 3763 * to adjust the last sgl entry's length. Since we know we need atleast 3804 * Figure out the buflist element this sgl buffer corresponds 6754 ibt_wr_ds_t *sgl; local 6881 sgl = node->w_swr.wr_sgl + i; 6882 bufp = (uchar_t *)(uintptr_t)sgl->ds_va; 7392 * Prepare the sgl fo [all...] |
/illumos-gate/usr/src/uts/common/io/scsi/adapters/pmcs/ |
H A D | pmcs_subr.c | 6198 pmcs_dmasgl_t *sgl, *prior; local 6244 sgl = tc->chunks; 6252 prior = sgl; 6288 sgl = tc->chunks; 6297 prior = sgl; 6300 sgl[tsc].sglal = LE_32(DWORD0(sg->dmac_laddress)); 6301 sgl[tsc].sglah = LE_32(DWORD1(sg->dmac_laddress)); 6302 sgl[tsc].sglen = LE_32(sg->dmac_size); 6303 sgl[tsc++].flags = 0;
|
/illumos-gate/usr/src/uts/common/rpc/ |
H A D | rpcib.c | 2314 ibt_wr_ds_t sgl[DSEG_MAX]; local 2332 sgl[nds].ds_va = clp->w.c_saddr; 2333 sgl[nds].ds_key = clp->c_smemhandle.mrc_lmr; /* lkey */ 2334 sgl[nds].ds_len = clp->c_len; 2349 wdesc->sbufaddr[i] = sgl[i].ds_va; 2360 tx_wr.wr_sgl = sgl; 2456 rib_create_wid(rib_qp_t *qp, ibt_wr_ds_t *sgl, uint32_t msgid) argument 2462 rwid->addr = sgl->ds_va; 2482 ibt_wr_ds_t sgl[DSEG_MAX]; local 2497 sgl[nd 2566 ibt_wr_ds_t sgl[DSEG_MAX]; local 2753 ibt_wr_ds_t sgl[DSEG_MAX]; local 2845 ibt_wr_ds_t sgl; local 3564 rib_init_svc_recv(rib_qp_t *qp, ibt_wr_ds_t *sgl) argument [all...] |