XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
drm_gem_vram_helper.h File Reference
#include <drm/drm_file.h>
#include <drm/drm_gem.h>
#include <drm/drm_gem_ttm_helper.h>
#include <drm/drm_ioctl.h>
#include <drm/drm_modes.h>
#include <drm/ttm/ttm_bo.h>
#include <drm/ttm/ttm_placement.h>
#include <linux/container_of.h>
#include <linux/iosys-map.h>
Include dependency graph for drm_gem_vram_helper.h:

Go to the source code of this file.

Classes

struct  drm_gem_vram_object
 
struct  drm_vram_mm
 

Macros

#define DRM_GEM_VRAM_PL_FLAG_SYSTEM   (1 << 0)
 
#define DRM_GEM_VRAM_PL_FLAG_VRAM   (1 << 1)
 
#define DRM_GEM_VRAM_PL_FLAG_TOPDOWN   (1 << 2)
 
#define DRM_GEM_VRAM_PLANE_HELPER_FUNCS
 
#define DRM_GEM_VRAM_DRIVER
 

Functions

struct drm_gem_vram_object * drm_gem_vram_create (struct drm_device *dev, size_t size, unsigned long pg_align)
 
void drm_gem_vram_put (struct drm_gem_vram_object *gbo)
 
s64 drm_gem_vram_offset (struct drm_gem_vram_object *gbo)
 
int drm_gem_vram_vmap (struct drm_gem_vram_object *gbo, struct iosys_map *map)
 
void drm_gem_vram_vunmap (struct drm_gem_vram_object *gbo, struct iosys_map *map)
 
int drm_gem_vram_fill_create_dumb (struct drm_file *file, struct drm_device *dev, unsigned long pg_align, unsigned long pitch_align, struct drm_mode_create_dumb *args)
 
int drm_gem_vram_driver_dumb_create (struct drm_file *file, struct drm_device *dev, struct drm_mode_create_dumb *args)
 
int drm_gem_vram_plane_helper_prepare_fb (struct drm_plane *plane, struct drm_plane_state *new_state)
 
void drm_gem_vram_plane_helper_cleanup_fb (struct drm_plane *plane, struct drm_plane_state *old_state)
 
void drm_vram_mm_debugfs_init (struct drm_minor *minor)
 
int drmm_vram_helper_init (struct drm_device *dev, uint64_t vram_base, size_t vram_size)
 
enum drm_mode_status drm_vram_helper_mode_valid (struct drm_device *dev, const struct drm_display_mode *mode)
 

Macro Definition Documentation

◆ DRM_GEM_VRAM_DRIVER

#define DRM_GEM_VRAM_DRIVER
Value:
.debugfs_init = drm_vram_mm_debugfs_init, \
.dumb_map_offset = drm_gem_ttm_dumb_map_offset
int drm_gem_ttm_dumb_map_offset(struct drm_file *file, struct drm_device *dev, uint32_t handle, uint64_t *offset)
int drm_gem_vram_driver_dumb_create(struct drm_file *file, struct drm_device *dev, struct drm_mode_create_dumb *args)
void drm_vram_mm_debugfs_init(struct drm_minor *minor)

define DRM_GEM_VRAM_DRIVER - default callback functions for &struct drm_driver

Drivers that use VRAM MM and GEM VRAM can use this macro to initialize &struct drm_driver with default functions.

◆ DRM_GEM_VRAM_PL_FLAG_SYSTEM

#define DRM_GEM_VRAM_PL_FLAG_SYSTEM   (1 << 0)

◆ DRM_GEM_VRAM_PL_FLAG_TOPDOWN

#define DRM_GEM_VRAM_PL_FLAG_TOPDOWN   (1 << 2)

◆ DRM_GEM_VRAM_PL_FLAG_VRAM

#define DRM_GEM_VRAM_PL_FLAG_VRAM   (1 << 1)

◆ DRM_GEM_VRAM_PLANE_HELPER_FUNCS

#define DRM_GEM_VRAM_PLANE_HELPER_FUNCS
Value:
void drm_gem_vram_plane_helper_cleanup_fb(struct drm_plane *plane, struct drm_plane_state *old_state)
int drm_gem_vram_plane_helper_prepare_fb(struct drm_plane *plane, struct drm_plane_state *new_state)

DRM_GEM_VRAM_PLANE_HELPER_FUNCS - Initializes struct drm_plane_helper_funcs for VRAM handling

Drivers may use GEM BOs as VRAM helpers for the framebuffer memory. This macro initializes struct drm_plane_helper_funcs to use the respective helper functions.

Function Documentation

◆ drm_gem_vram_create()

struct drm_gem_vram_object * drm_gem_vram_create ( struct drm_device *  dev,
size_t  size,
unsigned long  pg_align 
)

◆ drm_gem_vram_driver_dumb_create()

int drm_gem_vram_driver_dumb_create ( struct drm_file *  file,
struct drm_device *  dev,
struct drm_mode_create_dumb *  args 
)

◆ drm_gem_vram_fill_create_dumb()

int drm_gem_vram_fill_create_dumb ( struct drm_file *  file,
struct drm_device *  dev,
unsigned long  pg_align,
unsigned long  pitch_align,
struct drm_mode_create_dumb *  args 
)

◆ drm_gem_vram_offset()

s64 drm_gem_vram_offset ( struct drm_gem_vram_object *  gbo)

◆ drm_gem_vram_plane_helper_cleanup_fb()

void drm_gem_vram_plane_helper_cleanup_fb ( struct drm_plane *  plane,
struct drm_plane_state *  old_state 
)

◆ drm_gem_vram_plane_helper_prepare_fb()

int drm_gem_vram_plane_helper_prepare_fb ( struct drm_plane *  plane,
struct drm_plane_state *  new_state 
)

◆ drm_gem_vram_put()

void drm_gem_vram_put ( struct drm_gem_vram_object *  gbo)

◆ drm_gem_vram_vmap()

int drm_gem_vram_vmap ( struct drm_gem_vram_object *  gbo,
struct iosys_map *  map 
)

◆ drm_gem_vram_vunmap()

void drm_gem_vram_vunmap ( struct drm_gem_vram_object *  gbo,
struct iosys_map *  map 
)

◆ drm_vram_helper_mode_valid()

enum drm_mode_status drm_vram_helper_mode_valid ( struct drm_device *  dev,
const struct drm_display_mode *  mode 
)

◆ drm_vram_mm_debugfs_init()

void drm_vram_mm_debugfs_init ( struct drm_minor *  minor)

◆ drmm_vram_helper_init()

int drmm_vram_helper_init ( struct drm_device *  dev,
uint64_t  vram_base,
size_t  vram_size 
)