Lines Matching defs:drm_gem_object
45 struct drm_gem_object;
77 void (*free)(struct drm_gem_object *obj);
86 int (*open)(struct drm_gem_object *obj, struct drm_file *file);
95 void (*close)(struct drm_gem_object *obj, struct drm_file *file);
100 * If driver subclasses struct &drm_gem_object, it can implement this
111 const struct drm_gem_object *obj);
121 struct dma_buf *(*export)(struct drm_gem_object *obj, int flags);
130 int (*pin)(struct drm_gem_object *obj);
139 void (*unpin)(struct drm_gem_object *obj);
153 struct sg_table *(*get_sg_table)(struct drm_gem_object *obj);
163 int (*vmap)(struct drm_gem_object *obj, struct iosys_map *map);
173 void (*vunmap)(struct drm_gem_object *obj, struct iosys_map *map);
186 int (*mmap)(struct drm_gem_object *obj, struct vm_area_struct *vma);
196 int (*evict)(struct drm_gem_object *obj);
209 enum drm_gem_object_status (*status)(struct drm_gem_object *obj);
257 * struct drm_gem_object - GEM buffer object
264 struct drm_gem_object {
390 * (&drm_gem_object.resv) or a custom lock if one is provided.
462 void drm_gem_object_release(struct drm_gem_object *obj);
465 struct drm_gem_object *obj, size_t size);
467 struct drm_gem_object *obj, size_t size);
468 void drm_gem_private_object_fini(struct drm_gem_object *obj);
471 int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size,
482 static inline void drm_gem_object_get(struct drm_gem_object *obj)
489 __drm_gem_object_put(struct drm_gem_object *obj)
501 drm_gem_object_put(struct drm_gem_object *obj)
508 struct drm_gem_object *obj,
513 void drm_gem_free_mmap_offset(struct drm_gem_object *obj);
514 int drm_gem_create_mmap_offset(struct drm_gem_object *obj);
515 int drm_gem_create_mmap_offset_size(struct drm_gem_object *obj, size_t size);
517 struct page **drm_gem_get_pages(struct drm_gem_object *obj);
518 void drm_gem_put_pages(struct drm_gem_object *obj, struct page **pages,
521 int drm_gem_vmap_unlocked(struct drm_gem_object *obj, struct iosys_map *map);
522 void drm_gem_vunmap_unlocked(struct drm_gem_object *obj, struct iosys_map *map);
525 int count, struct drm_gem_object ***objs_out);
526 struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
529 int drm_gem_lock_reservations(struct drm_gem_object **objs, int count,
531 void drm_gem_unlock_reservations(struct drm_gem_object **objs, int count,
537 void drm_gem_lru_remove(struct drm_gem_object *obj);
538 void drm_gem_lru_move_tail_locked(struct drm_gem_lru *lru, struct drm_gem_object *obj);
539 void drm_gem_lru_move_tail(struct drm_gem_lru *lru, struct drm_gem_object *obj);
543 bool (*shrink)(struct drm_gem_object *obj));
545 int drm_gem_evict(struct drm_gem_object *obj);
550 * @obj: the &drm_gem_object
572 * @obj: the &drm_gem_object
574 * This initializes the &drm_gem_object's &drm_gpuva list.
581 static inline void drm_gem_gpuva_init(struct drm_gem_object *obj)
589 * @obj__: the &drm_gem_object the &drm_gpuvas to walk are associated with
602 * @obj__: the &drm_gem_object the &drm_gpuvas to walk are associated with
605 * &drm_gem_object. It is implemented with list_for_each_entry_safe(), hence