xen_obj            44 drivers/gpu/drm/xen/xen_drm_front_gem.c static int gem_alloc_pages_array(struct xen_gem_object *xen_obj,
xen_obj            47 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj->num_pages = DIV_ROUND_UP(buf_size, PAGE_SIZE);
xen_obj            48 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj->pages = kvmalloc_array(xen_obj->num_pages,
xen_obj            50 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return !xen_obj->pages ? -ENOMEM : 0;
xen_obj            53 drivers/gpu/drm/xen/xen_drm_front_gem.c static void gem_free_pages_array(struct xen_gem_object *xen_obj)
xen_obj            55 drivers/gpu/drm/xen/xen_drm_front_gem.c 	kvfree(xen_obj->pages);
xen_obj            56 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj->pages = NULL;
xen_obj            62 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj;
xen_obj            65 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj = kzalloc(sizeof(*xen_obj), GFP_KERNEL);
xen_obj            66 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (!xen_obj)
xen_obj            69 drivers/gpu/drm/xen/xen_drm_front_gem.c 	ret = drm_gem_object_init(dev, &xen_obj->base, size);
xen_obj            71 drivers/gpu/drm/xen/xen_drm_front_gem.c 		kfree(xen_obj);
xen_obj            75 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return xen_obj;
xen_obj            81 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj;
xen_obj            85 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj = gem_create_obj(dev, size);
xen_obj            86 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (IS_ERR_OR_NULL(xen_obj))
xen_obj            87 drivers/gpu/drm/xen/xen_drm_front_gem.c 		return xen_obj;
xen_obj            94 drivers/gpu/drm/xen/xen_drm_front_gem.c 		ret = gem_alloc_pages_array(xen_obj, size);
xen_obj           102 drivers/gpu/drm/xen/xen_drm_front_gem.c 		ret = alloc_xenballooned_pages(xen_obj->num_pages,
xen_obj           103 drivers/gpu/drm/xen/xen_drm_front_gem.c 					       xen_obj->pages);
xen_obj           106 drivers/gpu/drm/xen/xen_drm_front_gem.c 				  xen_obj->num_pages, ret);
xen_obj           107 drivers/gpu/drm/xen/xen_drm_front_gem.c 			gem_free_pages_array(xen_obj);
xen_obj           111 drivers/gpu/drm/xen/xen_drm_front_gem.c 		xen_obj->be_alloc = true;
xen_obj           112 drivers/gpu/drm/xen/xen_drm_front_gem.c 		return xen_obj;
xen_obj           118 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj->num_pages = DIV_ROUND_UP(size, PAGE_SIZE);
xen_obj           119 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj->pages = drm_gem_get_pages(&xen_obj->base);
xen_obj           120 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (IS_ERR_OR_NULL(xen_obj->pages)) {
xen_obj           121 drivers/gpu/drm/xen/xen_drm_front_gem.c 		ret = PTR_ERR(xen_obj->pages);
xen_obj           122 drivers/gpu/drm/xen/xen_drm_front_gem.c 		xen_obj->pages = NULL;
xen_obj           126 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return xen_obj;
xen_obj           136 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj;
xen_obj           138 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj = gem_create(dev, size);
xen_obj           139 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (IS_ERR_OR_NULL(xen_obj))
xen_obj           140 drivers/gpu/drm/xen/xen_drm_front_gem.c 		return ERR_CAST(xen_obj);
xen_obj           142 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return &xen_obj->base;
xen_obj           147 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj = to_xen_gem_obj(gem_obj);
xen_obj           149 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (xen_obj->base.import_attach) {
xen_obj           150 drivers/gpu/drm/xen/xen_drm_front_gem.c 		drm_prime_gem_destroy(&xen_obj->base, xen_obj->sgt_imported);
xen_obj           151 drivers/gpu/drm/xen/xen_drm_front_gem.c 		gem_free_pages_array(xen_obj);
xen_obj           153 drivers/gpu/drm/xen/xen_drm_front_gem.c 		if (xen_obj->pages) {
xen_obj           154 drivers/gpu/drm/xen/xen_drm_front_gem.c 			if (xen_obj->be_alloc) {
xen_obj           155 drivers/gpu/drm/xen/xen_drm_front_gem.c 				free_xenballooned_pages(xen_obj->num_pages,
xen_obj           156 drivers/gpu/drm/xen/xen_drm_front_gem.c 							xen_obj->pages);
xen_obj           157 drivers/gpu/drm/xen/xen_drm_front_gem.c 				gem_free_pages_array(xen_obj);
xen_obj           159 drivers/gpu/drm/xen/xen_drm_front_gem.c 				drm_gem_put_pages(&xen_obj->base,
xen_obj           160 drivers/gpu/drm/xen/xen_drm_front_gem.c 						  xen_obj->pages, true, false);
xen_obj           165 drivers/gpu/drm/xen/xen_drm_front_gem.c 	kfree(xen_obj);
xen_obj           170 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj = to_xen_gem_obj(gem_obj);
xen_obj           172 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return xen_obj->pages;
xen_obj           177 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj = to_xen_gem_obj(gem_obj);
xen_obj           179 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (!xen_obj->pages)
xen_obj           182 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return drm_prime_pages_to_sg(xen_obj->pages, xen_obj->num_pages);
xen_obj           191 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj;
xen_obj           196 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj = gem_create_obj(dev, size);
xen_obj           197 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (IS_ERR_OR_NULL(xen_obj))
xen_obj           198 drivers/gpu/drm/xen/xen_drm_front_gem.c 		return ERR_CAST(xen_obj);
xen_obj           200 drivers/gpu/drm/xen/xen_drm_front_gem.c 	ret = gem_alloc_pages_array(xen_obj, size);
xen_obj           204 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj->sgt_imported = sgt;
xen_obj           206 drivers/gpu/drm/xen/xen_drm_front_gem.c 	ret = drm_prime_sg_to_page_addr_arrays(sgt, xen_obj->pages,
xen_obj           207 drivers/gpu/drm/xen/xen_drm_front_gem.c 					       NULL, xen_obj->num_pages);
xen_obj           212 drivers/gpu/drm/xen/xen_drm_front_gem.c 					xen_drm_front_dbuf_to_cookie(&xen_obj->base),
xen_obj           213 drivers/gpu/drm/xen/xen_drm_front_gem.c 					0, 0, 0, size, xen_obj->pages);
xen_obj           220 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return &xen_obj->base;
xen_obj           223 drivers/gpu/drm/xen/xen_drm_front_gem.c static int gem_mmap_obj(struct xen_gem_object *xen_obj,
xen_obj           253 drivers/gpu/drm/xen/xen_drm_front_gem.c 	ret = vm_map_pages(vma, xen_obj->pages, xen_obj->num_pages);
xen_obj           262 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj;
xen_obj           271 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj = to_xen_gem_obj(gem_obj);
xen_obj           272 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return gem_mmap_obj(xen_obj, vma);
xen_obj           277 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj = to_xen_gem_obj(gem_obj);
xen_obj           279 drivers/gpu/drm/xen/xen_drm_front_gem.c 	if (!xen_obj->pages)
xen_obj           283 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return vmap(xen_obj->pages, xen_obj->num_pages,
xen_obj           296 drivers/gpu/drm/xen/xen_drm_front_gem.c 	struct xen_gem_object *xen_obj;
xen_obj           303 drivers/gpu/drm/xen/xen_drm_front_gem.c 	xen_obj = to_xen_gem_obj(gem_obj);
xen_obj           304 drivers/gpu/drm/xen/xen_drm_front_gem.c 	return gem_mmap_obj(xen_obj, vma);