Lines Matching defs:sge
78 struct rvt_sge sge; /* progress state for the current SGE */
96 rvt_put_mr(ss->sge.mr);
98 ss->sge = *ss->sg_list++;
102 static inline u32 rvt_get_sge_length(struct rvt_sge *sge, u32 length)
104 u32 len = sge->length;
108 if (len > sge->sge_length)
109 len = sge->sge_length;
117 struct rvt_sge *sge = &ss->sge;
119 sge->vaddr += length;
120 sge->length -= length;
121 sge->sge_length -= length;
122 if (sge->sge_length == 0) {
124 rvt_put_mr(sge->mr);
126 *sge = *ss->sg_list++;
127 } else if (sge->length == 0 && sge->mr->lkey) {
128 if (++sge->n >= RVT_SEGSZ) {
129 if (++sge->m >= sge->mr->mapsz)
131 sge->n = 0;
133 sge->vaddr = sge->mr->map[sge->m]->segs[sge->n].vaddr;
134 sge->length = sge->mr->map[sge->m]->segs[sge->n].length;
141 struct rvt_sge *sge = &ss->sge;
144 u32 len = rvt_get_sge_length(sge, length);