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

#include <drm_gpuvm.h>

Collaboration diagram for drm_gpuva:
Collaboration graph
[legend]

Public Attributes

struct drm_gpuvm * vm
 
struct drm_gpuvm_bo * vm_bo
 
enum drm_gpuva_flags flags
 
struct { 
 
   u64   addr 
 
   u64   range 
 
} va 
 
struct { 
 
   u64   offset 
 
   struct drm_gem_object *   obj 
 
   struct list_head   entry 
 
} gem 
 
struct { 
 
   struct rb_node   node 
 
   struct list_head   entry 
 
   u64   __subtree_last 
 
} rb 
 

Detailed Description

struct drm_gpuva - structure to track a GPU VA mapping

This structure represents a GPU VA mapping and is associated with a &drm_gpuvm.

Typically, this structure is embedded in bigger driver structures.

Member Data Documentation

◆ __subtree_last

u64 drm_gpuva::__subtree_last

@rb.__subtree_last: needed by the interval tree, holding last-in-subtree

◆ addr

u64 drm_gpuva::addr

@va.addr: the start address

◆ entry

struct list_head drm_gpuva::entry

@gem.entry: the &list_head to attach this object to a &drm_gpuvm_bo

@rb.entry: The &list_head to additionally connect &drm_gpuvas in the same order they appear in the interval tree. This is useful to keep iterating &drm_gpuvas from a start node found through the rb-tree while doing modifications on the rb-tree itself.

◆ flags

enum drm_gpuva_flags drm_gpuva::flags

@flags: the &drm_gpuva_flags for this mapping

◆ [struct]

struct { ... } drm_gpuva::gem

@gem: structure containing the &drm_gem_object and its offset

◆ node

struct rb_node drm_gpuva::node

@rb.node: the rb-tree node

◆ obj

struct drm_gem_object* drm_gpuva::obj

@gem.obj: the mapped &drm_gem_object

◆ offset

u64 drm_gpuva::offset

@gem.offset: the offset within the &drm_gem_object

◆ range

u64 drm_gpuva::range

◆ [struct]

struct { ... } drm_gpuva::rb

@rb: structure containing data to store &drm_gpuvas in a rb-tree

◆ [struct]

struct { ... } drm_gpuva::va

@va: structure containing the address and range of the &drm_gpuva

◆ vm

struct drm_gpuvm* drm_gpuva::vm

@vm: the &drm_gpuvm this object is associated with

◆ vm_bo

struct drm_gpuvm_bo* drm_gpuva::vm_bo

@vm_bo: the &drm_gpuvm_bo abstraction for the mapped &drm_gem_object


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