Lines Matching refs:pages
64 kvfree(vgem_obj->pages); in vgem_gem_free_object()
91 if (obj->pages) { in vgem_gem_fault()
92 get_page(obj->pages[page_offset]); in vgem_gem_fault()
93 vmf->page = obj->pages[page_offset]; in vgem_gem_fault()
273 struct page **pages; in vgem_pin_pages() local
275 pages = drm_gem_get_pages(&bo->base); in vgem_pin_pages()
276 if (IS_ERR(pages)) { in vgem_pin_pages()
279 return pages; in vgem_pin_pages()
282 bo->pages = pages; in vgem_pin_pages()
286 return bo->pages; in vgem_pin_pages()
293 drm_gem_put_pages(&bo->base, bo->pages, true, true); in vgem_unpin_pages()
294 bo->pages = NULL; in vgem_unpin_pages()
303 struct page **pages; in vgem_prime_pin() local
305 pages = vgem_pin_pages(bo); in vgem_prime_pin()
306 if (IS_ERR(pages)) in vgem_prime_pin()
307 return PTR_ERR(pages); in vgem_prime_pin()
312 drm_clflush_pages(pages, n_pages); in vgem_prime_pin()
328 return drm_prime_pages_to_sg(obj->dev, bo->pages, bo->base.size >> PAGE_SHIFT); in vgem_prime_get_sg_table()
352 obj->pages = kvmalloc_array(npages, sizeof(struct page *), GFP_KERNEL); in vgem_prime_import_sg_table()
353 if (!obj->pages) { in vgem_prime_import_sg_table()
359 drm_prime_sg_to_page_array(obj->table, obj->pages, npages); in vgem_prime_import_sg_table()
367 struct page **pages; in vgem_prime_vmap() local
370 pages = vgem_pin_pages(bo); in vgem_prime_vmap()
371 if (IS_ERR(pages)) in vgem_prime_vmap()
372 return PTR_ERR(pages); in vgem_prime_vmap()
374 vaddr = vmap(pages, n_pages, 0, pgprot_writecombine(PAGE_KERNEL)); in vgem_prime_vmap()