NVIDIA DRIVE OS Linux SDK API Reference

5.1.15.0 Release
For Test and Development only
Direct Rendering Manager

Detailed Description

DRM-NVDC is a compatibility library which implements the Direct Rendering Manager API (DRM) on top of the Tegra Display Controller kernel driver (NVDC). It replaces the Mesa DRM wrapper library libdrm.so.2 on NVIDIA DRIVE™ platforms. It is a special purpose library designed to provide Tegra support for EGLOutput-DRM extensions.

The functions implemented in DRM-NVDC are binary compatible with Mesa's libdrm, with some limitations that are documented here. Unsupported functions are implemented as no-ops. Unsupported parameters of supported functions are ignored.

Like Mesa DRM, DRM-NVDC can be used to query display resources, allocate simple non-accelerated "dumb" buffer objects, set display modes, and control display overlay planes.

DRM-NVDC only supports display control, not GPU command queues. Its primary purpose is to enumerate display resources, and to perform setup for those display resources, for example, setting display modes and overlay positions.

Functions

int drmOpen (const char *name, const char *busid)
 Opens a DRM device and creates a file descriptor handle. More...
 
int drmClose (int fd)
 Closes a DRM device. More...
 
int drmGetCap (int fd, uint64_t capability, uint64_t *value)
 Gets capabilities of the DRM driver. More...
 
int drmSetClientCap (int fd, uint64_t capability, uint64_t value)
 Enables or disables DRM features (capabilities). More...
 
int drmSetMaster (int fd)
 Requests master controls for a DRM device. More...
 
int drmDropMaster (int fd)
 Releases master controls for a DRM device. More...
 
int drmGetMagic (int fd, drm_magic_t *magic)
 Retrieves a magic cookie. More...
 
int drmAuthMagic (int fd, drm_magic_t magic)
 Authenticates a magic cookie. More...
 
drmVersionPtr drmGetVersion (int fd)
 Retrieves version information for the DRM driver. More...
 
void drmFreeVersion (drmVersionPtr version)
 Frees a version information structure. More...
 
int drmHandleEvent (int fd, drmEventContextPtr evctx)
 Polls for an event, specifying a callback function. More...
 
int drmIoctl (int fd, unsigned long request, void *arg)
 Issues a DRM input/output control (IOCTL). More...
 
int drmWaitVBlank (int fd, drmVBlankPtr vbl)
 Waits for a vertical blanking interval (vblank). More...
 
int drmModeAddFB (int fd, uint32_t width, uint32_t height, uint8_t depth, uint8_t bpp, uint32_t pitch, uint32_t bo_handle, uint32_t *buf_id)
 Creates a framebuffer. More...
 
int drmModeAddFB2 (int fd, uint32_t width, uint32_t height, uint32_t pixel_format, const uint32_t bo_handles[4], const uint32_t pitches[4], const uint32_t offsets[4], uint32_t *buf_id, uint32_t flags)
 Creates a framebuffer, specifying format and planes. More...
 
int drmModeAddFB2WithModifiers (int fd, uint32_t width, uint32_t height, uint32_t pixel_format, const uint32_t bo_handles[4], const uint32_t pitches[4], const uint32_t offsets[4], const uint64_t modifier[4], uint32_t *buf_id, uint32_t flags)
 Creates a framebuffer, specifying format and planes. More...
 
int drmModeRmFB (int fd, uint32_t fb_id)
 Destroys a framebuffer. More...
 
drmModeConnectorPtr drmModeGetConnector (int fd, uint32_t connector_id)
 Gets information for a connector. More...
 
void drmModeFreeConnector (drmModeConnectorPtr ptr)
 Frees a connector. More...
 
int drmModeConnectorSetProperty (int fd, uint32_t connector_id, uint32_t property_id, uint64_t value)
 Sets a connector property. More...
 
drmModeCrtcPtr drmModeGetCrtc (int fd, uint32_t crtc_id)
 Gets information for a CRTC. More...
 
void drmModeFreeCrtc (drmModeCrtcPtr ptr)
 Frees a CRTC. More...
 
int drmModeSetCrtc (int fd, uint32_t crtc_id, uint32_t fb_id, uint32_t x, uint32_t y, uint32_t *connectors, int count, drmModeModeInfoPtr drm_mode)
 Sets a CRTC configuration. More...
 
int drmModeCrtcSetGamma (int fd, uint32_t crtc_id, uint32_t size, uint16_t *red, uint16_t *green, uint16_t *blue)
 Sets the display gamma. More...
 
int drmModeCrtcGetGamma (int fd, uint32_t crtc_id, uint32_t size, uint16_t *red, uint16_t *green, uint16_t *blue)
 Gets the current display gamma ramp. More...
 
int drmModePageFlip (int fd, uint32_t crtc_id, uint32_t fb_id, uint32_t flags, void *user_data)
 Requests a page flip (framebuffer change) on the specified CRTC. More...
 
int drmModeSetCursor (int fd, uint32_t crtc_id, uint32_t bo_handle, uint32_t width, uint32_t height)
 Sets a cursor image. More...
 
int drmModeMoveCursor (int fd, uint32_t crtc_id, int x, int y)
 Moves a cursor. More...
 
drmModeEncoderPtr drmModeGetEncoder (int fd, uint32_t encoder_id)
 Gets information for an encoder. More...
 
void drmModeFreeEncoder (drmModeEncoderPtr ptr)
 Frees an encoder. More...
 
drmModePlanePtr drmModeGetPlane (int fd, uint32_t plane_id)
 Gets information about a plane. More...
 
void drmModeFreePlane (drmModePlanePtr ptr)
 Frees a plane. More...
 
int drmModeSetPlane (int fd, uint32_t plane_id, uint32_t crtc_id, uint32_t fb_id, uint32_t flags, int32_t crtc_x, int32_t crtc_y, uint32_t crtc_w, uint32_t crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h)
 Changes a plane's framebuffer and position. More...
 
drmModeObjectPropertiesPtr drmModeObjectGetProperties (int fd, uint32_t object_id, uint32_t object_type)
 Gets all properties of a DRM object. More...
 
void drmModeFreeObjectProperties (drmModeObjectPropertiesPtr ptr)
 Frees an object properties structure. More...
 
drmModePropertyPtr drmModeGetProperty (int fd, uint32_t propertyId)
 Gets a property structure that describes a property of a DRM object. More...
 
int drmModeObjectSetProperty (int fd, uint32_t object_id, uint32_t object_type, uint32_t property_id, uint64_t value)
 Set the current value of an object's property. More...
 
void drmModeFreeProperty (drmModePropertyPtr ptr)
 Frees a property structure. More...
 
drmModeResPtr drmModeGetResources (int fd)
 Gets information about a DRM device's CRTCs, encoders, and connectors. More...
 
void drmModeFreeResources (drmModeResPtr ptr)
 Frees a resource information structure. More...
 
drmModePlaneResPtr drmModeGetPlaneResources (int fd)
 Gets information about planes. More...
 
void drmModeFreePlaneResources (drmModePlaneResPtr ptr)
 Frees a plane resource information structure. More...
 
int drmPrimeFDToHandle (int fd, int prime_fd, uint32_t *handle)
 Imports a dma-buf. More...
 
int drmPrimeHandleToFD (int fd, uint32_t handle, uint32_t flags, int *prime_fd) drmModeAtomicReqPtr drmModeAtomicAlloc(void)
 Exports a dma-buf. More...
 
int drmModeAtomicAddProperty (drmModeAtomicReqPtr req, uint32_t object_id, uint32_t property_id, uint64_t value)
 Adds a property to an atomic request. More...
 
int drmModeAtomicCommit (int fd, drmModeAtomicReqPtr req, uint32_t flags, void *user_data)
 Commits an atomic property change request to hardware. More...
 
void drmModeAtomicFree (drmModeAtomicReqPtr req)
 Frees an atomic request. More...
 
int drmSetInterfaceVersion (int fd, drmSetVersion *version)
 Sets the interface version. More...
 
char * drmGetBusid (int fd)
 Gets the bus ID of a device. More...
 
void drmFreeBusid (const char *busid)
 Frees bus ID information. More...
 
int drmModeCreatePropertyBlob (int fd, const void *data, size_t size, uint32_t *id)
 Creates a property blob. More...
 
int drmModeDestroyPropertyBlob (int fd, uint32_t id)
 Destroys a property blob. More...
 
drmModePropertyBlobPtr drmModeGetPropertyBlob (int fd, uint32_t blob_id)
 Allocates and retrieves a userspace property blob pointer. More...
 
void drmModeFreePropertyBlob (drmModePropertyBlobPtr ptr)
 Frees a userspace property blob pointer. More...
 
char * drmGetDeviceNameFromFd (int fd)
 Gets a DRM device's name string. More...
 
void drmFree (void *p)
 Frees a block of memory. More...
 
int drmCommandWriteRead (int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
 Send a device-specific read-write command. More...
 
drmHashEntry * drmGetEntry (int fd)
 Function stub. More...
 
int drmRmMap (int fd, drm_handle_t handle)
 Function stub. More...
 
int drmAvailable (void)
 Function stub. More...
 
int drmDestroyDrawable (int fd, drm_drawable_t handle)
 Function stub. More...
 
int drmDestroyContext (int fd, drm_context_t handle)
 Function stub. More...
 
int drmSetContextFlags (int fd, drm_context_t context, drm_context_tFlags flags)
 Function stub. More...
 
int drmMap (int fd, drm_handle_t handle, drmSize size, drmAddressPtr address)
 Function stub. More...
 
int drmUnlock (int fd, drm_context_t context)
 Function stub. More...
 
void drmFreeReservedContextList (drm_context_t *pt)
 Function stub. More...
 
void drmSetServerInfo (drmServerInfoPtr info)
 Function stub. More...
 
int drmAddContextTag (int fd, drm_context_t context, void *tag)
 Function stub. More...
 
int drmAddMap (int fd, drm_handle_t offset, drmSize size, drmMapType type, drmMapFlags flags, drm_handle_t *handle)
 Function stub. More...
 
int drmCreateContext (int fd, drm_context_t *handle)
 Function stub. More...
 
int drmUpdateDrawableInfo (int fd, drm_drawable_t handle, drm_drawable_info_type_t type, unsigned int num, void *data)
 Function stub. More...
 
int drmCreateDrawable (int fd, drm_drawable_t *handle)
 Function stub. More...
 
void * drmGetHashTable (void)
 Function stub. More...
 
int drmDelContextTag (int fd, drm_context_t context)
 Function stub. More...
 
int drmUnmap (drmAddress address, drmSize size)
 Function stub. More...
 
int drmSetBusid (int fd, const char *busid)
 Function stub. More...
 
int drmGetLock (int fd, drm_context_t context, drmLockFlags flags)
 Function stub. More...
 
void * drmGetContextTag (int fd, drm_context_t context)
 Function stub. More...
 
drm_context_t * drmGetReservedContextList (int fd, int *count)
 Function stub. More...
 
int drmHashNext (void *t, unsigned long *key, void **value)
 Function stub. More...
 
int drmHashFirst (void *t, unsigned long *key, void **value)
 Function stub. More...
 
int drmModeSetCursor2 (int fd, uint32_t crtcId, uint32_t bo_handle, uint32_t width, uint32_t height, int32_t hot_x, int32_t hot_y) int drmOpenWithType(const char *name
 Function stub. More...
 
int drmOpenControl (int minor)
 Function stub. More...
 
int drmOpenRender (int minor)
 Function stub. More...
 
int drmGetInterruptFromBusID (int fd, int busnum, int devnum, int funcnum)
 Function stub. More...
 
int drmGetMap (int fd, int idx, drm_handle_t *offset, drmSize *size, drmMapType *type, drmMapFlags *flags, drm_handle_t *handle, int *mtrr)
 Function stub. More...
 
int drmGetClient (int fd, int idx, int *auth, int *pid, int *uid, unsigned long *magic, unsigned long *iocs)
 Function stub. More...
 
int drmGetStats (int fd, drmStatsT *stats)
 Function stub. More...
 
int drmCommandNone (int fd, unsigned long drmCommandIndex)
 Function stub. More...
 
int drmCommandRead (int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
 Function stub. More...
 
int drmCommandWrite (int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
 Function stub. More...
 
int drmAddContextPrivateMapping (int fd, drm_context_t ctx_id, drm_handle_t handle)
 Function stub. More...
 
int drmAddBufs (int fd, int count, int size, drmBufDescFlags flags, int agp_offset)
 Function stub. More...
 
int drmMarkBufs (int fd, double low, double high)
 Function stub. More...
 
int drmGetContextFlags (int fd, drm_context_t context, drm_context_tFlagsPtr flags)
 Function stub. More...
 
int drmSwitchToContext (int fd, drm_context_t context)
 Function stub. More...
 
int drmCtlInstHandler (int fd, int irq)
 Function stub. More...
 
int drmCtlUninstHandler (int fd)
 Function stub. More...
 
int drmCrtcGetSequence (int fd, uint32_t crtcId, uint64_t *sequence, uint64_t *ns)
 Function stub. More...
 
int drmCrtcQueueSequence (int fd, uint32_t crtcId, uint32_t flags, uint64_t sequence, uint64_t *sequence_queued, uint64_t user_data)
 Function stub. More...
 
int drmUnmapBufs (drmBufMapPtr bufs)
 Function stub. More...
 
int drmDMA (int fd, drmDMAReqPtr request)
 Function stub. More...
 
int drmFreeBufs (int fd, int count, int *list)
 Function stub. More...
 
int drmFinish (int fd, int context, drmLockFlags flags)
 Function stub. More...
 
int drmGetContextPrivateMapping (int fd, drm_context_t ctx_id, drm_handle_t *handle)
 Function stub. More...
 
int drmAgpAcquire (int fd)
 Function stub. More...
 
int drmAgpRelease (int fd)
 Function stub. More...
 
int drmAgpEnable (int fd, unsigned long mode)
 Function stub. More...
 
int drmAgpAlloc (int fd, unsigned long size, unsigned long type, unsigned long *address, drm_handle_t *handle)
 Function stub. More...
 
int drmAgpFree (int fd, drm_handle_t handle)
 Function stub. More...
 
int drmAgpBind (int fd, drm_handle_t handle, unsigned long offset)
 Function stub. More...
 
int drmAgpUnbind (int fd, drm_handle_t handle)
 Function stub. More...
 
int drmAgpVersionMajor (int fd)
 Function stub. More...
 
int drmAgpVersionMinor (int fd)
 Function stub. More...
 
int drmScatterGatherAlloc (int fd, unsigned long size, drm_handle_t *handle)
 Function stub. More...
 
int drmScatterGatherFree (int fd, drm_handle_t handle)
 Function stub. More...
 
int drmError (int err, const char *label)
 Function stub. More...
 
int drmHashDestroy (void *t)
 Function stub. More...
 
int drmHashLookup (void *t, unsigned long key, void **value)
 Function stub. More...
 
int drmHashInsert (void *t, unsigned long key, void *value)
 Function stub. More...
 
int drmHashDelete (void *t, unsigned long key)
 Function stub. More...
 
int drmRandomDestroy (void *state)
 Function stub. More...
 
int drmSLDestroy (void *l)
 Function stub. More...
 
int drmSLLookup (void *l, unsigned long key, void **value)
 Function stub. More...
 
int drmSLInsert (void *l, unsigned long key, void *value)
 Function stub. More...
 
int drmSLDelete (void *l, unsigned long key)
 Function stub. More...
 
int drmSLNext (void *l, unsigned long *key, void **value)
 Function stub. More...
 
int drmSLFirst (void *l, unsigned long *key, void **value)
 Function stub. More...
 
int drmSLLookupNeighbors (void *l, unsigned long key, unsigned long *prev_key, void **prev_value, unsigned long *next_key, void **next_value)
 Function stub. More...
 
int drmOpenOnce (void *unused, const char *BusID, int *newlyopened)
 Function stub. More...
 
int drmOpenOnceWithType (const char *BusID, int *newlyopened, int type)
 Function stub. More...
 
int drmGetNodeTypeFromFd (int fd)
 Function stub. More...
 
int drmGetDevice (int fd, drmDevicePtr *device)
 Function stub. More...
 
int drmGetDevices (drmDevicePtr devices[], int max_devices)
 Function stub. More...
 
int drmGetDevice2 (int fd, uint32_t flags, drmDevicePtr *device)
 Function stub. More...
 
int drmGetDevices2 (uint32_t flags, drmDevicePtr devices[], int max_devices)
 Function stub. More...
 
int drmDevicesEqual (drmDevicePtr a, drmDevicePtr b)
 Function stub. More...
 
int drmSyncobjCreate (int fd, uint32_t flags, uint32_t *handle)
 Function stub. More...
 
int drmSyncobjDestroy (int fd, uint32_t handle)
 Function stub. More...
 
int drmSyncobjHandleToFD (int fd, uint32_t handle, int *obj_fd)
 Function stub. More...
 
int drmSyncobjFDToHandle (int fd, int obj_fd, uint32_t *handle)
 Function stub. More...
 
int drmSyncobjImportSyncFile (int fd, uint32_t handle, int sync_file_fd)
 Function stub. More...
 
int drmSyncobjExportSyncFile (int fd, uint32_t handle, int *sync_file_fd)
 Function stub. More...
 
int drmSyncobjWait (int fd, uint32_t *handles, unsigned num_handles, int64_t timeout_nsec, unsigned flags, uint32_t *first_signaled)
 Function stub. More...
 
int drmSyncobjTimelineWait (int fd, uint32_t *handles, uint64_t *points, unsigned num_handles, int64_t timeout_nsec, unsigned flags, uint32_t *first_signaled)
 Function stub. More...
 
int drmSyncobjReset (int fd, const uint32_t *handles, uint32_t handle_count)
 Function stub. More...
 
int drmSyncobjSignal (int fd, const uint32_t *handles, uint32_t handle_count)
 Function stub. More...
 
int drmSyncobjTimelineSignal (int fd, const uint32_t *handles, uint64_t *points, uint32_t handle_count)
 Function stub. More...
 
int drmSyncobjTransfer (int fd, uint32_t dst_handle, uint64_t dst_point, uint32_t src_handle, uint64_t src_point, uint32_t flags)
 Function stub. More...
 
unsigned long drmRandom (void *state)
 Function stub. More...
 
double drmRandomDouble (void *state)
 Function stub. More...
 
unsigned long drmAgpGetMode (int fd)
 Function stub. More...
 
unsigned long drmAgpBase (int fd)
 Function stub. More...
 
unsigned long drmAgpSize (int fd)
 Function stub. More...
 
unsigned long drmAgpMemoryUsed (int fd)
 Function stub. More...
 
unsigned long drmAgpMemoryAvail (int fd)
 Function stub. More...
 
unsigned int drmAgpVendorId (int fd)
 Function stub. More...
 
unsigned int drmAgpDeviceId (int fd)
 Function stub. More...
 
void drmSLDump (void *l)
 Function stub. More...
 
void drmCloseOnce (int fd)
 Function stub. More...
 
void drmFreeDevice (drmDevicePtr *device)
 Function stub. More...
 
void drmFreeDevices (drmDevicePtr devices[], int count)
 Function stub. More...
 
char * drmGetDeviceNameFromFd2 (int fd)
 Function stub. More...
 
char * drmGetPrimaryDeviceNameFromFd (int fd)
 Function stub. More...
 
char * drmGetRenderDeviceNameFromFd (int fd)
 Function stub. More...
 
drmVersionPtr drmGetLibVersion (int fd)
 Function stub. More...
 
drmBufInfoPtr drmGetBufInfo (int fd)
 Function stub. More...
 
drmBufMapPtr drmMapBufs (int fd)
 Function stub. More...
 
void * drmMalloc (int size)
 Function stub. More...
 
void * drmRandomCreate (unsigned long seed)
 Function stub. More...
 
void * drmHashCreate (void)
 Function stub. More...
 
void * drmSLCreate (void)
 Function stub. More...
 
void drmModeFreeModeInfo (drmModeModeInfoPtr ptr)
 Function stub. More...
 
void drmModeFreeFB (drmModeFBPtr ptr)
 Function stub. More...
 
void drmModeAtomicSetCursor (drmModeAtomicReqPtr req, int cursor)
 Function stub. More...
 
drmModeFBPtr drmModeGetFB (int fd, uint32_t bufferId)
 Function stub. More...
 
drmModeConnectorPtr drmModeGetConnectorCurrent (int fd, uint32_t connector_id)
 Function stub. More...
 
drmModeAtomicReqPtr drmModeAtomicDuplicate (drmModeAtomicReqPtr req)
 Function stub. More...
 
drmModeLesseeListPtr drmModeListLessees (int fd)
 Function stub. More...
 
drmModeObjectListPtr drmModeGetLease (int fd)
 Function stub. More...
 
int drmModeDirtyFB (int fd, uint32_t bufferId, drmModeClipPtr clips, uint32_t num_clips)
 Function stub. More...
 
int drmModeAttachMode (int fd, uint32_t connectorId, drmModeModeInfoPtr mode_info)
 Function stub. More...
 
int drmModeDetachMode (int fd, uint32_t connectorId, drmModeModeInfoPtr mode_info)
 Function stub. More...
 
int drmCheckModesettingSupported (const char *busid)
 Function stub. More...
 
int drmModePageFlipTarget (int fd, uint32_t crtc_id, uint32_t fb_id, uint32_t flags, void *user_data, uint32_t target_vblank)
 Function stub. More...
 
int drmModeAtomicMerge (drmModeAtomicReqPtr base, drmModeAtomicReqPtr augment)
 Function stub. More...
 
int drmModeAtomicGetCursor (drmModeAtomicReqPtr req)
 Function stub. More...
 
int drmModeRevokeLease (int fd, uint32_t lessee_id)
 Function stub. More...
 
int drmModeCreateLease (int fd, const uint32_t *objects, int num_objects, int flags, uint32_t *lessee_id)
 Function stub. More...
 

Variables

int const char * busid
 
int const char int type
 

Function Documentation

◆ drmAddBufs()

int drmAddBufs ( int  fd,
int  count,
int  size,
drmBufDescFlags  flags,
int  agp_offset 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAddContextPrivateMapping()

int drmAddContextPrivateMapping ( int  fd,
drm_context_t  ctx_id,
drm_handle_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAddContextTag()

int drmAddContextTag ( int  fd,
drm_context_t  context,
void *  tag 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAddMap()

int drmAddMap ( int  fd,
drm_handle_t  offset,
drmSize  size,
drmMapType  type,
drmMapFlags  flags,
drm_handle_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpAcquire()

int drmAgpAcquire ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpAlloc()

int drmAgpAlloc ( int  fd,
unsigned long  size,
unsigned long  type,
unsigned long *  address,
drm_handle_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpBase()

unsigned long drmAgpBase ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmAgpBind()

int drmAgpBind ( int  fd,
drm_handle_t  handle,
unsigned long  offset 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpDeviceId()

unsigned int drmAgpDeviceId ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmAgpEnable()

int drmAgpEnable ( int  fd,
unsigned long  mode 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpFree()

int drmAgpFree ( int  fd,
drm_handle_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpGetMode()

unsigned long drmAgpGetMode ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmAgpMemoryAvail()

unsigned long drmAgpMemoryAvail ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmAgpMemoryUsed()

unsigned long drmAgpMemoryUsed ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmAgpRelease()

int drmAgpRelease ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpSize()

unsigned long drmAgpSize ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmAgpUnbind()

int drmAgpUnbind ( int  fd,
drm_handle_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpVendorId()

unsigned int drmAgpVendorId ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmAgpVersionMajor()

int drmAgpVersionMajor ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAgpVersionMinor()

int drmAgpVersionMinor ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmAuthMagic()

int drmAuthMagic ( int  fd,
drm_magic_t  magic 
)

Authenticates a magic cookie.

Note
This function has no effect in DRM-NVDC.
Parameters
fdThe file descriptor of an open DRM device.
magicThe magic token retrieved from fd by drmGetMagic.
Returns
0 if successful, or -1 otherwise.

◆ drmAvailable()

int drmAvailable ( void  )

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmCheckModesettingSupported()

int drmCheckModesettingSupported ( const char *  busid)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmClose()

int drmClose ( int  fd)

Closes a DRM device.

Parameters
fdThe file descriptor of an open DRM device.
Returns
0 if successful, or -1 otherwise.

◆ drmCloseOnce()

void drmCloseOnce ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmCommandNone()

int drmCommandNone ( int  fd,
unsigned long  drmCommandIndex 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCommandRead()

int drmCommandRead ( int  fd,
unsigned long  drmCommandIndex,
void *  data,
unsigned long  size 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCommandWrite()

int drmCommandWrite ( int  fd,
unsigned long  drmCommandIndex,
void *  data,
unsigned long  size 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCommandWriteRead()

int drmCommandWriteRead ( int  fd,
unsigned long  drmCommandIndex,
void *  data,
unsigned long  size 
)

Send a device-specific read-write command.

DRM-NVDC supports these commands for application use:

  • DRM_TEGRA_GEM_SET_TILING Sets tiling mode. Supported tiling modes are - DRM_TEGRA_GEM_TILING_MODE_BLOCK and DRM_TEGRA_GEM_TILING_MODE_PITCH.
  • DRM_TEGRA_GEM_MMAP Prepares buffer for CPU mapping with mmap.
Parameters
[in]fdThe file descriptor of an open DRM device.
[in]drmCommandIndexOne of supported read-write command.
[in,out]dataA pointer to the data to be read and written.
[in]sizeSize of the data to be read and written.
Returns
0 if successful, or -1 otherwise.

◆ drmCreateContext()

int drmCreateContext ( int  fd,
drm_context_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCreateDrawable()

int drmCreateDrawable ( int  fd,
drm_drawable_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCrtcGetSequence()

int drmCrtcGetSequence ( int  fd,
uint32_t  crtcId,
uint64_t *  sequence,
uint64_t *  ns 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCrtcQueueSequence()

int drmCrtcQueueSequence ( int  fd,
uint32_t  crtcId,
uint32_t  flags,
uint64_t  sequence,
uint64_t *  sequence_queued,
uint64_t  user_data 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCtlInstHandler()

int drmCtlInstHandler ( int  fd,
int  irq 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmCtlUninstHandler()

int drmCtlUninstHandler ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmDelContextTag()

int drmDelContextTag ( int  fd,
drm_context_t  context 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmDestroyContext()

int drmDestroyContext ( int  fd,
drm_context_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmDestroyDrawable()

int drmDestroyDrawable ( int  fd,
drm_drawable_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmDevicesEqual()

int drmDevicesEqual ( drmDevicePtr  a,
drmDevicePtr  b 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmDMA()

int drmDMA ( int  fd,
drmDMAReqPtr  request 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmDropMaster()

int drmDropMaster ( int  fd)

Releases master controls for a DRM device.

Note
This function has no effect in DRM-NVDC.
Parameters
fdThe file descriptor of an open DRM device.
Returns
0 if successful, or -1 otherwise.

◆ drmError()

int drmError ( int  err,
const char *  label 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmFinish()

int drmFinish ( int  fd,
int  context,
drmLockFlags  flags 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmFree()

void drmFree ( void *  p)

Frees a block of memory.

This is a generic freeing routine; a wrapper for the free function.

Parameters
pA pointer to a block of memory to be freed.

◆ drmFreeBufs()

int drmFreeBufs ( int  fd,
int  count,
int *  list 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmFreeBusid()

void drmFreeBusid ( const char *  busid)

Frees bus ID information.

Frees a bus ID string allocated by a call to drmGetBusid.

Parameters
busidA pointer to the bus ID information string returned by drmGetBusid.

◆ drmFreeDevice()

void drmFreeDevice ( drmDevicePtr *  device)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmFreeDevices()

void drmFreeDevices ( drmDevicePtr  devices[],
int  count 
)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmFreeReservedContextList()

void drmFreeReservedContextList ( drm_context_t *  pt)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmFreeVersion()

void drmFreeVersion ( drmVersionPtr  version)

Frees a version information structure.

Frees a drmVersionPtr structure allocated by drmGetVersion.

Parameters
versionA drmVersionPtr to be freed.

◆ drmGetBufInfo()

drmBufInfoPtr drmGetBufInfo ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetBusid()

char* drmGetBusid ( int  fd)

Gets the bus ID of a device.

Gets the bus ID information string for a DRM device.

Note
DRM-NVDC currently does not support the bus ID. It returns a zero-length string.
Postcondition
If the call is successful, the application must free the bus ID string by calling drmFreeBusid.
Parameters
fdThe file descriptor of an open DRM device.
Returns
A pointer to the bus ID if successful, or NULL if the string cannot be allocated.

◆ drmGetCap()

int drmGetCap ( int  fd,
uint64_t  capability,
uint64_t *  value 
)

Gets capabilities of the DRM driver.

Parameters
[in]fdThe file descriptor of an open DRM device.
[in]capabilityThe DRM capability to be obtained from the device. Supported capabilities are:
  • DRM_CAP_ASYNC_PAGE_FLIP: value is set to 0 if unsupported, 1 if supported.
  • DRM_CAP_DUMB_BUFFER: value is set to 0 if unsupported, 1 if supported.
  • DRM_CAP_CURSOR_WIDTH: Stores the maximum cursor width allowed by DRM-NVDC in value if the capability is supported, 0 if unsupported.
  • DRM_CAP_CURSOR_HEIGHT: Stores the maximum cursor height allowed by DRM-NVDC in value if the capability is supported, 0 if unsupported.
  • DRM_CAP_TIMESTAMP_MONOTONIC: value is set to 0 if unsupported, 1 if supported. Only supported on Linux.
[out]valueReturns a capability value as specified by capability.
Returns
0 if successful, or -EINVAL otherwise.

◆ drmGetClient()

int drmGetClient ( int  fd,
int  idx,
int *  auth,
int *  pid,
int *  uid,
unsigned long *  magic,
unsigned long *  iocs 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetContextFlags()

int drmGetContextFlags ( int  fd,
drm_context_t  context,
drm_context_tFlagsPtr  flags 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetContextPrivateMapping()

int drmGetContextPrivateMapping ( int  fd,
drm_context_t  ctx_id,
drm_handle_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetContextTag()

void* drmGetContextTag ( int  fd,
drm_context_t  context 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetDevice()

int drmGetDevice ( int  fd,
drmDevicePtr *  device 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetDevice2()

int drmGetDevice2 ( int  fd,
uint32_t  flags,
drmDevicePtr *  device 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetDeviceNameFromFd()

char* drmGetDeviceNameFromFd ( int  fd)

Gets a DRM device's name string.

Returns the file path of a specified DRM device, e.g. "/dev/dri/card0".

Note
DRM-NVDC currently does not support the device file path. It returns the string "drm-nvdc" as a placeholder.
If the call is successful, the application must calling drmFree to free the name string.
Parameters
fdThe file descriptor of an open DRM device.
Returns
A DRM device name string if successful, or NULL if the device name string cannot be allocated.

◆ drmGetDeviceNameFromFd2()

char* drmGetDeviceNameFromFd2 ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetDevices()

int drmGetDevices ( drmDevicePtr  devices[],
int  max_devices 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetDevices2()

int drmGetDevices2 ( uint32_t  flags,
drmDevicePtr  devices[],
int  max_devices 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetEntry()

drmHashEntry* drmGetEntry ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetHashTable()

void* drmGetHashTable ( void  )

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetInterruptFromBusID()

int drmGetInterruptFromBusID ( int  fd,
int  busnum,
int  devnum,
int  funcnum 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetLibVersion()

drmVersionPtr drmGetLibVersion ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetLock()

int drmGetLock ( int  fd,
drm_context_t  context,
drmLockFlags  flags 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetMagic()

int drmGetMagic ( int  fd,
drm_magic_t *  magic 
)

Retrieves a magic cookie.

Note
This function has no effect in DRM-NVDC.
Parameters
[in]fdThe file descriptor of an open DRM device.
[out]magicAn opaque 'magic' token.
Returns
0 if successful, or -1 otherwise.

◆ drmGetMap()

int drmGetMap ( int  fd,
int  idx,
drm_handle_t *  offset,
drmSize *  size,
drmMapType *  type,
drmMapFlags *  flags,
drm_handle_t *  handle,
int *  mtrr 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetNodeTypeFromFd()

int drmGetNodeTypeFromFd ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetPrimaryDeviceNameFromFd()

char* drmGetPrimaryDeviceNameFromFd ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetRenderDeviceNameFromFd()

char* drmGetRenderDeviceNameFromFd ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetReservedContextList()

drm_context_t* drmGetReservedContextList ( int  fd,
int *  count 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmGetStats()

int drmGetStats ( int  fd,
drmStatsT *  stats 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmGetVersion()

drmVersionPtr drmGetVersion ( int  fd)

Retrieves version information for the DRM driver.

The function allocates and returns a drmVersionPtr structure that contains the DRM driver's build version information and a driver description string.

The application can provide conditional support for DRM-NVDC by confirming that the drmVersionPtr structure's name field contains the string "drm-nvdc". If name does not contain this value, the application can fall back to a kernel DRM implementation.

DRM-NVDC does not populate the drmVersionPtr structure's date, major, minor, and patchlevel fields.

Postcondition
If the call is successful, the application must free the version information structure by calling drmFreeVersion.
Parameters
fdThe file descriptor of an open DRM device.
Returns
A pointer to a drmVersionPtr structure if successful, or NULL otherwise.

◆ drmHandleEvent()

int drmHandleEvent ( int  fd,
drmEventContextPtr  evctx 
)

Polls for an event, specifying a callback function.

Calls a callback function if an event of a specified type has occurred.

Note
DRM-NVDC supports this function only on Linux. The evctx structure's vblank_handler field is supported.
Parameters
fdThe file descriptor of an open DRM device.
evctxAn event context containing callback pointers.
Returns
0 if successful, or -1 otherwise.

◆ drmHashCreate()

void* drmHashCreate ( void  )

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmHashDelete()

int drmHashDelete ( void *  t,
unsigned long  key 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmHashDestroy()

int drmHashDestroy ( void *  t)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmHashFirst()

int drmHashFirst ( void *  t,
unsigned long *  key,
void **  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmHashInsert()

int drmHashInsert ( void *  t,
unsigned long  key,
void *  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmHashLookup()

int drmHashLookup ( void *  t,
unsigned long  key,
void **  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmHashNext()

int drmHashNext ( void *  t,
unsigned long *  key,
void **  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmIoctl()

int drmIoctl ( int  fd,
unsigned long  request,
void *  arg 
)

Issues a DRM input/output control (IOCTL).

This function is used primarily in cases where LIBDRM does not support a function that performs a desired operation. LIBDRM may lag behind kernel interfaces in features, and this function allows early access new interfaces.

Note
DRM-NVDC does not support all of the functionality of kernel DRM, so only a small set of IOCTL operations is implemented.

DRM-NVDC supports these IOCTL operations for application use:

  • DRM_IOCTL_MODE_CREATE_DUMB: Creates a dumb (CPU) buffer. Useful for debugging and for simple display tests. Accelerated rendering is not available.
  • DRM_IOCTL_MODE_MAP_DUMB: Maps a dumb buffer for CPU access. Unlike kernel DRM, DRM-NVDC maps the dumb buffer with the mmap function and returns a valid memory pointer in the returned offset. The application must not call mmap on the returned offset.
  • DRM_IOCTL_MODE_DESTROY_DUMB: Destroys a dumb buffer.
  • DRM_IOCTL_TEGRA_GEM_CREATE: Creates a HW buffer.
  • DRM_IOCTL_GEM_CLOSE: Unref and if reference is 0, free HW buffer.
Parameters
[in]fdThe file descriptor of an open DRM device.
[in]requestOne of supported DRM_IOCTL_... constants.
[in,out]argA pointer to the ioctl data structure:
  • If request is DRM_IOCTL_MODE_CREATE_DUMB, a drm_mode_create_dumb structure
  • If request is DRM_IOCTL_MODE_MAP_DUMB, a drm_mode_map_dumb structure
  • If request is DRM_IOCTL_MODE_DESTROY_DUMB, a drm_mode_destroy_dumb structure
  • If request is DRM_IOCTL_TEGRA_GEM_CREATE, a drm_tegra_gem_create structure
  • If request is DRM_IOCTL_GEM_CLOSE, a drm_gem_close structure
Returns
0 if successful, or -1 otherwise.

◆ drmMalloc()

void* drmMalloc ( int  size)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmMap()

int drmMap ( int  fd,
drm_handle_t  handle,
drmSize  size,
drmAddressPtr  address 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmMapBufs()

drmBufMapPtr drmMapBufs ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmMarkBufs()

int drmMarkBufs ( int  fd,
double  low,
double  high 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeAddFB()

int drmModeAddFB ( int  fd,
uint32_t  width,
uint32_t  height,
uint8_t  depth,
uint8_t  bpp,
uint32_t  pitch,
uint32_t  bo_handle,
uint32_t *  buf_id 
)

Creates a framebuffer.

The function creates a framebuffer with a specified size and format, using the specified buffer object as the memory backing store. The buffer object can be a "dumb buffer" created by a call to drmIoctl with the request parameter set to DRM_IOCTL_MODE_CREATE_DUMB, or it can be a dma-buf imported by a call to the drmPrimeFDToHandle function.

Postcondition
If the call is successful, the application must remove (free) the framebuffer by calling drmModeRmFB.
Parameters
[in]fdThe file descriptor of an open DRM device.
[in]widthFramebuffer width in pixels.
[in]heightFramebuffer height in pixels.
[in]depthFramebuffer depth in bits.
[in]bppFramebuffer bits per pixel.
[in]pitchFramebuffer pitch in bytes.
[in]bo_handleA handle for a buffer object to provide memory backing.
[out]buf_idReceives the framebuffer ID of the created framebuffer if framebuffer creation is successful.
Returns
0 if framebuffer creation is successful, or -1 otherwise.

◆ drmModeAddFB2()

int drmModeAddFB2 ( int  fd,
uint32_t  width,
uint32_t  height,
uint32_t  pixel_format,
const uint32_t  bo_handles[4],
const uint32_t  pitches[4],
const uint32_t  offsets[4],
uint32_t *  buf_id,
uint32_t  flags 
)

Creates a framebuffer, specifying format and planes.

This function is similar to :drmModeAddFB, but offers more options. The buffer objects' pixel format is specified explicitly, instead of being depth+bpp as in drmModeAddFB. Also, multiplanar YUV formats are supported. As for drmModeAddFB, the buffer object handle(s) can be a dumb buffers or imported dma-bufs.

Postcondition
If the call is successful, the application must remove (free) the framebuffer by calling drmModeRmFB.
Note
The flags parameter is not currently supported.
Parameters
[in]fdThe file descriptor of an open DRM device.
[in]widthFramebuffer width in pixels.
[in]heightFramebuffer height in pixels.
[in]pixel_formatPixel format of the bo_handle(s).
[in]bo_handlesAn array of four handles for buffer objects to provide memory backing. Unused array elements must be NULL.
[in]pitchesAn array containing the pitches of the buffer objects in bytes.
[in]offsetsAn array containing the offsets of the buffer objects in bytes.
[out]buf_idReceives the framebuffer ID of the created framebuffer if framebuffer creation is successful.
[in]flagsCreation flags.
Returns
0 if successful, or -1 otherwise.

◆ drmModeAddFB2WithModifiers()

int drmModeAddFB2WithModifiers ( int  fd,
uint32_t  width,
uint32_t  height,
uint32_t  pixel_format,
const uint32_t  bo_handles[4],
const uint32_t  pitches[4],
const uint32_t  offsets[4],
const uint64_t  modifier[4],
uint32_t *  buf_id,
uint32_t  flags 
)

Creates a framebuffer, specifying format and planes.

This function is similar to :drmModeAddFB2, but accepts modifiers.

Postcondition
If the call is successful, the application must remove (free) the framebuffer by calling drmModeRmFB.
Parameters
[in]fdThe file descriptor of an open DRM device.
[in]widthFramebuffer width in pixels.
[in]heightFramebuffer height in pixels.
[in]pixel_formatPixel format of the bo_handle(s).
[in]bo_handlesAn array of four handles for buffer objects to provide memory backing. Unused array elements must be NULL.
[in]pitchesAn array containing the pitches of the buffer objects in bytes.
[in]offsetsAn array containing the offsets of the buffer objects in bytes.
[in]modifierAn array containing the format modifiers. For multi-planar formats, each plane should have same modifier value. Supported modifiers can be obtained using IN_FORMATS plane property.
[out]buf_idReceives the framebuffer ID of the created framebuffer if framebuffer creation is successful.
[in]flagsflags should be DRM_MODE_FB_MODIFIERS when modifiers are specified, otherwise 0.
Returns
0 if successful, or -1 otherwise.

◆ drmModeAtomicAddProperty()

int drmModeAtomicAddProperty ( drmModeAtomicReqPtr  req,
uint32_t  object_id,
uint32_t  property_id,
uint64_t  value 
)

Adds a property to an atomic request.

Adds a property and value to an atomic request.

Parameters
reqAn atomic request.
object_idObject ID of a CRTC, plane, or connector to be modified.
property_idProperty ID of the property to be modified.
valueThe new value for the property.
Return values
-1if req is NULL or the API is out of memory, otherwise it returns the number of properties in the atomic request
-EINVALif DRM_CLIENT_CAP_ATOMIC is not enabled.

◆ drmModeAtomicCommit()

int drmModeAtomicCommit ( int  fd,
drmModeAtomicReqPtr  req,
uint32_t  flags,
void *  user_data 
)

Commits an atomic property change request to hardware.

Sends all of the property changes in a drmModeAtomicReqPtr structure to hardware.

Parameters
fdThe file descriptor of an open DRM device.
reqThe request object describing properties to commit.
flagsFlags which influence the operation. The supported flags are:
  • DRM_MODE_PAGE_FLIP_ASYNC: Commits values immediately when possible; does not latch new properties at the next vblank.
  • DRM_MODE_ATOMIC_NONBLOCK: Commits values to hardware but does not wait for hardware to accept the new values.
  • DRM_MODE_ATOMIC_TEST_ONLY: Validates input, but does not commit the values to hardware.
user_dataUnused.
Return values
0if successful.
-1if req is NULL.
-EINVALif DRM_CLIENT_CAP_ATOMIC is not enabled, the value of flags is illegal, or atomic property IDs in the request are not recognized.

◆ drmModeAtomicDuplicate()

drmModeAtomicReqPtr drmModeAtomicDuplicate ( drmModeAtomicReqPtr  req)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmModeAtomicFree()

void drmModeAtomicFree ( drmModeAtomicReqPtr  req)

Frees an atomic request.

Frees a drmModeAtomicReqPtr object allocated by drmModeAtomicAlloc, and all of the associated drmModeAtomicReqItemPtr objects.

Parameters
reqThe atomic request object to be freed.

◆ drmModeAtomicGetCursor()

int drmModeAtomicGetCursor ( drmModeAtomicReqPtr  req)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeAtomicMerge()

int drmModeAtomicMerge ( drmModeAtomicReqPtr  base,
drmModeAtomicReqPtr  augment 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeAtomicSetCursor()

void drmModeAtomicSetCursor ( drmModeAtomicReqPtr  req,
int  cursor 
)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmModeAttachMode()

int drmModeAttachMode ( int  fd,
uint32_t  connectorId,
drmModeModeInfoPtr  mode_info 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeConnectorSetProperty()

int drmModeConnectorSetProperty ( int  fd,
uint32_t  connector_id,
uint32_t  property_id,
uint64_t  value 
)

Sets a connector property.

Note
This function currently has no effect in DRM-NVDC.
Parameters
fdThe file descriptor of an open DRM device.
connector_idThe ID of a connector whose property is to be set.
property_idThe ID of the property to be set.
valueA new value for the property.
Returns
0 if successful, or -1 otherwise.

◆ drmModeCreateLease()

int drmModeCreateLease ( int  fd,
const uint32_t *  objects,
int  num_objects,
int  flags,
uint32_t *  lessee_id 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeCreatePropertyBlob()

int drmModeCreatePropertyBlob ( int  fd,
const void *  data,
size_t  size,
uint32_t *  id 
)

Creates a property blob.

Stores an opaque blob of memory and returns an ID for it. The ID can then be used for atomic mode setting.

Note
In DRM-NVDC, data must be a drmModeModeInfoPtr. When a property blob is created from a drmModeModeInfoPtr, the returned ID becomes a valid value to set on CRTC properties matching the name MODE_ID. Atomically committing a MODE_ID property to the ID of the created blob causes a mode set on that CRTC. The new CRTC mode will be that of the drmModeModeInfoPtr used as input to drmModeCreatePropertyBlob.
Postcondition
If the call is successful, the application must destroy (free) the property blob by calling drmModeDestroyPropertyBlob.
Parameters
[in]fdThe file descriptor of an open DRM device.
[in]dataContent of the property blob. What data is acceptable depends on the implementation. In DRM-NVDC, data must be a drmModeModeInfoPtr structure.
[in]sizeSize of data.
[out]idReturns a property ID for the blob.
Return values
0if operation is successful.
-1if data is not a valid pointer, or if size or id is invalid.
-ENOMEMif blob memory could not be allocated.

◆ drmModeCrtcGetGamma()

int drmModeCrtcGetGamma ( int  fd,
uint32_t  crtc_id,
uint32_t  size,
uint16_t *  red,
uint16_t *  green,
uint16_t *  blue 
)

Gets the current display gamma ramp.

Parameters
[in]fdThe file descriptor of an open DRM device.
[in]crtc_idCRTC ID of the CRTC to be queried.
[in]sizeNumber of elements in each of the red, green, and blue LUTs.
[out]redA pointer to an array in which the red LUT will be stored.
[out]greenA pointer to an array in which the green LUT will be stored.
[out]blueA pointer to an array in which the blue LUT will be stored.
Returns
0 if successful, or -1 otherwise.

◆ drmModeCrtcSetGamma()

int drmModeCrtcSetGamma ( int  fd,
uint32_t  crtc_id,
uint32_t  size,
uint16_t *  red,
uint16_t *  green,
uint16_t *  blue 
)

Sets the display gamma.

Sets custom display LUT (look up table) for each primary color. Each table is indexed by a value that represents input intensity, and yields a value that represents output intensity. Custom LUTs are most often used to adjust the display gamma ramp. size should be less than or equal to the gamma_size reported by drmModeGetCrtc.

Parameters
fdThe file descriptor of an open DRM device.
crtc_idCRTC ID of the CRTC to be adjusted.
sizeNumber of elements in each of the red, green, and blue LUTs.
redLUT for red intensity.
greenLUT for green intensity.
blueLUT for blue intensity.
Returns
0 if successful, or -1 otherwise.

◆ drmModeDestroyPropertyBlob()

int drmModeDestroyPropertyBlob ( int  fd,
uint32_t  id 
)

Destroys a property blob.

Destroys a property blob created by a call to drmModeCreatePropertyBlob.

Parameters
fdThe file descriptor of an open DRM device.
idThe ID of the property blob to be destroyed.
Returns
0 if successful, or -EINVAL if no property blob with specified ID is found.

◆ drmModeDetachMode()

int drmModeDetachMode ( int  fd,
uint32_t  connectorId,
drmModeModeInfoPtr  mode_info 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeDirtyFB()

int drmModeDirtyFB ( int  fd,
uint32_t  bufferId,
drmModeClipPtr  clips,
uint32_t  num_clips 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeFreeConnector()

void drmModeFreeConnector ( drmModeConnectorPtr  ptr)

Frees a connector.

Frees a drmModeConnectorPtr structure allocated by drmModeGetConnector.

Parameters
ptrA pointer to the connector to be freed.

◆ drmModeFreeCrtc()

void drmModeFreeCrtc ( drmModeCrtcPtr  ptr)

Frees a CRTC.

Frees a drmModeCrtcPtr structure allocated by drmModeGetCrtc.

Parameters
ptrA pointer to the CRTC to be freed.

◆ drmModeFreeEncoder()

void drmModeFreeEncoder ( drmModeEncoderPtr  ptr)

Frees an encoder.

Frees a drmModeEncoderPtr structure allocated by drmModeGetEncoder.

Parameters
ptrA pointer to encoder to be freed.

◆ drmModeFreeFB()

void drmModeFreeFB ( drmModeFBPtr  ptr)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmModeFreeModeInfo()

void drmModeFreeModeInfo ( drmModeModeInfoPtr  ptr)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmModeFreeObjectProperties()

void drmModeFreeObjectProperties ( drmModeObjectPropertiesPtr  ptr)

Frees an object properties structure.

Frees a drmModeObjectPropertiesPtr structure allocated by drmModeObjectGetProperties.

Parameters
ptrA pointer to the object properties structure to be freed.

◆ drmModeFreePlane()

void drmModeFreePlane ( drmModePlanePtr  ptr)

Frees a plane.

Frees a drmModePlanePtr structure allocated by drmModeGetPlane.

Parameters
ptrA pointer to the plane to be freed.

◆ drmModeFreePlaneResources()

void drmModeFreePlaneResources ( drmModePlaneResPtr  ptr)

Frees a plane resource information structure.

Frees a drmModePlaneResPtr structure allocated by drmModeGetPlaneResources.

Parameters
ptrA pointer to the plane resource structure to free.

◆ drmModeFreeProperty()

void drmModeFreeProperty ( drmModePropertyPtr  ptr)

Frees a property structure.

Frees a drmModePropertyPtr structure allocated by drmModeGetProperty.

Parameters
ptrA pointer to a property structure returned by drmModeGetProperty.

◆ drmModeFreePropertyBlob()

void drmModeFreePropertyBlob ( drmModePropertyBlobPtr  ptr)

Frees a userspace property blob pointer.

Note
This function has no effect in DRM-NVDC.
Parameters
ptrThe pointer to the property blob returned by drmModeGetPropertyBlob

◆ drmModeFreeResources()

void drmModeFreeResources ( drmModeResPtr  ptr)

Frees a resource information structure.

Frees a drmModeResPtr structure allocated by drmModeGetResources.

Parameters
ptrA pointer to the resource to be freed.

◆ drmModeGetConnector()

drmModeConnectorPtr drmModeGetConnector ( int  fd,
uint32_t  connector_id 
)

Gets information for a connector.

If connector_id is valid, fetches a drmModeConnectorPtr structure which contains information about a connector, such as available modes, connection status, connector type, and which encoder (if any) is attached.

Postcondition
If the call is successful, the application must free the connector information structure by calling drmModeFreeConnector.
Note
connector->mmWidth and connector->mmHeight are currently set to placeholder values.
Parameters
fdThe file descriptor of an open DRM device.
connector_idThe connector ID of the connector to be retrieved.
Returns
A drmModeConnectorPtr structure if successful, or NULL if the connector is not found or the API is out of memory.

◆ drmModeGetConnectorCurrent()

drmModeConnectorPtr drmModeGetConnectorCurrent ( int  fd,
uint32_t  connector_id 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmModeGetCrtc()

drmModeCrtcPtr drmModeGetCrtc ( int  fd,
uint32_t  crtc_id 
)

Gets information for a CRTC.

If the specified CRTC ID is valid, fetches a drmModeCrtcPtr structure which contains information about the CRTC, such as the current framebuffer, mode, position, size, and number of gamma LUT elements.

Postcondition
If a call is successful, the application must call drmModeFreeCrtc to free the structure it returns.
Parameters
fdThe file descriptor of an open DRM device.
crtc_idThe CRTC ID of the CRTC to retrieved.
Returns
A drmModeCrtcPtr structure if successful, or NULL if the CRTC is not found or the API is out of memory.

◆ drmModeGetEncoder()

drmModeEncoderPtr drmModeGetEncoder ( int  fd,
uint32_t  encoder_id 
)

Gets information for an encoder.

Fetches a drmModeEncoderPtr structure which contains information about a specified encoder, such as the current CRTC and compatible CRTCs.

Note
Encoders in DRM-NVDC are connected to a single CRTC at startup, and are not reconfigurable. There is only one bit set in possible_crtcs, and none in possible_clones (i.e. the value of possible_clones is 0).
Postcondition
If the call is successful, the application must call drmModeFreeEncoder to free the allocated structure.
Parameters
fdThe file descriptor of an open DRM device.
encoder_idEncoder ID of the encoder to be retrieved.
Returns
A drmModeEncoderPtr structure if successful, or NULL if the encoder is not found or the API is out of memory.

◆ drmModeGetFB()

drmModeFBPtr drmModeGetFB ( int  fd,
uint32_t  bufferId 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmModeGetLease()

drmModeObjectListPtr drmModeGetLease ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmModeGetPlane()

drmModePlanePtr drmModeGetPlane ( int  fd,
uint32_t  plane_id 
)

Gets information about a plane.

If plane_id is valid, fetches a drmModePlanePtr structure which contains information about the specified plane, such as its current CRTC and compatible CRTCs, the currently bound framebuffer, the number of gamma steps, and the position of the plane.

Postcondition
If the call is successful, the application must free the plane information structure by calling drmModeFreePlane.
Note
In DRM-NVDC planes are connected to a single CRTC at startup, and are not reconfigurable. The drmModePlanePtr structure's possible_crtc member always has exactly one bit set.
Parameters
fdThe file descriptor of an open DRM device.
plane_idPlane ID of the plane to be retrieved.
Returns
A drmModePlanePtr structure if successful, or NULL if the plane is not found or the API out of memory.

◆ drmModeGetPlaneResources()

drmModePlaneResPtr drmModeGetPlaneResources ( int  fd)

Gets information about planes.

Gets a list of plane resources for a DRM device. A DRM application typically calls this function early to identify the available display layers.

By default, the information returned includes only "Overlay" type (regular) planes – not "Primary" and "Cursor" planes. If DRM_CLIENT_CAP_UNIVERSAL_PLANES has been enabled with drmSetClientCap, the information returned includes "Primary" planes representing CTRCs, and "Cursor" planes representing Cursors. This allows CRTCs and Cursors to be manipulated with plane functions such as drmModeSetPlane.

Note
DRM-NVDC currently does not implement "Cursor" type planes.
Postcondition
If the call is successful, the application must free the plane information structure by calling drmModeFreePlaneResources.
Parameters
fdThe file descriptor of an open DRM device.
Returns
A drmModeResPtr structure if successful, or NULL otherwise.

◆ drmModeGetProperty()

drmModePropertyPtr drmModeGetProperty ( int  fd,
uint32_t  propertyId 
)

Gets a property structure that describes a property of a DRM object.

The DRM object can be a plane, a CRTC, or a connector.

This function operates on a drmModeObjectPropertiesPtr structure returned by drmModeObjectGetProperties().

The modifiable properties depend on the DRM object type:

  • For a plane (object type DRM_MODE_OBJECT_PLANE):
    "SRC_X", "SRC_Y", "SRC_W", "SRC_H", "zpos", "alpha" "CRTC_X",
    "CRTC_Y", "CRTC_W", "CRTC_H", "CRTC_ID", "FB_ID"
    
  • For a CRTC (object type DRM_MODE_OBJECT_CRTC), supported values are:
    "MODE_ID", "ACTIVE", "HDR_SUPPORTED", "HDR_METADATA_SMPTE_2086_ID"
    
  • For a connector (object type DRM_MODE_OBJECT_CONNECTOR), the supported value is:
    "CRTC_ID"
    

For DRM planes, the enums field holds a list of key-word pairs (name : value) that defines the properties.

drmModePropertyPtr->enums[ ].name
drmModePropertyPtr->enums[ ].value
  • Supported values for the name field are defined above (i.e., "SRC_X", "SRC_Y", or "SRC_W"). This field is modifiable.
  • Supported values for the value fields are:
    "Primary", "Overlay", "Cursor"
    This field is read-only.

To identify the plane type, iterate through the following list to locate the enum whose value field matches the one you seek. Then, get the value from corresponding name field.

drmModePropertyPtr->enums[ ]

For example:

for (j = 0; j < props->count_enums; j++) {
printf("\t\t%lld = %s\n", props->enums[j].value, props->enums[j].name);
if (props->enums[j].value == value)
name = props->enums[j].name;
}
if (props->count_enums && name) {
/* The specified plane property value appears in the DRM properties. */
/* Print the property name, which will be "Primary", "Overlay", or "Cursor". */
printf("\tcon_value : %s\n", name);
} else {
/* The specified plane property value does not appear in the DRM properties. */
/* Print the property value for which we were looking. */
printf("\tcon_value : %" PRIu64 "\n", value);
}
Note
The zpos value for a plane is initialized with an offset of 10 relative to the next plane. This is to allow for flexible configuration of heads. For example:
  • "Primary" type Plane zpos = 10
  • First "Overlay" Plane zpos = 20
  • Next "Overlay" Plane zpos = 30
  • Etc.
The allowed range for zpos is [0, 255]. Planes with numerically greater values for zpos occlude planes with numerically lesser values.
The alpha value for a plane causes a plane-wide transparency to be applied as well as the per-pixel alpha contained in the buffer object. The allowed range for alpha is [0, 255], where 0 is fully transparent and 255 indicates that only per-pixel alpha has an effect. For non-alpha pixel formats, there is no per-pixel alpha, so 255 indicates fully opaque.
Postcondition
If the call is successful, the application must free the property information structure by calling drmModeFreeProperty.
Parameters
fdThe file descriptor of an open DRM device.
propertyIdProperty ID of the property object to be fetched.
Returns
A drmModePropertyPtr if successful, or NULL otherwise.

◆ drmModeGetPropertyBlob()

drmModePropertyBlobPtr drmModeGetPropertyBlob ( int  fd,
uint32_t  blob_id 
)

Allocates and retrieves a userspace property blob pointer.

Parameters
fdThe file descriptor of an open DRM device.
blob_idID of the property blob to be retrived.
Returns
Pointer to the corresponding property blob if successful, or NULL otherwise.

◆ drmModeGetResources()

drmModeResPtr drmModeGetResources ( int  fd)

Gets information about a DRM device's CRTCs, encoders, and connectors.

Gets a list of a DRM device's major resources. A DRM application typically calls this function early to identify available displays and other resources. The function does not report plane resources, though. These can be queried with drmModeGetPlaneResources.

Note
The drmModeResPtr structure's min_width, min_height, max_width, and max_height members are set to placeholder values.
Postcondition
If the call is successful, the application must free the resource information structure by calling drmModeFreeResources.
Parameters
fdThe file descriptor of an open DRM device.
Returns
A drmModeResPtr structure if successful, or NULL otherwise.

◆ drmModeListLessees()

drmModeLesseeListPtr drmModeListLessees ( int  fd)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmModeMoveCursor()

int drmModeMoveCursor ( int  fd,
uint32_t  crtc_id,
int  x,
int  y 
)

Moves a cursor.

Parameters
fdThe file descriptor of an open DRM device.
crtc_idCRTC ID of the CRTC whose cursor is to be moved.
xPosition of the cursor from left.
yPosition of the cursor from top.
Returns
0 if successful.
-EINVAL if crtc_id is invalid.
-errno otherwise.

◆ drmModeObjectGetProperties()

drmModeObjectPropertiesPtr drmModeObjectGetProperties ( int  fd,
uint32_t  object_id,
uint32_t  object_type 
)

Gets all properties of a DRM object.

Gets an object properties structure that describes all of the atomically modifiable properties of a specified DRM object, as well as read-only properties not included in the corresponding drmModeCrtcPtr, drmModeConnectorPtr, and drmModePlanePtr structures. You can then retrieve individual properties with drmModeGetProperty and change their values with drmModeAtomicAddProperty.

The drmModeObjectPropertiesPtr structure contains an array of property IDs (props), an array of corresponding property values (prop_values), and the number of elements in each array (count_props). You can get the name of a property by calling drmModeGetProperty on the property ID and looking at the returned drmModePropertyPtr structure's name field.

To modify a property atomically, create a drmModeAtomicReqPtr request object by calling drmModeAtomicAlloc, then call drmModeAtomicAddProperty, specifying the drmModeAtomicReqPtr object, the object ID of the object to modify, the property ID of the property to modify, and the property's new value. Then commit the request with drmModeAtomicCommit. You can set several properties in an atomic request and commit them in a single operation.

Note
Not all object types are supported.
Postcondition
If the call is successful, the application must free the drmModeObjectPropertiesPtr structure by calling drmModeFreeObjectProperties.
Parameters
fdThe file descriptor of an open DRM device.
object_idThe object ID of the DRM object whose properties are to be retrieved.
object_typeA symbol representing an object type. The following object types are supported:
  • DRM_MODE_OBJECT_CRTC
  • DRM_MODE_OBJECT_CONNECTOR
  • DRM_MODE_OBJECT_PLANE
Returns
A drmModeObjectPropertiesPtr object if successful, or NULL otherwise.

◆ drmModeObjectSetProperty()

int drmModeObjectSetProperty ( int  fd,
uint32_t  object_id,
uint32_t  object_type,
uint32_t  property_id,
uint64_t  value 
)

Set the current value of an object's property.

Parameters
[in]fdThe file descriptor of an open DRM device.
object_idThe object ID of the DRM object whose properties are to be set.
object_typeA symbol representing an object type. The following object types are supported:
  • DRM_MODE_OBJECT_CRTC
property_idThe ID of the property to be set.
valueA new value for the property.
Returns
0 if successful, or -1 otherwise.

◆ drmModePageFlip()

int drmModePageFlip ( int  fd,
uint32_t  crtc_id,
uint32_t  fb_id,
uint32_t  flags,
void *  user_data 
)

Requests a page flip (framebuffer change) on the specified CRTC.

Schedules a page flip on the specified CRTC. By default, the CRTC will be reprogrammed to display the specified framebuffer after the next vertical refresh.

Note
drmModePageFlip does not wait for rendering to complete, nor is future rendering blocked until the flip completes. This differs from KMS based implementations that utilize implicit synchronization. When using EGLOutput together with DRM-NVDC, synchronization is handled internally.
Parameters
fdThe file descriptor of an open DRM device.
crtc_idCRTC ID of the CRTC whose framebuffer is to be changed.
fb_idFramebuffer ID of the framebuffer to be displayed.
flagsFlags affecting the operation. Supported values are:
  • DRM_MODE_PAGE_FLIP_ASYNC: Flip immediately, not at vblank.
  • DRM_MODE_PAGE_FLIP_EVENT: Send page flip event.
user_dataData used by the page flip handler if vblank event was requested.
Return values
0if successful.
-EINVALif crtc_id or fb_id is invalid.
-errnootherwise.

◆ drmModePageFlipTarget()

int drmModePageFlipTarget ( int  fd,
uint32_t  crtc_id,
uint32_t  fb_id,
uint32_t  flags,
void *  user_data,
uint32_t  target_vblank 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeRevokeLease()

int drmModeRevokeLease ( int  fd,
uint32_t  lessee_id 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeRmFB()

int drmModeRmFB ( int  fd,
uint32_t  fb_id 
)

Destroys a framebuffer.

Destroys (frees) a framebuffer allocated by drmModeAddFB or drmModeAddFB2.

Parameters
fdThe file descriptor of an open DRM device.
fb_idThe ID of the framebuffer to destroy.
Returns
0 if destruction is successful, or -ENOENT if the framebuffer is not found.

◆ drmModeSetCrtc()

int drmModeSetCrtc ( int  fd,
uint32_t  crtc_id,
uint32_t  fb_id,
uint32_t  x,
uint32_t  y,
uint32_t *  connectors,
int  count,
drmModeModeInfoPtr  drm_mode 
)

Sets a CRTC configuration.

If the DRM mode is specified (if drm_mode is not NULL), sets the display mode on the CRTC and specified connector(s). New fb_id, x, and y properties will set at vblank.

Note
The fb_id, x, and y parameters accept the special input value -1, which indicates that the hardware window framebuffer or the corresponding offset is not to be changed. (Kernel based DRM drivers accept -1 only for fb_id. They return error code -ERANGE if given -1 for x or y.)
It is permitted to specify a valid mode and fb_id==-1, even if no framebuffer is currently attached to the CRTC. The function will set the display mode but will leave the CRTC framebuffer undefined.
Framebuffers set on a CRTC, whether by drmModeSetCrtc, drmModePageFlip, or any other means, are displayed behind planes. The CRTC display layer is the lowest in stacking order.
Parameters
fdThe file descriptor of an open DRM device.
crtc_idThe ID of the CRTC to be set.
fb_idID of the framebuffer to display with this CRTC, or -1 to use the same CRTC as the previous operation.
xOffset from left of active display region to place the framebuffer. If x is -1, the X offset is not changed.
yOffset from top of active display region to place the framebuffer. If y is -1, the Y offset is not changed.
connectorsA pointer to a list of connectors to bind to the CRTC.
countNumber of connectors in the connectors list.
drm_modeMode to set, or NULL to use the same mode as the previous operation.
Return values
0if successful.
-EINVALif crtc_id is invalid.
-1if count is invalid, or the list specified by connectors is incompatible with the CRTC.
-errnootherwise.

◆ drmModeSetCursor()

int drmModeSetCursor ( int  fd,
uint32_t  crtc_id,
uint32_t  bo_handle,
uint32_t  width,
uint32_t  height 
)

Sets a cursor image.

Note
Supported cursor image sizes: 32 x 32 64 x 64 128 x 128 256 x 256
Passing 0 as the bo_handle will disable the cursor
Parameters
fdThe file descriptor of an open DRM device.
crtc_idCRTC ID of the CRTC whose cursor is to be changed.
bo_handleHandle of a buffer object to use as cursor image.
widthWidth of the cursor image.
heightHeight of the cursor image.
Returns
0 if successful.
-EINVAL if either crtc_id or bo_handle are invalid, or an invalid cursor size has been requested.
-errno otherwise.

◆ drmModeSetCursor2()

int drmModeSetCursor2 ( int  fd,
uint32_t  crtcId,
uint32_t  bo_handle,
uint32_t  width,
uint32_t  height,
int32_t  hot_x,
int32_t  hot_y 
) const

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP Function stub
Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmModeSetPlane()

int drmModeSetPlane ( int  fd,
uint32_t  plane_id,
uint32_t  crtc_id,
uint32_t  fb_id,
uint32_t  flags,
int32_t  crtc_x,
int32_t  crtc_y,
uint32_t  crtc_w,
uint32_t  crtc_h,
uint32_t  src_x,
uint32_t  src_y,
uint32_t  src_w,
uint32_t  src_h 
)

Changes a plane's framebuffer and position.

Note
The crtc_... and src_... parameters accept the special input value -1, which indicates that the hardware offset value is not to be changed. (Kernel based DRM drivers return the error code -ERANGE when given this value.)
Framebuffers set on planes are displayed on top of CRTCs. The stacking order of planes is indicated by the order that the planes are reported by drmModeGetPlaneResources.
All drmModeSetPlane operations are synced to vblank and are blocking.
Parameters
fdThe file descriptor of an open DRM device.
plane_idPlane ID of the plane to be changed.
crtc_idCRTC ID of the CRTC that the plane is on.
fb_idFramebuffer ID of the framebuffer to display on the plane, or -1 to leave the framebuffer unchanged.
flagsFlags that control function behavior. No flags are currently supported for external use.
crtc_xOffset from left of active display region to show plane.
crtc_yOffset from top of active display region to show plane.
crtc_wWidth of output rectangle on display.
crtc_hHeight of output rectangle on display.
src_xClip offset from left of source framebuffer (Q16.16 fixed point).
src_yClip offset from top of source framebuffer (Q16.16 fixed point).
src_wWidth of source rectangle (Q16.16 fixed point).
src_hHeight of source rectangle (Q16.16 fixed point).
Return values
0if successful.
-EINVALif plane_id or crtc_id is invalid.
-errnootherwise.

◆ drmOpen()

int drmOpen ( const char *  name,
const char *  busid 
)

Opens a DRM device and creates a file descriptor handle.

Note
DRM-NVDC does not interface with DRM kernel devices, so the name and bus ID parameters are not used. DRM-NVDC will always return an open device handle for the current Tegra NVDC based display driver.
Parameters
nameDriver name. Not referenced if bus ID is supplied.
busidbus ID. Zero if not known. Ignored if 'name' is "drm-nvdc".
Returns
The file descriptor of the open device node if successful, or -1 otherwise.

◆ drmOpenControl()

int drmOpenControl ( int  minor)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmOpenOnce()

int drmOpenOnce ( void *  unused,
const char *  BusID,
int *  newlyopened 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmOpenOnceWithType()

int drmOpenOnceWithType ( const char *  BusID,
int *  newlyopened,
int  type 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmOpenRender()

int drmOpenRender ( int  minor)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmPrimeFDToHandle()

int drmPrimeFDToHandle ( int  fd,
int  prime_fd,
uint32_t *  handle 
)

Imports a dma-buf.

Given a dma-buf file descriptor, returns a corresponding handle.

Parameters
[in]fdThe file descriptor of an open DRM device.
[in]prime_fdThe file descriptor of a dma-buf.
[out]handleA handle for the dma-buf.
Returns
0 if successful, or -1 otherwise.

◆ drmPrimeHandleToFD()

int drmPrimeHandleToFD ( int  fd,
uint32_t  handle,
uint32_t  flags,
int *  prime_fd 
)

Exports a dma-buf.

Given a handle, returns a corresponding dma-buf file descriptor.

Parameters
[in]fdThe file descriptor of an open DRM device.
[in]handleA handle for the dma-buf.
[in]flagsFlags like DRM_CLOEXEC and DRM_RDWR.
[out]prime_fdThe file descriptor of a dma-buf.
Returns
0 if successful, or -1 otherwise. Allocates an atomic request.

Allocates a drmModeAtomicReq structure for an atomic mode setting request. The initially empty structure can be populated with properties and values by calls to drmModeAtomicAddProperty, and can then be committed to hardware by a call to drmModeAtomicCommit.

Postcondition
If the call is successful, the application must free the request structure by calling drmModeAtomicFree.
Returns
A drmModeAtomicReqPtr structure if successful, or NULL if DRM_CLIENT_CAP_ATOMIC is not enabled or the API is out of memory.

◆ drmRandom()

unsigned long drmRandom ( void *  state)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmRandomCreate()

void* drmRandomCreate ( unsigned long  seed)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmRandomDestroy()

int drmRandomDestroy ( void *  state)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmRandomDouble()

double drmRandomDouble ( void *  state)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
0

◆ drmRmMap()

int drmRmMap ( int  fd,
drm_handle_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmScatterGatherAlloc()

int drmScatterGatherAlloc ( int  fd,
unsigned long  size,
drm_handle_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmScatterGatherFree()

int drmScatterGatherFree ( int  fd,
drm_handle_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSetBusid()

int drmSetBusid ( int  fd,
const char *  busid 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSetClientCap()

int drmSetClientCap ( int  fd,
uint64_t  capability,
uint64_t  value 
)

Enables or disables DRM features (capabilities).

Parameters
fdThe file descriptor of an open DRM device.
capabilitySpecifies the capability to be enabled or disabled. Supported values are:
  • DRM_CLIENT_CAP_ATOMIC (disabled by default)
  • DRM_CLIENT_CAP_UNIVERSAL_PLANES (disabled by default)
  • DRM_CLIENT_CAP_DRM_NVDC_PERMISSIVE (enabled by default)
value0 to disable the capability, or 1 to enable it.
Returns
0 if successful, or -EINVAL otherwise.

◆ drmSetContextFlags()

int drmSetContextFlags ( int  fd,
drm_context_t  context,
drm_context_tFlags  flags 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSetInterfaceVersion()

int drmSetInterfaceVersion ( int  fd,
drmSetVersion *  version 
)

Sets the interface version.

Limits the exposed DRM interface to the features that would be exposed in a specified version.

Note
This function currently has no effect in DRM-NVDC.
Parameters
fdThe file descriptor of an open DRM device.
versionVersion information to be used to limit DRM interface. version->drm_di_major, version->drm_di_minor, version->drm_dd_major, and version->drm_dd_minor can be set to -1 as a "don't care" value.
Returns
0 if successful, or -1 otherwise.

◆ drmSetMaster()

int drmSetMaster ( int  fd)

Requests master controls for a DRM device.

In DRM drivers that support master mode, requests that a file descriptor be granted master permission for operations that require it, such as the drmModeSet... functions.

Note
This function currently has no effect in DRM-NVDC. Master permissions are granted by default to all clients.
Parameters
fdThe file descriptor of an open DRM device.
Returns
0 if successful, or -1 otherwise.

◆ drmSetServerInfo()

void drmSetServerInfo ( drmServerInfoPtr  info)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmSLCreate()

void* drmSLCreate ( void  )

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
NULL

◆ drmSLDelete()

int drmSLDelete ( void *  l,
unsigned long  key 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSLDestroy()

int drmSLDestroy ( void *  l)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSLDump()

void drmSLDump ( void *  l)

Function stub.

Note
This function has no effect in DRM-NVDC.

◆ drmSLFirst()

int drmSLFirst ( void *  l,
unsigned long *  key,
void **  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSLInsert()

int drmSLInsert ( void *  l,
unsigned long  key,
void *  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSLLookup()

int drmSLLookup ( void *  l,
unsigned long  key,
void **  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSLLookupNeighbors()

int drmSLLookupNeighbors ( void *  l,
unsigned long  key,
unsigned long *  prev_key,
void **  prev_value,
unsigned long *  next_key,
void **  next_value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSLNext()

int drmSLNext ( void *  l,
unsigned long *  key,
void **  value 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSwitchToContext()

int drmSwitchToContext ( int  fd,
drm_context_t  context 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjCreate()

int drmSyncobjCreate ( int  fd,
uint32_t  flags,
uint32_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjDestroy()

int drmSyncobjDestroy ( int  fd,
uint32_t  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjExportSyncFile()

int drmSyncobjExportSyncFile ( int  fd,
uint32_t  handle,
int *  sync_file_fd 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjFDToHandle()

int drmSyncobjFDToHandle ( int  fd,
int  obj_fd,
uint32_t *  handle 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjHandleToFD()

int drmSyncobjHandleToFD ( int  fd,
uint32_t  handle,
int *  obj_fd 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjImportSyncFile()

int drmSyncobjImportSyncFile ( int  fd,
uint32_t  handle,
int  sync_file_fd 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjReset()

int drmSyncobjReset ( int  fd,
const uint32_t *  handles,
uint32_t  handle_count 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjSignal()

int drmSyncobjSignal ( int  fd,
const uint32_t *  handles,
uint32_t  handle_count 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjTimelineSignal()

int drmSyncobjTimelineSignal ( int  fd,
const uint32_t *  handles,
uint64_t *  points,
uint32_t  handle_count 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjTimelineWait()

int drmSyncobjTimelineWait ( int  fd,
uint32_t *  handles,
uint64_t *  points,
unsigned  num_handles,
int64_t  timeout_nsec,
unsigned  flags,
uint32_t *  first_signaled 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjTransfer()

int drmSyncobjTransfer ( int  fd,
uint32_t  dst_handle,
uint64_t  dst_point,
uint32_t  src_handle,
uint64_t  src_point,
uint32_t  flags 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmSyncobjWait()

int drmSyncobjWait ( int  fd,
uint32_t *  handles,
unsigned  num_handles,
int64_t  timeout_nsec,
unsigned  flags,
uint32_t *  first_signaled 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmUnlock()

int drmUnlock ( int  fd,
drm_context_t  context 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmUnmap()

int drmUnmap ( drmAddress  address,
drmSize  size 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmUnmapBufs()

int drmUnmapBufs ( drmBufMapPtr  bufs)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmUpdateDrawableInfo()

int drmUpdateDrawableInfo ( int  fd,
drm_drawable_t  handle,
drm_drawable_info_type_t  type,
unsigned int  num,
void *  data 
)

Function stub.

Note
This function has no effect in DRM-NVDC.
Returns
-ENOTSUP

◆ drmWaitVBlank()

int drmWaitVBlank ( int  fd,
drmVBlankPtr  vbl 
)

Waits for a vertical blanking interval (vblank).

Waits for a specified vblank, or requests that the registered vblank handler be called when a specified vblank occurs.

Note
DRM-NVDC currently does not support all drmVblankPtr fields.
Parameters
fdThe file descriptor of an open DRM device.
vblA description of the requested vblank. The vbl->type field must contain one of these values:
  • DRM_VBLANK_ABSOLUTE: request.sequence is the vblank count since some point in the past, e.g. system boot.
  • DRM_VBLANK_RELATIVE: request.sequence is the vblank count from the current value. e.g. 1 specifies the next vblank. The value may be bitwise ORed with any combination of these values:
  • DRM_VBLANK_SECONDARY: Uses the secondary display's vblank.
  • DRM_VBLANK_EVENT: Returns immediately and triggers the event callback instead of waiting for a specified vblank.
Returns
0 if successful, or -1 otherwise.

Variable Documentation

◆ busid

int const char* busid

Definition at line 1479 of file drm-nvdc-docs.h.

◆ type

int const char int type

Definition at line 1479 of file drm-nvdc-docs.h.