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

#include <drm_gpuvm.h>

Collaboration diagram for drm_gpuva_op_remap:
Collaboration graph
[legend]

Public Attributes

struct drm_gpuva_op_map * prev
 
struct drm_gpuva_op_map * next
 
struct drm_gpuva_op_unmap * unmap
 

Detailed Description

struct drm_gpuva_op_remap - GPU VA remap operation

This represents a single remap operation generated by the DRM GPU VA manager.

A remap operation is generated when an existing GPU VA mmapping is split up by inserting a new GPU VA mapping or by partially unmapping existent mapping(s), hence it consists of a maximum of two map and one unmap operation.

The @unmap operation takes care of removing the original existing mapping. @prev is used to remap the preceding part, @next the subsequent part.

If either a new mapping's start address is aligned with the start address of the old mapping or the new mapping's end address is aligned with the end address of the old mapping, either @prev or @next is NULL.

Note, the reason for a dedicated remap operation, rather than arbitrary unmap and map operations, is to give drivers the chance of extracting driver specific data for creating the new mappings from the unmap operations's &drm_gpuva structure which typically is embedded in larger driver specific structures.

Member Data Documentation

◆ next

struct drm_gpuva_op_map* drm_gpuva_op_remap::next

@next: the subsequent part of a split mapping

◆ prev

struct drm_gpuva_op_map* drm_gpuva_op_remap::prev

@prev: the preceding part of a split mapping

◆ unmap

struct drm_gpuva_op_unmap* drm_gpuva_op_remap::unmap

@unmap: the unmap operation for the original existing mapping


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