Lines Matching full:pages
30 struct page **pages; member
49 xen_obj->pages = kvmalloc_array(xen_obj->num_pages, in gem_alloc_pages_array()
51 return !xen_obj->pages ? -ENOMEM : 0; in gem_alloc_pages_array()
56 kvfree(xen_obj->pages); in gem_free_pages_array()
57 xen_obj->pages = NULL; in gem_free_pages_array()
89 * touch the memory. Insert pages now, so both CPU and GPU are happy. in xen_drm_front_gem_object_mmap()
91 * FIXME: as we insert all the pages now then no .fault handler must in xen_drm_front_gem_object_mmap()
94 ret = vm_map_pages(vma, xen_obj->pages, xen_obj->num_pages); in xen_drm_front_gem_object_mmap()
96 DRM_ERROR("Failed to map pages into vma: %d\n", ret); in xen_drm_front_gem_object_mmap()
150 * only allocate array of pointers to pages in gem_create()
157 * allocate ballooned pages which will be used to map in gem_create()
161 xen_obj->pages); in gem_create()
163 DRM_ERROR("Cannot allocate %zu ballooned pages: %d\n", in gem_create()
173 * need to allocate backing pages now, so we can share those in gem_create()
177 xen_obj->pages = drm_gem_get_pages(&xen_obj->base); in gem_create()
178 if (IS_ERR(xen_obj->pages)) { in gem_create()
179 ret = PTR_ERR(xen_obj->pages); in gem_create()
180 xen_obj->pages = NULL; in gem_create()
211 if (xen_obj->pages) { in xen_drm_front_gem_free_object_unlocked()
214 xen_obj->pages); in xen_drm_front_gem_free_object_unlocked()
218 xen_obj->pages, true, false); in xen_drm_front_gem_free_object_unlocked()
230 return xen_obj->pages; in xen_drm_front_gem_get_pages()
237 if (!xen_obj->pages) in xen_drm_front_gem_get_sg_table()
241 xen_obj->pages, xen_obj->num_pages); in xen_drm_front_gem_get_sg_table()
265 ret = drm_prime_sg_to_page_array(sgt, xen_obj->pages, in xen_drm_front_gem_import_sg_table()
273 xen_obj->pages); in xen_drm_front_gem_import_sg_table()
289 if (!xen_obj->pages) in xen_drm_front_gem_prime_vmap()
293 vaddr = vmap(xen_obj->pages, xen_obj->num_pages, in xen_drm_front_gem_prime_vmap()