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

#include <pvr_drm.h>

Public Attributes

__u32 vm_context_handle
 
__u32 flags
 
__u64 device_addr
 
__u32 handle
 
__u32 _padding_14
 
__u64 offset
 
__u64 size
 

Detailed Description

DOC: PowerVR IOCTL VM_MAP and VM_UNMAP interfaces

The VM UAPI allows userspace to create buffer object mappings in GPU virtual address space.

The client is responsible for managing GPU address space. It should allocate mappings within the heaps returned by DRM_PVR_DEV_QUERY_HEAP_INFO_GET.

DRM_IOCTL_PVR_VM_MAP creates a new mapping. The client provides the target virtual address for the mapping. Size and offset within the mapped buffer object can be specified, so the client can partially map a buffer.

DRM_IOCTL_PVR_VM_UNMAP removes a mapping. The entire mapping will be removed from GPU address space only if the size of the mapping matches that known to the driver. struct drm_pvr_ioctl_vm_map_args - Arguments for DRM_IOCTL_PVR_VM_MAP.

Member Data Documentation

◆ _padding_14

__u32 drm_pvr_ioctl_vm_map_args::_padding_14

@_padding_14: Reserved. This field must be zeroed.

◆ device_addr

__u64 drm_pvr_ioctl_vm_map_args::device_addr

@device_addr: [IN] Requested device-virtual address for the mapping. This must be non-zero and aligned to the device page size for the heap containing the requested address. It is an error to specify an address which is not contained within one of the heaps returned by DRM_PVR_DEV_QUERY_HEAP_INFO_GET.

◆ flags

__u32 drm_pvr_ioctl_vm_map_args::flags

@flags: [IN] Flags which affect this mapping. Currently always 0.

◆ handle

__u32 drm_pvr_ioctl_vm_map_args::handle

@handle: [IN] Handle of the target buffer object. This must be a valid handle returned by DRM_IOCTL_PVR_CREATE_BO.

◆ offset

__u64 drm_pvr_ioctl_vm_map_args::offset

@offset: [IN] Offset into the target bo from which to begin the mapping.

◆ size

__u64 drm_pvr_ioctl_vm_map_args::size

@size: [IN] Size of the requested mapping. Must be aligned to the device page size for the heap containing the requested address, as well as the host page size. When added to @device_addr, the result must not overflow the heap which contains @device_addr (i.e. the range specified by @device_addr and @size must be completely contained within a single heap specified by DRM_PVR_DEV_QUERY_HEAP_INFO_GET).

◆ vm_context_handle

__u32 drm_pvr_ioctl_vm_map_args::vm_context_handle

@vm_context_handle: [IN] Handle for VM context for this mapping to exist in.


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