XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_gem_vram_object Struct Reference

#include <drm_gem_vram_helper.h>

Collaboration diagram for drm_gem_vram_object:
Collaboration graph
[legend]

Public Attributes

struct ttm_buffer_object bo
 
struct iosys_map map
 
unsigned int vmap_use_count
 
struct ttm_placement placement
 
struct ttm_place placements [2]
 

Detailed Description

struct drm_gem_vram_object - GEM object backed by VRAM @bo: TTM buffer object @map: Mapping information for @bo @placement: TTM placement information. Supported placements are TTM_PL_VRAM and TTM_PL_SYSTEM @placements: TTM placement information.

The type struct drm_gem_vram_object represents a GEM object that is backed by VRAM. It can be used for simple framebuffer devices with dedicated memory. The buffer object can be evicted to system memory if video memory becomes scarce.

GEM VRAM objects perform reference counting for pin and mapping operations. So a buffer object that has been pinned N times with drm_gem_vram_pin() must be unpinned N times with drm_gem_vram_unpin(). The same applies to pairs of drm_gem_vram_kmap() and drm_gem_vram_kunmap(), as well as pairs of drm_gem_vram_vmap() and drm_gem_vram_vunmap().

Member Data Documentation

◆ bo

struct ttm_buffer_object drm_gem_vram_object::bo

◆ map

struct iosys_map drm_gem_vram_object::map

◆ placement

struct ttm_placement drm_gem_vram_object::placement

◆ placements

struct ttm_place drm_gem_vram_object::placements[2]

◆ vmap_use_count

unsigned int drm_gem_vram_object::vmap_use_count

@vmap_use_count:

Reference count on the virtual address. The address are un-mapped when the count reaches zero.


The documentation for this struct was generated from the following file: