Lines Matching full:shmem

21  * struct drm_gem_shmem_object - GEM object backed by shmem
91 * @map_wc: map object write-combined (instead of using shmem defaults).
103 void drm_gem_shmem_free(struct drm_gem_shmem_object *shmem);
105 void drm_gem_shmem_put_pages(struct drm_gem_shmem_object *shmem);
106 int drm_gem_shmem_pin(struct drm_gem_shmem_object *shmem);
107 void drm_gem_shmem_unpin(struct drm_gem_shmem_object *shmem);
108 int drm_gem_shmem_vmap(struct drm_gem_shmem_object *shmem,
110 void drm_gem_shmem_vunmap(struct drm_gem_shmem_object *shmem,
112 int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct vm_area_struct *vma);
114 int drm_gem_shmem_pin_locked(struct drm_gem_shmem_object *shmem);
115 void drm_gem_shmem_unpin_locked(struct drm_gem_shmem_object *shmem);
117 int drm_gem_shmem_madvise(struct drm_gem_shmem_object *shmem, int madv);
119 static inline bool drm_gem_shmem_is_purgeable(struct drm_gem_shmem_object *shmem) in drm_gem_shmem_is_purgeable() argument
121 return (shmem->madv > 0) && in drm_gem_shmem_is_purgeable()
122 !shmem->vmap_use_count && shmem->sgt && in drm_gem_shmem_is_purgeable()
123 !shmem->base.dma_buf && !shmem->base.import_attach; in drm_gem_shmem_is_purgeable()
126 void drm_gem_shmem_purge(struct drm_gem_shmem_object *shmem);
128 struct sg_table *drm_gem_shmem_get_sg_table(struct drm_gem_shmem_object *shmem);
129 struct sg_table *drm_gem_shmem_get_pages_sgt(struct drm_gem_shmem_object *shmem);
131 void drm_gem_shmem_print_info(const struct drm_gem_shmem_object *shmem,
144 * This function wraps drm_gem_shmem_free(). Drivers that employ the shmem helpers
149 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_free() local
151 drm_gem_shmem_free(shmem); in drm_gem_shmem_object_free()
160 * This function wraps drm_gem_shmem_print_info(). Drivers that employ the shmem helpers should
166 const struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_print_info() local
168 drm_gem_shmem_print_info(shmem, p, indent); in drm_gem_shmem_object_print_info()
175 * This function wraps drm_gem_shmem_pin(). Drivers that employ the shmem helpers should
180 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_pin() local
182 return drm_gem_shmem_pin_locked(shmem); in drm_gem_shmem_object_pin()
189 * This function wraps drm_gem_shmem_unpin(). Drivers that employ the shmem helpers should
194 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_unpin() local
196 drm_gem_shmem_unpin_locked(shmem); in drm_gem_shmem_object_unpin()
203 * This function wraps drm_gem_shmem_get_sg_table(). Drivers that employ the shmem helpers should
211 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_get_sg_table() local
213 return drm_gem_shmem_get_sg_table(shmem); in drm_gem_shmem_object_get_sg_table()
219 * @map: Returns the kernel virtual address of the SHMEM GEM object's backing store.
221 * This function wraps drm_gem_shmem_vmap(). Drivers that employ the shmem helpers should
230 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_vmap() local
232 return drm_gem_shmem_vmap(shmem, map); in drm_gem_shmem_object_vmap()
238 * @map: Kernel virtual address where the SHMEM GEM object was mapped
240 * This function wraps drm_gem_shmem_vunmap(). Drivers that employ the shmem helpers should
246 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_vunmap() local
248 drm_gem_shmem_vunmap(shmem, map); in drm_gem_shmem_object_vunmap()
256 * This function wraps drm_gem_shmem_mmap(). Drivers that employ the shmem helpers should
264 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_mmap() local
266 return drm_gem_shmem_mmap(shmem, vma); in drm_gem_shmem_object_mmap()
281 * DRM_GEM_SHMEM_DRIVER_OPS - Default shmem GEM operations
283 * This macro provides a shortcut for setting the shmem GEM operations in