Lines Matching refs:length
27 int mem_check_range(struct rxe_mem *mem, u64 iova, size_t length)
36 length > mem->length ||
37 iova > mem->iova + mem->length - length)
127 u64 length, u64 iova, int access, struct ib_udata *udata,
138 umem = ib_umem_get(pd->ibpd.device, start, length, access);
163 if (length > 0) {
192 mem->length = length;
240 u64 length;
251 length = mem->map[map_index]->buf[buf_index].size;
253 while (offset >= length) {
254 offset -= length;
261 length = mem->map[map_index]->buf[buf_index].size;
270 void *iova_to_vaddr(struct rxe_mem *mem, u64 iova, int length)
287 if (mem_check_range(mem, iova, length)) {
295 if (offset + length > mem->map[m]->buf[n].size) {
307 /* copy data from a range (vaddr, vaddr+length-1) to or from
311 int rxe_mem_copy(struct rxe_mem *mem, u64 iova, void *addr, int length,
324 if (length == 0)
336 memcpy(dest, src, length);
340 *crcp, dest, length);
347 err = mem_check_range(mem, iova, length);
358 while (length > 0) {
367 if (bytes > length)
368 bytes = length;
376 length -= bytes;
407 int length,
419 if (length == 0)
422 if (length > resid) {
427 if (sge->length && (offset < sge->length)) {
435 while (length > 0) {
436 bytes = length;
438 if (offset >= sge->length) {
452 if (sge->length) {
464 if (bytes > sge->length - offset)
465 bytes = sge->length - offset;
476 length -= bytes;
496 int advance_dma_data(struct rxe_dma_info *dma, unsigned int length)
502 while (length) {
505 if (offset >= sge->length) {
513 bytes = length;
515 if (bytes > sge->length - offset)
516 bytes = sge->length - offset;
520 length -= bytes;