XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
drm_vma_manager.h File Reference
#include <drm/drm_mm.h>
#include <linux/mm.h>
#include <linux/rbtree.h>
#include <linux/spinlock.h>
#include <linux/types.h>
Include dependency graph for drm_vma_manager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  drm_vma_offset_file
 
struct  drm_vma_offset_node
 
struct  drm_vma_offset_manager
 

Macros

#define DRM_FILE_PAGE_OFFSET_START   ((0xFFFFFFFUL >> PAGE_SHIFT) + 1)
 
#define DRM_FILE_PAGE_OFFSET_SIZE   ((0xFFFFFFFUL >> PAGE_SHIFT) * 16)
 

Functions

void drm_vma_offset_manager_init (struct drm_vma_offset_manager *mgr, unsigned long page_offset, unsigned long size)
 
void drm_vma_offset_manager_destroy (struct drm_vma_offset_manager *mgr)
 
struct drm_vma_offset_node * drm_vma_offset_lookup_locked (struct drm_vma_offset_manager *mgr, unsigned long start, unsigned long pages)
 
int drm_vma_offset_add (struct drm_vma_offset_manager *mgr, struct drm_vma_offset_node *node, unsigned long pages)
 
void drm_vma_offset_remove (struct drm_vma_offset_manager *mgr, struct drm_vma_offset_node *node)
 
int drm_vma_node_allow (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_node_revoke (struct drm_vma_offset_node *node, struct drm_file *tag)
 
bool drm_vma_node_is_allowed (struct drm_vma_offset_node *node, struct drm_file *tag)
 

Macro Definition Documentation

◆ DRM_FILE_PAGE_OFFSET_SIZE

#define DRM_FILE_PAGE_OFFSET_SIZE   ((0xFFFFFFFUL >> PAGE_SHIFT) * 16)

◆ DRM_FILE_PAGE_OFFSET_START

#define DRM_FILE_PAGE_OFFSET_START   ((0xFFFFFFFUL >> PAGE_SHIFT) + 1)

Function Documentation

◆ drm_vma_node_allow()

int drm_vma_node_allow ( struct drm_vma_offset_node *  node,
struct drm_file *  tag 
)

◆ drm_vma_node_allow_once()

int drm_vma_node_allow_once ( struct drm_vma_offset_node *  node,
struct drm_file *  tag 
)

◆ drm_vma_node_is_allowed()

bool drm_vma_node_is_allowed ( struct drm_vma_offset_node *  node,
struct drm_file *  tag 
)

◆ drm_vma_node_revoke()

void drm_vma_node_revoke ( struct drm_vma_offset_node *  node,
struct drm_file *  tag 
)

◆ drm_vma_offset_add()

int drm_vma_offset_add ( struct drm_vma_offset_manager *  mgr,
struct drm_vma_offset_node *  node,
unsigned long  pages 
)

◆ drm_vma_offset_lookup_locked()

struct drm_vma_offset_node * drm_vma_offset_lookup_locked ( struct drm_vma_offset_manager *  mgr,
unsigned long  start,
unsigned long  pages 
)

◆ drm_vma_offset_manager_destroy()

void drm_vma_offset_manager_destroy ( struct drm_vma_offset_manager *  mgr)

◆ drm_vma_offset_manager_init()

void drm_vma_offset_manager_init ( struct drm_vma_offset_manager *  mgr,
unsigned long  page_offset,
unsigned long  size 
)

◆ drm_vma_offset_remove()

void drm_vma_offset_remove ( struct drm_vma_offset_manager *  mgr,
struct drm_vma_offset_node *  node 
)