Lines Matching refs:length

169 void qib_copy_sge(struct qib_sge_state *ss, void *data, u32 length, int release)  in qib_copy_sge()  argument
173 while (length) { in qib_copy_sge()
174 u32 len = sge->length; in qib_copy_sge()
176 if (len > length) in qib_copy_sge()
177 len = length; in qib_copy_sge()
183 sge->length -= len; in qib_copy_sge()
190 } else if (sge->length == 0 && sge->mr->lkey) { in qib_copy_sge()
198 sge->length = in qib_copy_sge()
199 sge->mr->map[sge->m]->segs[sge->n].length; in qib_copy_sge()
202 length -= len; in qib_copy_sge()
211 void qib_skip_sge(struct qib_sge_state *ss, u32 length, int release) in qib_skip_sge() argument
215 while (length) { in qib_skip_sge()
216 u32 len = sge->length; in qib_skip_sge()
218 if (len > length) in qib_skip_sge()
219 len = length; in qib_skip_sge()
224 sge->length -= len; in qib_skip_sge()
231 } else if (sge->length == 0 && sge->mr->lkey) { in qib_skip_sge()
239 sge->length = in qib_skip_sge()
240 sge->mr->map[sge->m]->segs[sge->n].length; in qib_skip_sge()
242 length -= len; in qib_skip_sge()
251 static u32 qib_count_sge(struct qib_sge_state *ss, u32 length) in qib_count_sge() argument
258 while (length) { in qib_count_sge()
259 u32 len = sge.length; in qib_count_sge()
261 if (len > length) in qib_count_sge()
262 len = length; in qib_count_sge()
267 (len != length && (len & (sizeof(u32) - 1)))) { in qib_count_sge()
273 sge.length -= len; in qib_count_sge()
278 } else if (sge.length == 0 && sge.mr->lkey) { in qib_count_sge()
286 sge.length = in qib_count_sge()
287 sge.mr->map[sge.m]->segs[sge.n].length; in qib_count_sge()
289 length -= len; in qib_count_sge()
297 static void qib_copy_from_sge(void *data, struct qib_sge_state *ss, u32 length) in qib_copy_from_sge() argument
301 while (length) { in qib_copy_from_sge()
302 u32 len = sge->length; in qib_copy_from_sge()
304 if (len > length) in qib_copy_from_sge()
305 len = length; in qib_copy_from_sge()
311 sge->length -= len; in qib_copy_from_sge()
316 } else if (sge->length == 0 && sge->mr->lkey) { in qib_copy_from_sge()
324 sge->length = in qib_copy_from_sge()
325 sge->mr->map[sge->m]->segs[sge->n].length; in qib_copy_from_sge()
328 length -= len; in qib_copy_from_sge()
383 wr->sg_list[0].length < sizeof(u64) || in qib_post_one_send()
417 wqe->length = 0; in qib_post_one_send()
423 u32 length = wr->sg_list[i].length; in qib_post_one_send() local
426 if (length == 0) in qib_post_one_send()
432 wqe->length += length; in qib_post_one_send()
439 if (wqe->length > 0x80000000U) in qib_post_one_send()
441 } else if (wqe->length > (dd_from_ibdev(qp->ibqp.device)->pport + in qib_post_one_send()
751 static void update_sge(struct qib_sge_state *ss, u32 length) in update_sge() argument
755 sge->vaddr += length; in update_sge()
756 sge->length -= length; in update_sge()
757 sge->sge_length -= length; in update_sge()
761 } else if (sge->length == 0 && sge->mr->lkey) { in update_sge()
768 sge->length = sge->mr->map[sge->m]->segs[sge->n].length; in update_sge()
809 u32 length, unsigned flush_wc) in copy_io() argument
816 u32 len = ss->sge.length; in copy_io()
819 if (len > length) in copy_io()
820 len = length; in copy_io()
839 if (len == length) { in copy_io()
850 if (len == length) { in copy_io()
882 if (len == length) { in copy_io()
893 if (len == length) { in copy_io()
899 } else if (len == length) { in copy_io()
903 } else if (len == length) { in copy_io()
930 length -= len; in copy_io()
933 update_sge(ss, length); in copy_io()
1341 if (likely(ss->num_sge == 1 && len <= ss->sge.length && in qib_verbs_send_pio()