1#ifndef __DRM_VMA_MANAGER_H__
2#define __DRM_VMA_MANAGER_H__
36#if BITS_PER_LONG == 64
37#define DRM_FILE_PAGE_OFFSET_START ((0xFFFFFFFFUL >> PAGE_SHIFT) + 1)
38#define DRM_FILE_PAGE_OFFSET_SIZE ((0xFFFFFFFFUL >> PAGE_SHIFT) * 256)
40#define DRM_FILE_PAGE_OFFSET_START ((0xFFFFFFFUL >> PAGE_SHIFT) + 1)
41#define DRM_FILE_PAGE_OFFSET_SIZE ((0xFFFFFFFUL >> PAGE_SHIFT) * 16)
65 unsigned long page_offset,
unsigned long size);
152 rwlock_init(&
node->vm_lock);
171 return node->vm_node.start;
188 return node->vm_node.size;
223 if (drm_mm_node_allocated(&
node->vm_node))
225 drm_vma_node_offset_addr(
node),
#define PAGE_SHIFT
Definition vmmngr.h:80
#define EACCES
Definition acclib.h:193
#define NULL
Definition actypes.h:561
size_t pages
Definition audrv.c:83
uint64_t __u64
Definition drm.h:44
size_t size
Definition drm_bridge.h:1299
void drm_vma_offset_manager_destroy(struct drm_vma_offset_manager *mgr)
bool drm_vma_node_is_allowed(struct drm_vma_offset_node *node, struct drm_file *tag)
int drm_vma_node_allow_once(struct drm_vma_offset_node *node, struct drm_file *tag)
void drm_vma_offset_manager_init(struct drm_vma_offset_manager *mgr, unsigned long page_offset, unsigned long size)
struct drm_vma_offset_node * drm_vma_offset_lookup_locked(struct drm_vma_offset_manager *mgr, unsigned long start, unsigned long pages)
void drm_vma_node_revoke(struct drm_vma_offset_node *node, struct drm_file *tag)
int drm_vma_offset_add(struct drm_vma_offset_manager *mgr, struct drm_vma_offset_node *node, unsigned long pages)
int drm_vma_node_allow(struct drm_vma_offset_node *node, struct drm_file *tag)
void drm_vma_offset_remove(struct drm_vma_offset_manager *mgr, struct drm_vma_offset_node *node)
void int node
Definition kthread.h:31
spinlock_t rwlock_t
Definition spinlock.h:200
#define unmap_mapping_range(mapping, holebegin, holelen, even_cows)
Definition mount.h:93
#define RB_ROOT
Definition rbtree_types.h:62
Definition drm_file.h:165
Definition drm_vma_manager.h:46
struct drm_file * vm_tag
Definition drm_vma_manager.h:48
struct rb_node vm_rb
Definition drm_vma_manager.h:47
unsigned long vm_count
Definition drm_vma_manager.h:49
Definition drm_vma_manager.h:59
rwlock_t vm_lock
Definition drm_vma_manager.h:60
struct drm_mm vm_addr_space_mm
Definition drm_vma_manager.h:61
Definition drm_vma_manager.h:52
void * driver_private
Definition drm_vma_manager.h:56
rwlock_t vm_lock
Definition drm_vma_manager.h:53
struct drm_mm_node vm_node
Definition drm_vma_manager.h:54
struct rb_root vm_files
Definition drm_vma_manager.h:55
Definition rbtree_types.h:21
Definition rbtree_types.h:34