Lines Matching refs:pages
54 kvfree(vgem_obj->pages); in vgem_gem_free_object()
81 if (obj->pages) { in vgem_gem_fault()
82 get_page(obj->pages[page_offset]); in vgem_gem_fault()
83 vmf->page = obj->pages[page_offset]; in vgem_gem_fault()
288 struct page **pages; in vgem_pin_pages() local
290 pages = drm_gem_get_pages(&bo->base); in vgem_pin_pages()
291 if (IS_ERR(pages)) { in vgem_pin_pages()
294 return pages; in vgem_pin_pages()
297 bo->pages = pages; in vgem_pin_pages()
301 return bo->pages; in vgem_pin_pages()
308 drm_gem_put_pages(&bo->base, bo->pages, true, true); in vgem_unpin_pages()
309 bo->pages = NULL; in vgem_unpin_pages()
318 struct page **pages; in vgem_prime_pin() local
320 pages = vgem_pin_pages(bo); in vgem_prime_pin()
321 if (IS_ERR(pages)) in vgem_prime_pin()
322 return PTR_ERR(pages); in vgem_prime_pin()
327 drm_clflush_pages(pages, n_pages); in vgem_prime_pin()
343 return drm_prime_pages_to_sg(bo->pages, bo->base.size >> PAGE_SHIFT); in vgem_prime_get_sg_table()
367 obj->pages = kvmalloc_array(npages, sizeof(struct page *), GFP_KERNEL); in vgem_prime_import_sg_table()
368 if (!obj->pages) { in vgem_prime_import_sg_table()
374 drm_prime_sg_to_page_addr_arrays(obj->table, obj->pages, NULL, in vgem_prime_import_sg_table()
383 struct page **pages; in vgem_prime_vmap() local
385 pages = vgem_pin_pages(bo); in vgem_prime_vmap()
386 if (IS_ERR(pages)) in vgem_prime_vmap()
389 return vmap(pages, n_pages, 0, pgprot_writecombine(PAGE_KERNEL)); in vgem_prime_vmap()