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

#include <xe_drm.h>

Public Attributes

__u16 mem_class
 
__u16 instance
 
__u32 min_page_size
 
__u64 total_size
 
__u64 used
 
__u64 cpu_visible_size
 
__u64 cpu_visible_used
 
__u64 reserved [6]
 

Detailed Description

struct drm_xe_mem_region - Describes some region as known to the driver.

Member Data Documentation

◆ cpu_visible_size

__u64 drm_xe_mem_region::cpu_visible_size

@cpu_visible_size: How much of this region can be CPU accessed, in bytes.

This will always be <= @total_size, and the remainder (if any) will not be CPU accessible. If the CPU accessible part is smaller than @total_size then this is referred to as a small BAR system.

On systems without small BAR (full BAR), the @cpu_visible_size will always equal the @total_size, since all of it will be CPU accessible.

Note this is only tracked for DRM_XE_MEM_REGION_CLASS_VRAM regions (for other types the value here will always equal zero).

◆ cpu_visible_used

__u64 drm_xe_mem_region::cpu_visible_used

@cpu_visible_used: Estimate of CPU visible memory used, in bytes.

Note this is only currently tracked for DRM_XE_MEM_REGION_CLASS_VRAM regions (for other types the value here will always be zero).

◆ instance

__u16 drm_xe_mem_region::instance

@instance: The unique ID for this region, which serves as the index in the placement bitmask used as argument for &DRM_IOCTL_XE_GEM_CREATE

◆ mem_class

__u16 drm_xe_mem_region::mem_class

@mem_class: The memory class describing this region.

See enum drm_xe_memory_class for supported values.

◆ min_page_size

__u32 drm_xe_mem_region::min_page_size

@min_page_size: Min page-size in bytes for this region.

When the kernel allocates memory for this region, the underlying pages will be at least @min_page_size in size. Buffer objects with an allowable placement in this region must be created with a size aligned to this value. GPU virtual address mappings of (parts of) buffer objects that may be placed in this region must also have their GPU virtual address and range aligned to this value. Affected IOCTLS will return %-EINVAL if alignment restrictions are not met.

◆ reserved

__u64 drm_xe_mem_region::reserved[6]

@reserved: Reserved

◆ total_size

__u64 drm_xe_mem_region::total_size

@total_size: The usable size in bytes for this region.

◆ used

__u64 drm_xe_mem_region::used

@used: Estimate of the memory used in bytes for this region.


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