Lines Matching refs:pages
470 static int vb2_dc_get_user_pages(unsigned long start, struct page **pages, in vb2_dc_get_user_pages() argument
488 pages[i] = pfn_to_page(pfn); in vb2_dc_get_user_pages()
494 n_pages, dma_dir == DMA_FROM_DEVICE, 1, pages, NULL); in vb2_dc_get_user_pages()
500 put_page(pages[--n]); in vb2_dc_get_user_pages()
578 struct page **pages; in vb2_dc_get_userptr() local
612 pages = kmalloc(n_pages * sizeof(pages[0]), GFP_KERNEL); in vb2_dc_get_userptr()
613 if (!pages) { in vb2_dc_get_userptr()
641 ret = vb2_dc_get_user_pages(start, pages, n_pages, vma, dma_dir); in vb2_dc_get_userptr()
647 kfree(pages); in vb2_dc_get_userptr()
662 ret = sg_alloc_table_from_pages(sgt, pages, n_pages, in vb2_dc_get_userptr()
670 kfree(pages); in vb2_dc_get_userptr()
671 pages = NULL; in vb2_dc_get_userptr()
712 if (pages && !vma_is_io(buf->vma)) in vb2_dc_get_userptr()
714 put_page(pages[--n_pages]); in vb2_dc_get_userptr()
720 kfree(pages); /* kfree is NULL-proof */ in vb2_dc_get_userptr()