Lines Matching defs:sge

477  * rvt_ss_has_lkey - is mr in sge tests
478 * @ss: the sge state
482 * sge state.
492 rval = rvt_mr_has_lkey(ss->sge.mr, lkey);
675 * @sge: SGE to check
679 * Return: true if isge is adjacent to last sge
682 struct ib_sge *sge)
684 if (last_sge && sge->lkey == last_sge->mr->lkey &&
685 ((uint64_t)(last_sge->vaddr + last_sge->length) == sge->addr)) {
686 if (sge->lkey) {
687 if (unlikely((sge->addr - last_sge->mr->user_base +
688 sge->length > last_sge->mr->length)))
691 last_sge->length += sge->length;
693 last_sge->sge_length += sge->length;
694 trace_rvt_sge_adjacent(last_sge, sge);
706 * @sge: SGE to check
712 * Increments the reference count when a new sge is stored.
718 struct ib_sge *sge, int acc)
728 if (sge->lkey == 0) {
733 if (rvt_sge_adjacent(last_sge, sge))
743 isge->vaddr = (void *)sge->addr;
744 isge->length = sge->length;
745 isge->sge_length = sge->length;
750 if (rvt_sge_adjacent(last_sge, sge))
753 mr = rcu_dereference(rkt->table[sge->lkey >> rkt->shift]);
761 mr->lkey != sge->lkey || mr->pd != &pd->ibpd))
764 off = sge->addr - mr->user_base;
765 if (unlikely(sge->addr < mr->user_base ||
766 off + sge->length > mr->length ||
799 isge->sge_length = sge->length;
803 trace_rvt_sge_new(isge, sge);
816 * @sge: SGE state
826 int rvt_rkey_ok(struct rvt_qp *qp, struct rvt_sge *sge,
852 sge->mr = mr;
853 sge->vaddr = (void *)vaddr;
854 sge->length = len;
855 sge->sge_length = len;
856 sge->m = 0;
857 sge->n = 0;
903 sge->mr = mr;
904 sge->vaddr = mr->map[m]->segs[n].vaddr + off;
905 sge->length = mr->map[m]->segs[n].length - off;
906 sge->sge_length = len;
907 sge->m = m;
908 sge->n = n;