Lines Matching full:folios
29 struct folio **folios; member
32 * Unlike folios, pinned_folios is only used for unpin.
58 pfn = folio_pfn(ubuf->folios[pgoff]); in udmabuf_vm_fault()
76 pfn = folio_pfn(ubuf->folios[pgoff]); in udmabuf_vm_fault()
123 pages[pg] = folio_page(ubuf->folios[pg], in vmap_udmabuf()
162 sg_set_folio(sgl, ubuf->folios[i], PAGE_SIZE, in get_sg_table()
210 ubuf->folios = kvmalloc_array(pgcnt, sizeof(*ubuf->folios), GFP_KERNEL); in init_udmabuf()
211 if (!ubuf->folios) in init_udmabuf()
231 kvfree(ubuf->folios); in deinit_udmabuf()
326 loff_t start, loff_t size, struct folio **folios) in udmabuf_pin_folios() argument
337 nr_folios = memfd_pin_folios(memfd, start, end, folios, pgcnt, &pgoff); in udmabuf_pin_folios()
344 size_t fsize = folio_size(folios[cur_folio]); in udmabuf_pin_folios()
346 ubuf->pinned_folios[nr_pinned++] = folios[cur_folio]; in udmabuf_pin_folios()
349 ubuf->folios[upgcnt] = folios[cur_folio]; in udmabuf_pin_folios()
360 * The first subpages of other folios (in the range) have an in udmabuf_pin_folios()
376 struct folio **folios = NULL; in udmabuf_create() local
411 folios = kvmalloc_array(max_nr_folios, sizeof(*folios), GFP_KERNEL); in udmabuf_create()
412 if (!folios) { in udmabuf_create()
435 list[i].size, folios); in udmabuf_create()
459 kvfree(folios); in udmabuf_create()
466 kvfree(folios); in udmabuf_create()