Lines Matching full:length
27 int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length) in mr_check_range() argument
36 iova + length > mr->ibmr.iova + mr->ibmr.length) { in mr_check_range()
37 rxe_dbg_mr(mr, "iova/length out of range\n"); in mr_check_range()
129 int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, in rxe_mr_init_user() argument
139 umem = ib_umem_get(&rxe->ib_dev, start, length, access); in rxe_mr_init_user()
246 unsigned int length, enum rxe_mr_copy_dir dir) in rxe_mr_copy_xarray() argument
254 while (length) { in rxe_mr_copy_xarray()
259 bytes = min_t(unsigned int, length, in rxe_mr_copy_xarray()
270 length -= bytes; in rxe_mr_copy_xarray()
278 unsigned int length, enum rxe_mr_copy_dir dir) in rxe_mr_copy_dma() argument
285 while (length) { in rxe_mr_copy_dma()
287 bytes = min_t(unsigned int, length, in rxe_mr_copy_dma()
300 length -= bytes; in rxe_mr_copy_dma()
305 unsigned int length, enum rxe_mr_copy_dir dir) in rxe_mr_copy() argument
309 if (length == 0) in rxe_mr_copy()
316 rxe_mr_copy_dma(mr, iova, addr, length, dir); in rxe_mr_copy()
320 err = mr_check_range(mr, iova, length); in rxe_mr_copy()
327 return rxe_odp_mr_copy(mr, iova, addr, length, dir); in rxe_mr_copy()
329 return rxe_mr_copy_xarray(mr, iova, addr, length, dir); in rxe_mr_copy()
340 int length, in copy_data() argument
351 if (length == 0) in copy_data()
354 if (length > resid) { in copy_data()
359 if (sge->length && (offset < sge->length)) { in copy_data()
367 while (length > 0) { in copy_data()
368 bytes = length; in copy_data()
370 if (offset >= sge->length) { in copy_data()
384 if (sge->length) { in copy_data()
396 if (bytes > sge->length - offset) in copy_data()
397 bytes = sge->length - offset; in copy_data()
407 length -= bytes; in copy_data()
427 int rxe_flush_pmem_iova(struct rxe_mr *mr, u64 iova, unsigned int length) in rxe_flush_pmem_iova() argument
436 /* mr must be valid even if length is zero */ in rxe_flush_pmem_iova()
440 if (length == 0) in rxe_flush_pmem_iova()
446 err = mr_check_range(mr, iova, length); in rxe_flush_pmem_iova()
450 while (length > 0) { in rxe_flush_pmem_iova()
456 bytes = min_t(unsigned int, length, in rxe_flush_pmem_iova()
463 length -= bytes; in rxe_flush_pmem_iova()
590 int advance_dma_data(struct rxe_dma_info *dma, unsigned int length) in advance_dma_data() argument
596 while (length) { in advance_dma_data()
599 if (offset >= sge->length) { in advance_dma_data()
607 bytes = length; in advance_dma_data()
609 if (bytes > sge->length - offset) in advance_dma_data()
610 bytes = sge->length - offset; in advance_dma_data()
614 length -= bytes; in advance_dma_data()