Lines Matching full:length
54 int mem_check_range(struct rxe_mem *mem, u64 iova, size_t length) in mem_check_range() argument
63 length > mem->length || in mem_check_range()
64 iova > mem->iova + mem->length - length) in mem_check_range()
162 u64 length, u64 iova, int access, struct ib_udata *udata, in rxe_mem_init_user() argument
174 umem = ib_umem_get(pd->ibpd.uobject->context, start, length, access, 0); in rxe_mem_init_user()
199 if (length > 0) { in rxe_mem_init_user()
227 mem->length = length; in rxe_mem_init_user()
275 u64 length; in lookup_iova() local
286 length = mem->map[map_index]->buf[buf_index].size; in lookup_iova()
288 while (offset >= length) { in lookup_iova()
289 offset -= length; in lookup_iova()
296 length = mem->map[map_index]->buf[buf_index].size; in lookup_iova()
305 void *iova_to_vaddr(struct rxe_mem *mem, u64 iova, int length) in iova_to_vaddr() argument
322 if (mem_check_range(mem, iova, length)) { in iova_to_vaddr()
330 if (offset + length > mem->map[m]->buf[n].size) { in iova_to_vaddr()
342 /* copy data from a range (vaddr, vaddr+length-1) to or from
346 int rxe_mem_copy(struct rxe_mem *mem, u64 iova, void *addr, int length, in rxe_mem_copy() argument
359 if (length == 0) in rxe_mem_copy()
371 memcpy(dest, src, length); in rxe_mem_copy()
375 *crcp, dest, length); in rxe_mem_copy()
382 err = mem_check_range(mem, iova, length); in rxe_mem_copy()
393 while (length > 0) { in rxe_mem_copy()
402 if (bytes > length) in rxe_mem_copy()
403 bytes = length; in rxe_mem_copy()
411 length -= bytes; in rxe_mem_copy()
442 int length, in copy_data() argument
454 if (length == 0) in copy_data()
457 if (length > resid) { in copy_data()
462 if (sge->length && (offset < sge->length)) { in copy_data()
470 while (length > 0) { in copy_data()
471 bytes = length; in copy_data()
473 if (offset >= sge->length) { in copy_data()
487 if (sge->length) { in copy_data()
499 if (bytes > sge->length - offset) in copy_data()
500 bytes = sge->length - offset; in copy_data()
511 length -= bytes; in copy_data()
531 int advance_dma_data(struct rxe_dma_info *dma, unsigned int length) in advance_dma_data() argument
537 while (length) { in advance_dma_data()
540 if (offset >= sge->length) { in advance_dma_data()
548 bytes = length; in advance_dma_data()
550 if (bytes > sge->length - offset) in advance_dma_data()
551 bytes = sge->length - offset; in advance_dma_data()
555 length -= bytes; in advance_dma_data()
641 mem->length = num_pages << mem->page_shift; in rxe_mem_map_pages()