Lines Matching refs:pages
62 kvfree(vgem_obj->pages); in vgem_gem_free_object()
89 if (obj->pages) { in vgem_gem_fault()
90 get_page(obj->pages[page_offset]); in vgem_gem_fault()
91 vmf->page = obj->pages[page_offset]; in vgem_gem_fault()
269 struct page **pages; in vgem_pin_pages() local
271 pages = drm_gem_get_pages(&bo->base); in vgem_pin_pages()
272 if (IS_ERR(pages)) { in vgem_pin_pages()
275 return pages; in vgem_pin_pages()
278 bo->pages = pages; in vgem_pin_pages()
282 return bo->pages; in vgem_pin_pages()
289 drm_gem_put_pages(&bo->base, bo->pages, true, true); in vgem_unpin_pages()
290 bo->pages = NULL; in vgem_unpin_pages()
299 struct page **pages; in vgem_prime_pin() local
301 pages = vgem_pin_pages(bo); in vgem_prime_pin()
302 if (IS_ERR(pages)) in vgem_prime_pin()
303 return PTR_ERR(pages); in vgem_prime_pin()
308 drm_clflush_pages(pages, n_pages); in vgem_prime_pin()
324 return drm_prime_pages_to_sg(obj->dev, bo->pages, bo->base.size >> PAGE_SHIFT); in vgem_prime_get_sg_table()
348 obj->pages = kvmalloc_array(npages, sizeof(struct page *), GFP_KERNEL); in vgem_prime_import_sg_table()
349 if (!obj->pages) { in vgem_prime_import_sg_table()
355 drm_prime_sg_to_page_addr_arrays(obj->table, obj->pages, NULL, in vgem_prime_import_sg_table()
364 struct page **pages; in vgem_prime_vmap() local
366 pages = vgem_pin_pages(bo); in vgem_prime_vmap()
367 if (IS_ERR(pages)) in vgem_prime_vmap()
370 return vmap(pages, n_pages, 0, pgprot_writecombine(PAGE_KERNEL)); in vgem_prime_vmap()