Lines Matching refs:sgl
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;
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[i].ds_len;
335 /* if this sgl overflows the inline segment */
351 } else { /* this sgl fully fits */
358 if (sgl[i].ds_len)
362 src = (uint8_t *)(uintptr_t)sgl[i].ds_va;
363 len = sgl[i].ds_len;
378 if (sgl[i].ds_len == 0) {
387 HERMON_WQE_BUILD_DATA_SEG(&ds[num_ds], &sgl[i]);
448 ibt_wr_ds_t sgl;
449 sgl.ds_va = (ib_vaddr_t)0;
450 sgl.ds_len = (ib_msglen_t)0;
451 sgl.ds_key = (ibt_lkey_t)HERMON_WQE_SGL_INVALID_LKEY;
452 TAVOR_WQE_BUILD_DATA_SEG(&ds[num_ds], &sgl);
510 * the sgl entry after the last valid one in this post request. We do
1586 ibt_wr_ds_t sgl;
1588 sgl.ds_va = (ib_vaddr_t)0;
1589 sgl.ds_key = HERMON_WQE_SGL_INVALID_LKEY;
1590 sgl.ds_len = (ib_msglen_t)0;
1596 TAVOR_WQE_BUILD_DATA_SEG((void *)&p[2], &sgl);
1600 TAVOR_WQE_BUILD_DATA_SEG((void *)&p[2], &sgl);