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).
100 void drm_gem_shmem_free(struct drm_gem_shmem_object *shmem);
102 void drm_gem_shmem_put_pages(struct drm_gem_shmem_object *shmem);
103 int drm_gem_shmem_pin(struct drm_gem_shmem_object *shmem);
104 void drm_gem_shmem_unpin(struct drm_gem_shmem_object *shmem);
105 int drm_gem_shmem_vmap(struct drm_gem_shmem_object *shmem,
107 void drm_gem_shmem_vunmap(struct drm_gem_shmem_object *shmem,
109 int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct vm_area_struct *vma);
111 int drm_gem_shmem_madvise(struct drm_gem_shmem_object *shmem, int madv);
113 static inline bool drm_gem_shmem_is_purgeable(struct drm_gem_shmem_object *shmem) in drm_gem_shmem_is_purgeable() argument
115 return (shmem->madv > 0) && in drm_gem_shmem_is_purgeable()
116 !shmem->vmap_use_count && shmem->sgt && in drm_gem_shmem_is_purgeable()
117 !shmem->base.dma_buf && !shmem->base.import_attach; in drm_gem_shmem_is_purgeable()
120 void drm_gem_shmem_purge(struct drm_gem_shmem_object *shmem);
122 struct sg_table *drm_gem_shmem_get_sg_table(struct drm_gem_shmem_object *shmem);
123 struct sg_table *drm_gem_shmem_get_pages_sgt(struct drm_gem_shmem_object *shmem);
125 void drm_gem_shmem_print_info(const struct drm_gem_shmem_object *shmem,
138 * This function wraps drm_gem_shmem_free(). Drivers that employ the shmem helpers
143 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_free() local
145 drm_gem_shmem_free(shmem); in drm_gem_shmem_object_free()
154 * This function wraps drm_gem_shmem_print_info(). Drivers that employ the shmem helpers should
160 const struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_print_info() local
162 drm_gem_shmem_print_info(shmem, p, indent); in drm_gem_shmem_object_print_info()
169 * This function wraps drm_gem_shmem_pin(). Drivers that employ the shmem helpers should
174 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_pin() local
176 return drm_gem_shmem_pin(shmem); in drm_gem_shmem_object_pin()
183 * This function wraps drm_gem_shmem_unpin(). Drivers that employ the shmem helpers should
188 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_unpin() local
190 drm_gem_shmem_unpin(shmem); in drm_gem_shmem_object_unpin()
197 * This function wraps drm_gem_shmem_get_sg_table(). Drivers that employ the shmem helpers should
205 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_get_sg_table() local
207 return drm_gem_shmem_get_sg_table(shmem); in drm_gem_shmem_object_get_sg_table()
213 * @map: Returns the kernel virtual address of the SHMEM GEM object's backing store.
215 * This function wraps drm_gem_shmem_vmap(). Drivers that employ the shmem helpers should
224 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_vmap() local
226 return drm_gem_shmem_vmap(shmem, map); in drm_gem_shmem_object_vmap()
232 * @map: Kernel virtual address where the SHMEM GEM object was mapped
234 * This function wraps drm_gem_shmem_vunmap(). Drivers that employ the shmem helpers should
240 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_vunmap() local
242 drm_gem_shmem_vunmap(shmem, map); in drm_gem_shmem_object_vunmap()
250 * This function wraps drm_gem_shmem_mmap(). Drivers that employ the shmem helpers should
258 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_gem_shmem_object_mmap() local
260 return drm_gem_shmem_mmap(shmem, vma); in drm_gem_shmem_object_mmap()
275 * DRM_GEM_SHMEM_DRIVER_OPS - Default shmem GEM operations
277 * This macro provides a shortcut for setting the shmem GEM operations in