Lines Matching refs:nr_pages
88 scif_create_pinned_pages(int nr_pages, int prot) in scif_create_pinned_pages() argument
97 pin->pages = scif_zalloc(nr_pages * sizeof(*pin->pages)); in scif_create_pinned_pages()
123 for (j = 0; j < pin->nr_pages; j++) { in scif_destroy_pinned_pages()
132 pin->nr_pages * sizeof(*pin->pages)); in scif_destroy_pinned_pages()
146 struct scif_window *scif_create_window(struct scif_endpt *ep, int nr_pages, in scif_create_window() argument
156 window->dma_addr = scif_zalloc(nr_pages * sizeof(*window->dma_addr)); in scif_create_window()
160 window->num_pages = scif_zalloc(nr_pages * sizeof(*window->num_pages)); in scif_create_window()
178 nr_pages * sizeof(*window->dma_addr)); in scif_create_window()
195 int nr_pages = window->nr_pages; in scif_destroy_incomplete_window() local
220 scif_free(window->dma_addr, nr_pages * sizeof(*window->dma_addr)); in scif_destroy_incomplete_window()
221 scif_free(window->num_pages, nr_pages * sizeof(*window->num_pages)); in scif_destroy_incomplete_window()
273 int nr_pages, bool try_lock) in __scif_dec_pinned_vm_lock() argument
275 if (!mm || !nr_pages || !scif_ulimit_check) in __scif_dec_pinned_vm_lock()
286 mm->pinned_vm -= nr_pages; in __scif_dec_pinned_vm_lock()
292 int nr_pages) in __scif_check_inc_pinned_vm() argument
296 if (!mm || !nr_pages || !scif_ulimit_check) in __scif_check_inc_pinned_vm()
299 locked = nr_pages; in __scif_check_inc_pinned_vm()
323 int nr_pages = window->nr_pages; in scif_destroy_window() local
327 __scif_dec_pinned_vm_lock(window->mm, window->nr_pages, 0); in scif_destroy_window()
350 scif_free(window->dma_addr, nr_pages * sizeof(*window->dma_addr)); in scif_destroy_window()
351 scif_free(window->num_pages, nr_pages * sizeof(*window->num_pages)); in scif_destroy_window()
370 int nr_pages = window->nr_pages; in scif_create_remote_lookup() local
381 window->nr_lookup = ALIGN(nr_pages * PAGE_SIZE, in scif_create_remote_lookup()
408 for (i = 0, j = 0; i < nr_pages; i += SCIF_NR_ADDR_IN_PAGE, j++) { in scif_create_remote_lookup()
446 for (i = 0, j = 0; i < window->nr_pages; in scif_destroy_remote_lookup()
480 scif_create_remote_window(struct scif_dev *scifdev, int nr_pages) in scif_create_remote_window() argument
490 window->nr_pages = nr_pages; in scif_create_remote_window()
492 window->dma_addr = scif_zalloc(nr_pages * sizeof(*window->dma_addr)); in scif_create_remote_window()
496 window->num_pages = scif_zalloc(nr_pages * in scif_create_remote_window()
524 scif_free(window->dma_addr, window->nr_pages * in scif_destroy_remote_window()
526 scif_free(window->num_pages, window->nr_pages * in scif_destroy_remote_window()
551 err = sg_alloc_table(window->st, window->nr_pages, GFP_KERNEL); in scif_iommu_map()
603 for (i = 0, j = 0; i < window->nr_pages; i += nr_contig_pages, j++) { in scif_map_window()
608 for (k = i + 1; k < window->nr_pages; k++) { in scif_map_window()
725 scif_put_window(window, window->nr_pages); in scif_unregister_window()
738 window->nr_pages, 1)) { in scif_unregister_window()
768 msg.payload[1] = window->nr_pages; in scif_send_alloc_request()
1061 int nr_pages = msg->payload[1]; in scif_alloc_req() local
1063 window = scif_create_remote_window(scifdev, nr_pages); in scif_alloc_req()
1081 __func__, __LINE__, err, window, nr_pages); in scif_alloc_req()
1203 req.nr_bytes = recv_window->nr_pages << PAGE_SHIFT; in scif_recv_unreg()
1218 scif_put_window(window, window->nr_pages); in scif_recv_unreg()
1327 int nr_pages, err = 0, i; in __scif_pin_pages() local
1351 nr_pages = len >> PAGE_SHIFT; in __scif_pin_pages()
1354 pinned_pages = scif_create_pinned_pages(nr_pages, prot); in __scif_pin_pages()
1362 for (i = 0; i < nr_pages; i++) { in __scif_pin_pages()
1370 pinned_pages->nr_pages = nr_pages; in __scif_pin_pages()
1388 err = __scif_check_inc_pinned_vm(mm, nr_pages); in __scif_pin_pages()
1391 pinned_pages->nr_pages = 0; in __scif_pin_pages()
1396 pinned_pages->nr_pages = get_user_pages( in __scif_pin_pages()
1400 nr_pages, in __scif_pin_pages()
1406 if (nr_pages != pinned_pages->nr_pages) { in __scif_pin_pages()
1410 nr_pages, 0); in __scif_pin_pages()
1412 for (i = 0; i < pinned_pages->nr_pages; i++) { in __scif_pin_pages()
1425 if (pinned_pages->nr_pages < nr_pages) { in __scif_pin_pages()
1427 pinned_pages->nr_pages = nr_pages; in __scif_pin_pages()
1437 __scif_dec_pinned_vm_lock(mm, nr_pages, 0); in __scif_pin_pages()
1440 pinned_pages->nr_pages = nr_pages; in __scif_pin_pages()
1505 len = pinned_pages->nr_pages << PAGE_SHIFT; in scif_register_pinned_pages()
1538 window = scif_create_window(ep, pinned_pages->nr_pages, in scif_register_pinned_pages()
1547 window->nr_pages = pinned_pages->nr_pages; in scif_register_pinned_pages()
1656 window->nr_pages = len >> PAGE_SHIFT; in scif_register()
1722 int nr_pages, err; in scif_unregister() local
1744 nr_pages = len >> PAGE_SHIFT; in scif_unregister()
1767 err = scif_rma_list_unregister(window, offset, nr_pages); in scif_unregister()