Back to index

libdrm  2.4.37
Classes | Defines | Typedefs | Enumerations
drm.h File Reference

Header for the Direct Rendering Manager. More...

#include <sys/ioccom.h>
#include <sys/types.h>
#include "drm_mode.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  drm_clip_rect
 Cliprect. More...
struct  drm_drawable_info
 Drawable information. More...
struct  drm_tex_region
 Texture region,. More...
struct  drm_hw_lock
 Hardware lock. More...
struct  drm_version
 DRM_IOCTL_VERSION ioctl argument type. More...
struct  drm_unique
 DRM_IOCTL_GET_UNIQUE ioctl argument type. More...
struct  drm_list
struct  drm_block
struct  drm_control
 DRM_IOCTL_CONTROL ioctl argument type. More...
struct  drm_ctx_priv_map
struct  drm_map
 DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls argument type. More...
struct  drm_client
 DRM_IOCTL_GET_CLIENT ioctl argument type. More...
struct  drm_stats
 DRM_IOCTL_GET_STATS ioctl argument type. More...
struct  drm_lock
 DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type. More...
struct  drm_buf_desc
 DRM_IOCTL_ADD_BUFS and DRM_IOCTL_MARK_BUFS ioctl argument type. More...
struct  drm_buf_info
 DRM_IOCTL_INFO_BUFS ioctl argument type. More...
struct  drm_buf_free
 DRM_IOCTL_FREE_BUFS ioctl argument type. More...
struct  drm_buf_pub
 Buffer information. More...
struct  drm_buf_map
 DRM_IOCTL_MAP_BUFS ioctl argument type. More...
struct  drm_dma
 DRM_IOCTL_DMA ioctl argument type. More...
struct  drm_ctx
 DRM_IOCTL_ADD_CTX ioctl argument type. More...
struct  drm_ctx_res
 DRM_IOCTL_RES_CTX ioctl argument type. More...
struct  drm_draw
 DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type. More...
struct  drm_update_draw
struct  drm_auth
 DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type. More...
struct  drm_irq_busid
 DRM_IOCTL_IRQ_BUSID ioctl argument type. More...
struct  drm_wait_vblank_request
struct  drm_wait_vblank_reply
union  drm_wait_vblank
 DRM_IOCTL_WAIT_VBLANK ioctl argument type. More...
struct  drm_modeset_ctl
 DRM_IOCTL_MODESET_CTL ioctl argument type. More...
struct  drm_agp_mode
 DRM_IOCTL_AGP_ENABLE ioctl argument type. More...
struct  drm_agp_buffer
 DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type. More...
struct  drm_agp_binding
 DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type. More...
struct  drm_agp_info
 DRM_IOCTL_AGP_INFO ioctl argument type. More...
struct  drm_scatter_gather
 DRM_IOCTL_SG_ALLOC ioctl argument type. More...
struct  drm_set_version
 DRM_IOCTL_SET_VERSION ioctl argument type. More...
struct  drm_gem_close
 DRM_IOCTL_GEM_CLOSE ioctl argument type. More...
struct  drm_gem_open
 DRM_IOCTL_GEM_OPEN ioctl argument type. More...
struct  drm_get_cap
 DRM_IOCTL_GET_CAP ioctl argument type. More...
struct  drm_prime_handle
struct  drm_event
 Header for events written back to userspace on the drm fd. More...
struct  drm_event_vblank
struct  drm_stats.data

Defines

#define DRM_NAME   "drm"
 Name in kernel, /dev, and /proc.
#define DRM_MIN_ORDER   5
 At least 2^5 bytes = 32 bytes.
#define DRM_MAX_ORDER   22
 Up to 2^22 bytes = 4MB.
#define DRM_RAM_PERCENT   10
 How much system ram can we lock?
#define _DRM_LOCK_HELD   0x80000000U
 Hardware lock is held.
#define _DRM_LOCK_CONT   0x40000000U
 Hardware lock is contended.
#define _DRM_LOCK_IS_HELD(lock)   ((lock) & _DRM_LOCK_HELD)
#define _DRM_LOCK_IS_CONT(lock)   ((lock) & _DRM_LOCK_CONT)
#define _DRM_LOCKING_CONTEXT(lock)   ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
#define _DRM_VBLANK_TYPES_MASK   (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE)
#define _DRM_VBLANK_FLAGS_MASK
#define _DRM_PRE_MODESET   1
#define _DRM_POST_MODESET   2
#define DRM_CLOEXEC   O_CLOEXEC
#define DRM_IOCTL_BASE   'd'
#define DRM_IO(nr)   _IO(DRM_IOCTL_BASE,nr)
#define DRM_IOR(nr, type)   _IOR(DRM_IOCTL_BASE,nr,type)
#define DRM_IOW(nr, type)   _IOW(DRM_IOCTL_BASE,nr,type)
#define DRM_IOWR(nr, type)   _IOWR(DRM_IOCTL_BASE,nr,type)
#define DRM_IOCTL_VERSION   DRM_IOWR(0x00, struct drm_version)
#define DRM_IOCTL_GET_UNIQUE   DRM_IOWR(0x01, struct drm_unique)
#define DRM_IOCTL_GET_MAGIC   DRM_IOR( 0x02, struct drm_auth)
#define DRM_IOCTL_IRQ_BUSID   DRM_IOWR(0x03, struct drm_irq_busid)
#define DRM_IOCTL_GET_MAP   DRM_IOWR(0x04, struct drm_map)
#define DRM_IOCTL_GET_CLIENT   DRM_IOWR(0x05, struct drm_client)
#define DRM_IOCTL_GET_STATS   DRM_IOR( 0x06, struct drm_stats)
#define DRM_IOCTL_SET_VERSION   DRM_IOWR(0x07, struct drm_set_version)
#define DRM_IOCTL_MODESET_CTL   DRM_IOW(0x08, struct drm_modeset_ctl)
#define DRM_IOCTL_GEM_CLOSE   DRM_IOW (0x09, struct drm_gem_close)
#define DRM_IOCTL_GEM_FLINK   DRM_IOWR(0x0a, struct drm_gem_flink)
#define DRM_IOCTL_GEM_OPEN   DRM_IOWR(0x0b, struct drm_gem_open)
#define DRM_IOCTL_GET_CAP   DRM_IOWR(0x0c, struct drm_get_cap)
#define DRM_IOCTL_SET_UNIQUE   DRM_IOW( 0x10, struct drm_unique)
#define DRM_IOCTL_AUTH_MAGIC   DRM_IOW( 0x11, struct drm_auth)
#define DRM_IOCTL_BLOCK   DRM_IOWR(0x12, struct drm_block)
#define DRM_IOCTL_UNBLOCK   DRM_IOWR(0x13, struct drm_block)
#define DRM_IOCTL_CONTROL   DRM_IOW( 0x14, struct drm_control)
#define DRM_IOCTL_ADD_MAP   DRM_IOWR(0x15, struct drm_map)
#define DRM_IOCTL_ADD_BUFS   DRM_IOWR(0x16, struct drm_buf_desc)
#define DRM_IOCTL_MARK_BUFS   DRM_IOW( 0x17, struct drm_buf_desc)
#define DRM_IOCTL_INFO_BUFS   DRM_IOWR(0x18, struct drm_buf_info)
#define DRM_IOCTL_MAP_BUFS   DRM_IOWR(0x19, struct drm_buf_map)
#define DRM_IOCTL_FREE_BUFS   DRM_IOW( 0x1a, struct drm_buf_free)
#define DRM_IOCTL_RM_MAP   DRM_IOW( 0x1b, struct drm_map)
#define DRM_IOCTL_SET_SAREA_CTX   DRM_IOW( 0x1c, struct drm_ctx_priv_map)
#define DRM_IOCTL_GET_SAREA_CTX   DRM_IOWR(0x1d, struct drm_ctx_priv_map)
#define DRM_IOCTL_SET_MASTER   DRM_IO(0x1e)
#define DRM_IOCTL_DROP_MASTER   DRM_IO(0x1f)
#define DRM_IOCTL_ADD_CTX   DRM_IOWR(0x20, struct drm_ctx)
#define DRM_IOCTL_RM_CTX   DRM_IOWR(0x21, struct drm_ctx)
#define DRM_IOCTL_MOD_CTX   DRM_IOW( 0x22, struct drm_ctx)
#define DRM_IOCTL_GET_CTX   DRM_IOWR(0x23, struct drm_ctx)
#define DRM_IOCTL_SWITCH_CTX   DRM_IOW( 0x24, struct drm_ctx)
#define DRM_IOCTL_NEW_CTX   DRM_IOW( 0x25, struct drm_ctx)
#define DRM_IOCTL_RES_CTX   DRM_IOWR(0x26, struct drm_ctx_res)
#define DRM_IOCTL_ADD_DRAW   DRM_IOWR(0x27, struct drm_draw)
#define DRM_IOCTL_RM_DRAW   DRM_IOWR(0x28, struct drm_draw)
#define DRM_IOCTL_DMA   DRM_IOWR(0x29, struct drm_dma)
#define DRM_IOCTL_LOCK   DRM_IOW( 0x2a, struct drm_lock)
#define DRM_IOCTL_UNLOCK   DRM_IOW( 0x2b, struct drm_lock)
#define DRM_IOCTL_FINISH   DRM_IOW( 0x2c, struct drm_lock)
#define DRM_IOCTL_AGP_ACQUIRE   DRM_IO( 0x30)
#define DRM_IOCTL_AGP_RELEASE   DRM_IO( 0x31)
#define DRM_IOCTL_AGP_ENABLE   DRM_IOW( 0x32, struct drm_agp_mode)
#define DRM_IOCTL_AGP_INFO   DRM_IOR( 0x33, struct drm_agp_info)
#define DRM_IOCTL_AGP_ALLOC   DRM_IOWR(0x34, struct drm_agp_buffer)
#define DRM_IOCTL_AGP_FREE   DRM_IOW( 0x35, struct drm_agp_buffer)
#define DRM_IOCTL_AGP_BIND   DRM_IOW( 0x36, struct drm_agp_binding)
#define DRM_IOCTL_AGP_UNBIND   DRM_IOW( 0x37, struct drm_agp_binding)
#define DRM_IOCTL_SG_ALLOC   DRM_IOWR(0x38, struct drm_scatter_gather)
#define DRM_IOCTL_SG_FREE   DRM_IOW( 0x39, struct drm_scatter_gather)
#define DRM_IOCTL_PRIME_HANDLE_TO_FD   DRM_IOWR(0x2d, struct drm_prime_handle)
#define DRM_IOCTL_PRIME_FD_TO_HANDLE   DRM_IOWR(0x2e, struct drm_prime_handle)
#define DRM_IOCTL_WAIT_VBLANK   DRM_IOWR(0x3a, union drm_wait_vblank)
#define DRM_IOCTL_UPDATE_DRAW   DRM_IOW(0x3f, struct drm_update_draw)
#define DRM_IOCTL_MODE_GETRESOURCES   DRM_IOWR(0xA0, struct drm_mode_card_res)
#define DRM_IOCTL_MODE_GETCRTC   DRM_IOWR(0xA1, struct drm_mode_crtc)
#define DRM_IOCTL_MODE_SETCRTC   DRM_IOWR(0xA2, struct drm_mode_crtc)
#define DRM_IOCTL_MODE_CURSOR   DRM_IOWR(0xA3, struct drm_mode_cursor)
#define DRM_IOCTL_MODE_GETGAMMA   DRM_IOWR(0xA4, struct drm_mode_crtc_lut)
#define DRM_IOCTL_MODE_SETGAMMA   DRM_IOWR(0xA5, struct drm_mode_crtc_lut)
#define DRM_IOCTL_MODE_GETENCODER   DRM_IOWR(0xA6, struct drm_mode_get_encoder)
#define DRM_IOCTL_MODE_GETCONNECTOR   DRM_IOWR(0xA7, struct drm_mode_get_connector)
#define DRM_IOCTL_MODE_ATTACHMODE   DRM_IOWR(0xA8, struct drm_mode_mode_cmd)
#define DRM_IOCTL_MODE_DETACHMODE   DRM_IOWR(0xA9, struct drm_mode_mode_cmd)
#define DRM_IOCTL_MODE_GETPROPERTY   DRM_IOWR(0xAA, struct drm_mode_get_property)
#define DRM_IOCTL_MODE_SETPROPERTY   DRM_IOWR(0xAB, struct drm_mode_connector_set_property)
#define DRM_IOCTL_MODE_GETPROPBLOB   DRM_IOWR(0xAC, struct drm_mode_get_blob)
#define DRM_IOCTL_MODE_GETFB   DRM_IOWR(0xAD, struct drm_mode_fb_cmd)
#define DRM_IOCTL_MODE_ADDFB   DRM_IOWR(0xAE, struct drm_mode_fb_cmd)
#define DRM_IOCTL_MODE_RMFB   DRM_IOWR(0xAF, unsigned int)
#define DRM_IOCTL_MODE_PAGE_FLIP   DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip)
#define DRM_IOCTL_MODE_DIRTYFB   DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd)
#define DRM_IOCTL_MODE_CREATE_DUMB   DRM_IOWR(0xB2, struct drm_mode_create_dumb)
#define DRM_IOCTL_MODE_MAP_DUMB   DRM_IOWR(0xB3, struct drm_mode_map_dumb)
#define DRM_IOCTL_MODE_DESTROY_DUMB   DRM_IOWR(0xB4, struct drm_mode_destroy_dumb)
#define DRM_IOCTL_MODE_GETPLANERESOURCES   DRM_IOWR(0xB5, struct drm_mode_get_plane_res)
#define DRM_IOCTL_MODE_GETPLANE   DRM_IOWR(0xB6, struct drm_mode_get_plane)
#define DRM_IOCTL_MODE_SETPLANE   DRM_IOWR(0xB7, struct drm_mode_set_plane)
#define DRM_IOCTL_MODE_ADDFB2   DRM_IOWR(0xB8, struct drm_mode_fb_cmd2)
#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES   DRM_IOWR(0xB9, struct drm_mode_obj_get_properties)
#define DRM_IOCTL_MODE_OBJ_SETPROPERTY   DRM_IOWR(0xBA, struct drm_mode_obj_set_property)
#define DRM_COMMAND_BASE   0x40
 Device specific ioctls should only be in their respective headers The device specific ioctl range is from 0x40 to 0x99.
#define DRM_COMMAND_END   0xA0
#define DRM_EVENT_VBLANK   0x01
#define DRM_EVENT_FLIP_COMPLETE   0x02
#define DRM_CAP_DUMB_BUFFER   0x1
#define DRM_CAP_VBLANK_HIGH_CRTC   0x2

Typedefs

typedef int8_t __s8
typedef uint8_t __u8
typedef int16_t __s16
typedef uint16_t __u16
typedef int32_t __s32
typedef uint32_t __u32
typedef int64_t __s64
typedef uint64_t __u64
typedef unsigned long drm_handle_t
typedef unsigned int drm_context_t
typedef unsigned int drm_drawable_t
typedef unsigned int drm_magic_t
typedef struct drm_clip_rect
typedef struct drm_drawable_info
typedef struct drm_tex_region
typedef struct drm_hw_lock
typedef struct drm_version
typedef struct drm_unique
typedef struct drm_list
typedef struct drm_block
typedef struct drm_control

Enumerations

enum  drm_map_type {
  _DRM_FRAME_BUFFER = 0, _DRM_REGISTERS = 1, _DRM_SHM = 2, _DRM_AGP = 3,
  _DRM_SCATTER_GATHER = 4, _DRM_CONSISTENT = 5, _DRM_GEM = 6
}
 Type of memory to map. More...
enum  drm_map_flags {
  _DRM_RESTRICTED = 0x01, _DRM_READ_ONLY = 0x02, _DRM_LOCKED = 0x04, _DRM_KERNEL = 0x08,
  _DRM_WRITE_COMBINING = 0x10, _DRM_CONTAINS_LOCK = 0x20, _DRM_REMOVABLE = 0x40, _DRM_DRIVER = 0x80
}
 Memory mapping flags. More...
enum  drm_stat_type {
  _DRM_STAT_LOCK, _DRM_STAT_OPENS, _DRM_STAT_CLOSES, _DRM_STAT_IOCTLS,
  _DRM_STAT_LOCKS, _DRM_STAT_UNLOCKS, _DRM_STAT_VALUE, _DRM_STAT_BYTE,
  _DRM_STAT_COUNT, _DRM_STAT_IRQ, _DRM_STAT_PRIMARY, _DRM_STAT_SECONDARY,
  _DRM_STAT_DMA, _DRM_STAT_SPECIAL, _DRM_STAT_MISSED
}
enum  drm_lock_flags {
  _DRM_LOCK_READY = 0x01, _DRM_LOCK_QUIESCENT = 0x02, _DRM_LOCK_FLUSH = 0x04, _DRM_LOCK_FLUSH_ALL = 0x08,
  _DRM_HALT_ALL_QUEUES = 0x10, _DRM_HALT_CUR_QUEUES = 0x20
}
 Hardware locking flags. More...
enum  drm_dma_flags {
  _DRM_DMA_BLOCK = 0x01, _DRM_DMA_WHILE_LOCKED = 0x02, _DRM_DMA_PRIORITY = 0x04, _DRM_DMA_WAIT = 0x10,
  _DRM_DMA_SMALLER_OK = 0x20, _DRM_DMA_LARGER_OK = 0x40
}
 DMA flags. More...
enum  drm_ctx_flags { _DRM_CONTEXT_PRESERVED = 0x01, _DRM_CONTEXT_2DONLY = 0x02 }
enum  drm_drawable_info_type_t { DRM_DRAWABLE_CLIPRECTS }
 DRM_IOCTL_UPDATE_DRAW ioctl argument type. More...
enum  drm_vblank_seq_type {
  _DRM_VBLANK_ABSOLUTE = 0x0, _DRM_VBLANK_RELATIVE = 0x1, _DRM_VBLANK_EVENT = 0x4000000, _DRM_VBLANK_FLIP = 0x8000000,
  _DRM_VBLANK_NEXTONMISS = 0x10000000, _DRM_VBLANK_SECONDARY = 0x20000000, _DRM_VBLANK_SIGNAL = 0x40000000
}

Detailed Description

Header for the Direct Rendering Manager.

Author:
Rickard E. (Rik) Faith faith.nosp@m.@val.nosp@m.inux..nosp@m.com
Acknowledgments:
Dec 1999, Richard Henderson rth@t.nosp@m.widd.nosp@m.le.ne.nosp@m.t, move to generic cmpxchg.

Definition in file drm.h.


Class Documentation

struct drm_clip_rect

Cliprect.

Warning:
: If you change this structure, make sure you change XF86DRIClipRectRec in the server as well
Note:
KW: Actually it's illegal to change either for backwards-compatibility reasons.

Definition at line 85 of file drm.h.

Class Members
unsigned short x1
unsigned short x2
unsigned short y1
unsigned short y2
struct drm_drawable_info

Drawable information.

Definition at line 95 of file drm.h.

Collaboration diagram for drm_drawable_info:
Class Members
unsigned int num_rects
struct drm_clip_rect * rects
struct drm_tex_region

Texture region,.

Definition at line 103 of file drm.h.

Class Members
unsigned int age
unsigned char in_use
unsigned char next
unsigned char padding
unsigned char prev
struct drm_hw_lock

Hardware lock.

The lock structure is a simple cache-line aligned integer. To avoid processor bus contention on a multiprocessor system, there should not be any other data stored in the same cache line.

Definition at line 118 of file drm.h.

Class Members
__volatile__ unsigned int lock lock variable
char padding Pad to cache line.
struct drm_version

DRM_IOCTL_VERSION ioctl argument type.

See also:
drmGetVersion().

Definition at line 128 of file drm.h.

Class Members
char * date User-space buffer to hold date.
size_t date_len Length of date buffer.
char * desc User-space buffer to hold desc.
size_t desc_len Length of desc buffer.
char * name Name of driver.
size_t name_len Length of name buffer.
int version_major Major version.
int version_minor Minor version.
int version_patchlevel Patch level.
struct drm_unique

DRM_IOCTL_GET_UNIQUE ioctl argument type.

See also:
drmGetBusid() and drmSetBusId().

Definition at line 145 of file drm.h.

Class Members
char * unique Unique name for driver instantiation.
size_t unique_len Length of unique.
struct drm_list

Definition at line 150 of file drm.h.

Collaboration diagram for drm_list:
Class Members
int count Length of user-space structures.
struct drm_version * version
struct drm_block

Definition at line 155 of file drm.h.

Class Members
int unused
struct drm_ctx_priv_map

Definition at line 201 of file drm.h.

Class Members
unsigned int ctx_id Context requesting private mapping.
void * handle Handle of map.
struct drm_map

DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls argument type.

See also:
drmAddMap().

Definition at line 212 of file drm.h.

Class Members
unsigned long offset Requested physical address (0 for SAREA)
unsigned long size Requested physical size (bytes)
struct drm_client

DRM_IOCTL_GET_CLIENT ioctl argument type.

Definition at line 226 of file drm.h.

Class Members
int auth Is client authenticated?
int idx Which client desired?
unsigned long iocs Ioctl count.
unsigned long magic Magic.
unsigned long pid Process ID.
unsigned long uid User ID.
struct drm_stats

DRM_IOCTL_GET_STATS ioctl argument type.

Definition at line 258 of file drm.h.

Class Members
unsigned long count
struct drm_stats data
struct drm_lock

DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type.

See also:
drmGetLock() and drmUnlock().

Definition at line 286 of file drm.h.

Class Members
int context
struct drm_buf_info

DRM_IOCTL_INFO_BUFS ioctl argument type.

Definition at line 346 of file drm.h.

Collaboration diagram for drm_buf_info:
Class Members
int count Entries in list.
struct drm_buf_desc * list
struct drm_buf_free

DRM_IOCTL_FREE_BUFS ioctl argument type.

Definition at line 354 of file drm.h.

Class Members
int count
int * list
struct drm_buf_pub

Buffer information.

See also:
drm_buf_map.

Definition at line 364 of file drm.h.

Class Members
void * address Address of buffer.
int idx Index into the master buffer list.
int total Buffer size.
int used Amount of buffer in use (for DMA)
struct drm_buf_map

DRM_IOCTL_MAP_BUFS ioctl argument type.

Definition at line 374 of file drm.h.

Collaboration diagram for drm_buf_map:
Class Members
int count Length of the buffer list.
struct drm_buf_pub * list Buffer information.
void * virtual Mmap'd area in user-virtual.
struct drm_dma

DRM_IOCTL_DMA ioctl argument type.

Indices here refer to the offset into the buffer list in drm_buf_get.

See also:
drmDMA().

Definition at line 391 of file drm.h.

Class Members
int context Context handle.
int send_count Number of buffers to send.
int * send_indices List of handles to buffers.
int * send_sizes Lengths of data to send.
struct drm_ctx

DRM_IOCTL_ADD_CTX ioctl argument type.

See also:
drmCreateContext() and drmDestroyContext().

Definition at line 414 of file drm.h.

Class Members
drm_context_t handle
struct drm_ctx_res

DRM_IOCTL_RES_CTX ioctl argument type.

Definition at line 422 of file drm.h.

Collaboration diagram for drm_ctx_res:
Class Members
struct drm_ctx * contexts
int count
struct drm_draw

DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type.

Definition at line 430 of file drm.h.

Class Members
drm_drawable_t handle
struct drm_update_draw

Definition at line 441 of file drm.h.

Class Members
unsigned long long data
drm_drawable_t handle
unsigned int num
unsigned int type
struct drm_auth

DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type.

Definition at line 451 of file drm.h.

Class Members
drm_magic_t magic
struct drm_irq_busid

DRM_IOCTL_IRQ_BUSID ioctl argument type.

See also:
drmGetInterruptFromBusID().

Definition at line 460 of file drm.h.

Class Members
int busnum bus number
int devnum device number
int funcnum function number
int irq IRQ number.
struct drm_wait_vblank_request

Definition at line 481 of file drm.h.

struct drm_wait_vblank_reply

Definition at line 487 of file drm.h.

union drm_wait_vblank

DRM_IOCTL_WAIT_VBLANK ioctl argument type.

See also:
drmWaitVBlank().

Definition at line 499 of file drm.h.

struct drm_modeset_ctl

DRM_IOCTL_MODESET_CTL ioctl argument type.

See also:
drmModesetCtl().

Definition at line 512 of file drm.h.

Class Members
__u32 cmd
__u32 crtc
struct drm_agp_mode

DRM_IOCTL_AGP_ENABLE ioctl argument type.

See also:
drmAgpEnable().

Definition at line 522 of file drm.h.

Class Members
unsigned long mode AGP mode.
struct drm_agp_buffer

DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type.

See also:
drmAgpAlloc() and drmAgpFree().

Definition at line 531 of file drm.h.

Class Members
unsigned long handle Used for binding / unbinding.
unsigned long physical Physical used by i810.
unsigned long size In bytes -- will round to page boundary.
unsigned long type Type of memory to allocate.
struct drm_agp_binding

DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type.

See also:
drmAgpBind() and drmAgpUnbind().

Definition at line 543 of file drm.h.

Class Members
unsigned long handle From drm_agp_buffer.
unsigned long offset In bytes -- will round to page boundary.
struct drm_agp_info
Class Members
int agp_version_major
int agp_version_minor
unsigned long aperture_base
unsigned long aperture_size
unsigned short id_device
unsigned short id_vendor
unsigned long memory_allowed
unsigned long memory_used
unsigned long mode
struct drm_scatter_gather

DRM_IOCTL_SG_ALLOC ioctl argument type.

Definition at line 572 of file drm.h.

Class Members
unsigned long handle Used for mapping / unmapping.
unsigned long size In bytes -- will round to page boundary.
struct drm_set_version

DRM_IOCTL_SET_VERSION ioctl argument type.

Definition at line 580 of file drm.h.

Class Members
int drm_dd_major
int drm_dd_minor
int drm_di_major
int drm_di_minor
struct drm_gem_close

DRM_IOCTL_GEM_CLOSE ioctl argument type.

Definition at line 588 of file drm.h.

Class Members
__u32 handle Handle of the object to be closed.
__u32 pad
struct drm_gem_flink

DRM_IOCTL_GEM_FLINK ioctl argument type.

Definition at line 595 of file drm.h.

Class Members
__u32 handle Handle for the object being named.
__u32 name Returned global name.
struct drm_gem_open

DRM_IOCTL_GEM_OPEN ioctl argument type.

Definition at line 604 of file drm.h.

Class Members
__u32 handle Returned handle for the object.
__u32 name Name of object being opened.
__u64 size Returned size of the object.
struct drm_get_cap

DRM_IOCTL_GET_CAP ioctl argument type.

Definition at line 616 of file drm.h.

Class Members
__u64 capability
__u64 value
struct drm_prime_handle

Definition at line 622 of file drm.h.

Class Members
__s32 fd Returned dmabuf file descriptor.
__u32 flags Flags. . only applicable for handle->fd
__u32 handle
struct drm_event

Header for events written back to userspace on the drm fd.

The type defines the type of event, the length specifies the total length of the event (including the header), and user_data is typically a 64 bit value passed with the ioctl that triggered the event. A read on the drm fd will always only return complete events, that is, if for example the read buffer is 100 bytes, and there are two 64 byte events pending, only one will be returned.

Event types 0 - 0x7fffffff are generic drm events, 0x80000000 and up are chipset specific.

Definition at line 760 of file drm.h.

Class Members
__u32 length
__u32 type
struct drm_event_vblank

Definition at line 768 of file drm.h.

Class Members
__u32 reserved
__u32 sequence
__u32 tv_sec
__u32 tv_usec
__u64 user_data
struct drm_stats.data

Definition at line 260 of file drm.h.

Class Members
unsigned long value

Define Documentation

#define _DRM_LOCK_CONT   0x40000000U

Hardware lock is contended.

Definition at line 67 of file drm.h.

#define _DRM_LOCK_HELD   0x80000000U

Hardware lock is held.

Definition at line 66 of file drm.h.

#define _DRM_LOCK_IS_CONT (   lock)    ((lock) & _DRM_LOCK_CONT)

Definition at line 69 of file drm.h.

#define _DRM_LOCK_IS_HELD (   lock)    ((lock) & _DRM_LOCK_HELD)

Definition at line 68 of file drm.h.

#define _DRM_LOCKING_CONTEXT (   lock)    ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))

Definition at line 70 of file drm.h.

#define _DRM_POST_MODESET   2

Definition at line 505 of file drm.h.

#define _DRM_PRE_MODESET   1

Definition at line 504 of file drm.h.

Value:

Definition at line 478 of file drm.h.

Definition at line 477 of file drm.h.

#define DRM_CAP_DUMB_BUFFER   0x1

Definition at line 777 of file drm.h.

#define DRM_CAP_VBLANK_HIGH_CRTC   0x2

Definition at line 778 of file drm.h.

#define DRM_CLOEXEC   O_CLOEXEC

Definition at line 621 of file drm.h.

#define DRM_COMMAND_BASE   0x40

Device specific ioctls should only be in their respective headers The device specific ioctl range is from 0x40 to 0x99.

Generic IOCTLS restart at 0xA0.

See also:
drmCommandNone(), drmCommandRead(), drmCommandWrite(), and drmCommandReadWrite().

Definition at line 745 of file drm.h.

#define DRM_COMMAND_END   0xA0

Definition at line 746 of file drm.h.

#define DRM_EVENT_FLIP_COMPLETE   0x02

Definition at line 766 of file drm.h.

#define DRM_EVENT_VBLANK   0x01

Definition at line 765 of file drm.h.

#define DRM_IO (   nr)    _IO(DRM_IOCTL_BASE,nr)

Definition at line 635 of file drm.h.

#define DRM_IOCTL_ADD_BUFS   DRM_IOWR(0x16, struct drm_buf_desc)

Definition at line 660 of file drm.h.

#define DRM_IOCTL_ADD_CTX   DRM_IOWR(0x20, struct drm_ctx)

Definition at line 674 of file drm.h.

#define DRM_IOCTL_ADD_DRAW   DRM_IOWR(0x27, struct drm_draw)

Definition at line 681 of file drm.h.

#define DRM_IOCTL_ADD_MAP   DRM_IOWR(0x15, struct drm_map)

Definition at line 659 of file drm.h.

#define DRM_IOCTL_AGP_ACQUIRE   DRM_IO( 0x30)

Definition at line 688 of file drm.h.

#define DRM_IOCTL_AGP_ALLOC   DRM_IOWR(0x34, struct drm_agp_buffer)

Definition at line 692 of file drm.h.

#define DRM_IOCTL_AGP_BIND   DRM_IOW( 0x36, struct drm_agp_binding)

Definition at line 694 of file drm.h.

#define DRM_IOCTL_AGP_ENABLE   DRM_IOW( 0x32, struct drm_agp_mode)

Definition at line 690 of file drm.h.

#define DRM_IOCTL_AGP_FREE   DRM_IOW( 0x35, struct drm_agp_buffer)

Definition at line 693 of file drm.h.

#define DRM_IOCTL_AGP_INFO   DRM_IOR( 0x33, struct drm_agp_info)

Definition at line 691 of file drm.h.

#define DRM_IOCTL_AGP_RELEASE   DRM_IO( 0x31)

Definition at line 689 of file drm.h.

#define DRM_IOCTL_AGP_UNBIND   DRM_IOW( 0x37, struct drm_agp_binding)

Definition at line 695 of file drm.h.

#define DRM_IOCTL_AUTH_MAGIC   DRM_IOW( 0x11, struct drm_auth)

Definition at line 655 of file drm.h.

#define DRM_IOCTL_BASE   'd'

Definition at line 634 of file drm.h.

#define DRM_IOCTL_BLOCK   DRM_IOWR(0x12, struct drm_block)

Definition at line 656 of file drm.h.

#define DRM_IOCTL_CONTROL   DRM_IOW( 0x14, struct drm_control)

Definition at line 658 of file drm.h.

#define DRM_IOCTL_DMA   DRM_IOWR(0x29, struct drm_dma)

Definition at line 683 of file drm.h.

#define DRM_IOCTL_DROP_MASTER   DRM_IO(0x1f)

Definition at line 672 of file drm.h.

#define DRM_IOCTL_FINISH   DRM_IOW( 0x2c, struct drm_lock)

Definition at line 686 of file drm.h.

#define DRM_IOCTL_FREE_BUFS   DRM_IOW( 0x1a, struct drm_buf_free)

Definition at line 664 of file drm.h.

#define DRM_IOCTL_GEM_CLOSE   DRM_IOW (0x09, struct drm_gem_close)

Definition at line 649 of file drm.h.

#define DRM_IOCTL_GEM_FLINK   DRM_IOWR(0x0a, struct drm_gem_flink)

Definition at line 650 of file drm.h.

#define DRM_IOCTL_GEM_OPEN   DRM_IOWR(0x0b, struct drm_gem_open)

Definition at line 651 of file drm.h.

#define DRM_IOCTL_GET_CAP   DRM_IOWR(0x0c, struct drm_get_cap)

Definition at line 652 of file drm.h.

#define DRM_IOCTL_GET_CLIENT   DRM_IOWR(0x05, struct drm_client)

Definition at line 645 of file drm.h.

#define DRM_IOCTL_GET_CTX   DRM_IOWR(0x23, struct drm_ctx)

Definition at line 677 of file drm.h.

#define DRM_IOCTL_GET_MAGIC   DRM_IOR( 0x02, struct drm_auth)

Definition at line 642 of file drm.h.

#define DRM_IOCTL_GET_MAP   DRM_IOWR(0x04, struct drm_map)

Definition at line 644 of file drm.h.

#define DRM_IOCTL_GET_SAREA_CTX   DRM_IOWR(0x1d, struct drm_ctx_priv_map)

Definition at line 669 of file drm.h.

#define DRM_IOCTL_GET_STATS   DRM_IOR( 0x06, struct drm_stats)

Definition at line 646 of file drm.h.

#define DRM_IOCTL_GET_UNIQUE   DRM_IOWR(0x01, struct drm_unique)

Definition at line 641 of file drm.h.

#define DRM_IOCTL_INFO_BUFS   DRM_IOWR(0x18, struct drm_buf_info)

Definition at line 662 of file drm.h.

#define DRM_IOCTL_IRQ_BUSID   DRM_IOWR(0x03, struct drm_irq_busid)

Definition at line 643 of file drm.h.

#define DRM_IOCTL_LOCK   DRM_IOW( 0x2a, struct drm_lock)

Definition at line 684 of file drm.h.

#define DRM_IOCTL_MAP_BUFS   DRM_IOWR(0x19, struct drm_buf_map)

Definition at line 663 of file drm.h.

#define DRM_IOCTL_MARK_BUFS   DRM_IOW( 0x17, struct drm_buf_desc)

Definition at line 661 of file drm.h.

#define DRM_IOCTL_MOD_CTX   DRM_IOW( 0x22, struct drm_ctx)

Definition at line 676 of file drm.h.

#define DRM_IOCTL_MODE_ADDFB   DRM_IOWR(0xAE, struct drm_mode_fb_cmd)

Definition at line 722 of file drm.h.

#define DRM_IOCTL_MODE_ADDFB2   DRM_IOWR(0xB8, struct drm_mode_fb_cmd2)

Definition at line 733 of file drm.h.

#define DRM_IOCTL_MODE_ATTACHMODE   DRM_IOWR(0xA8, struct drm_mode_mode_cmd)

Definition at line 715 of file drm.h.

#define DRM_IOCTL_MODE_CREATE_DUMB   DRM_IOWR(0xB2, struct drm_mode_create_dumb)

Definition at line 727 of file drm.h.

#define DRM_IOCTL_MODE_CURSOR   DRM_IOWR(0xA3, struct drm_mode_cursor)

Definition at line 710 of file drm.h.

#define DRM_IOCTL_MODE_DESTROY_DUMB   DRM_IOWR(0xB4, struct drm_mode_destroy_dumb)

Definition at line 729 of file drm.h.

#define DRM_IOCTL_MODE_DETACHMODE   DRM_IOWR(0xA9, struct drm_mode_mode_cmd)

Definition at line 716 of file drm.h.

#define DRM_IOCTL_MODE_DIRTYFB   DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd)

Definition at line 725 of file drm.h.

#define DRM_IOCTL_MODE_GETCONNECTOR   DRM_IOWR(0xA7, struct drm_mode_get_connector)

Definition at line 714 of file drm.h.

#define DRM_IOCTL_MODE_GETCRTC   DRM_IOWR(0xA1, struct drm_mode_crtc)

Definition at line 708 of file drm.h.

#define DRM_IOCTL_MODE_GETENCODER   DRM_IOWR(0xA6, struct drm_mode_get_encoder)

Definition at line 713 of file drm.h.

#define DRM_IOCTL_MODE_GETFB   DRM_IOWR(0xAD, struct drm_mode_fb_cmd)

Definition at line 721 of file drm.h.

#define DRM_IOCTL_MODE_GETGAMMA   DRM_IOWR(0xA4, struct drm_mode_crtc_lut)

Definition at line 711 of file drm.h.

#define DRM_IOCTL_MODE_GETPLANE   DRM_IOWR(0xB6, struct drm_mode_get_plane)

Definition at line 731 of file drm.h.

#define DRM_IOCTL_MODE_GETPLANERESOURCES   DRM_IOWR(0xB5, struct drm_mode_get_plane_res)

Definition at line 730 of file drm.h.

#define DRM_IOCTL_MODE_GETPROPBLOB   DRM_IOWR(0xAC, struct drm_mode_get_blob)

Definition at line 720 of file drm.h.

#define DRM_IOCTL_MODE_GETPROPERTY   DRM_IOWR(0xAA, struct drm_mode_get_property)

Definition at line 718 of file drm.h.

#define DRM_IOCTL_MODE_GETRESOURCES   DRM_IOWR(0xA0, struct drm_mode_card_res)

Definition at line 707 of file drm.h.

#define DRM_IOCTL_MODE_MAP_DUMB   DRM_IOWR(0xB3, struct drm_mode_map_dumb)

Definition at line 728 of file drm.h.

#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES   DRM_IOWR(0xB9, struct drm_mode_obj_get_properties)

Definition at line 734 of file drm.h.

#define DRM_IOCTL_MODE_OBJ_SETPROPERTY   DRM_IOWR(0xBA, struct drm_mode_obj_set_property)

Definition at line 735 of file drm.h.

#define DRM_IOCTL_MODE_PAGE_FLIP   DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip)

Definition at line 724 of file drm.h.

#define DRM_IOCTL_MODE_RMFB   DRM_IOWR(0xAF, unsigned int)

Definition at line 723 of file drm.h.

#define DRM_IOCTL_MODE_SETCRTC   DRM_IOWR(0xA2, struct drm_mode_crtc)

Definition at line 709 of file drm.h.

#define DRM_IOCTL_MODE_SETGAMMA   DRM_IOWR(0xA5, struct drm_mode_crtc_lut)

Definition at line 712 of file drm.h.

#define DRM_IOCTL_MODE_SETPLANE   DRM_IOWR(0xB7, struct drm_mode_set_plane)

Definition at line 732 of file drm.h.

#define DRM_IOCTL_MODE_SETPROPERTY   DRM_IOWR(0xAB, struct drm_mode_connector_set_property)

Definition at line 719 of file drm.h.

#define DRM_IOCTL_MODESET_CTL   DRM_IOW(0x08, struct drm_modeset_ctl)

Definition at line 648 of file drm.h.

#define DRM_IOCTL_NEW_CTX   DRM_IOW( 0x25, struct drm_ctx)

Definition at line 679 of file drm.h.

#define DRM_IOCTL_PRIME_FD_TO_HANDLE   DRM_IOWR(0x2e, struct drm_prime_handle)

Definition at line 701 of file drm.h.

#define DRM_IOCTL_PRIME_HANDLE_TO_FD   DRM_IOWR(0x2d, struct drm_prime_handle)

Definition at line 700 of file drm.h.

#define DRM_IOCTL_RES_CTX   DRM_IOWR(0x26, struct drm_ctx_res)

Definition at line 680 of file drm.h.

#define DRM_IOCTL_RM_CTX   DRM_IOWR(0x21, struct drm_ctx)

Definition at line 675 of file drm.h.

#define DRM_IOCTL_RM_DRAW   DRM_IOWR(0x28, struct drm_draw)

Definition at line 682 of file drm.h.

#define DRM_IOCTL_RM_MAP   DRM_IOW( 0x1b, struct drm_map)

Definition at line 666 of file drm.h.

#define DRM_IOCTL_SET_MASTER   DRM_IO(0x1e)

Definition at line 671 of file drm.h.

#define DRM_IOCTL_SET_SAREA_CTX   DRM_IOW( 0x1c, struct drm_ctx_priv_map)

Definition at line 668 of file drm.h.

#define DRM_IOCTL_SET_UNIQUE   DRM_IOW( 0x10, struct drm_unique)

Definition at line 654 of file drm.h.

#define DRM_IOCTL_SET_VERSION   DRM_IOWR(0x07, struct drm_set_version)

Definition at line 647 of file drm.h.

#define DRM_IOCTL_SG_ALLOC   DRM_IOWR(0x38, struct drm_scatter_gather)

Definition at line 697 of file drm.h.

#define DRM_IOCTL_SG_FREE   DRM_IOW( 0x39, struct drm_scatter_gather)

Definition at line 698 of file drm.h.

#define DRM_IOCTL_SWITCH_CTX   DRM_IOW( 0x24, struct drm_ctx)

Definition at line 678 of file drm.h.

#define DRM_IOCTL_UNBLOCK   DRM_IOWR(0x13, struct drm_block)

Definition at line 657 of file drm.h.

#define DRM_IOCTL_UNLOCK   DRM_IOW( 0x2b, struct drm_lock)

Definition at line 685 of file drm.h.

#define DRM_IOCTL_UPDATE_DRAW   DRM_IOW(0x3f, struct drm_update_draw)

Definition at line 705 of file drm.h.

#define DRM_IOCTL_VERSION   DRM_IOWR(0x00, struct drm_version)

Definition at line 640 of file drm.h.

#define DRM_IOCTL_WAIT_VBLANK   DRM_IOWR(0x3a, union drm_wait_vblank)

Definition at line 703 of file drm.h.

#define DRM_IOR (   nr,
  type 
)    _IOR(DRM_IOCTL_BASE,nr,type)

Definition at line 636 of file drm.h.

#define DRM_IOW (   nr,
  type 
)    _IOW(DRM_IOCTL_BASE,nr,type)

Definition at line 637 of file drm.h.

#define DRM_IOWR (   nr,
  type 
)    _IOWR(DRM_IOCTL_BASE,nr,type)

Definition at line 638 of file drm.h.

#define DRM_MAX_ORDER   22

Up to 2^22 bytes = 4MB.

Definition at line 63 of file drm.h.

#define DRM_MIN_ORDER   5

At least 2^5 bytes = 32 bytes.

Definition at line 62 of file drm.h.

#define DRM_NAME   "drm"

Name in kernel, /dev, and /proc.

Definition at line 61 of file drm.h.

#define DRM_RAM_PERCENT   10

How much system ram can we lock?

Definition at line 64 of file drm.h.


Typedef Documentation

typedef int16_t __s16

Definition at line 51 of file drm.h.

typedef int32_t __s32

Definition at line 53 of file drm.h.

typedef int64_t __s64

Definition at line 55 of file drm.h.

typedef int8_t __s8

Definition at line 49 of file drm.h.

typedef uint16_t __u16

Definition at line 52 of file drm.h.

typedef uint32_t __u32

Definition at line 54 of file drm.h.

typedef uint64_t __u64

Definition at line 56 of file drm.h.

typedef uint8_t __u8

Definition at line 50 of file drm.h.

typedef struct drm_block

Definition at line 788 of file drm.h.

typedef struct drm_clip_rect

Definition at line 781 of file drm.h.

typedef unsigned int drm_context_t

Definition at line 72 of file drm.h.

typedef struct drm_control

Definition at line 789 of file drm.h.

typedef struct drm_drawable_info

Definition at line 782 of file drm.h.

typedef unsigned int drm_drawable_t

Definition at line 73 of file drm.h.

typedef unsigned long drm_handle_t

Definition at line 57 of file drm.h.

typedef struct drm_hw_lock

Definition at line 784 of file drm.h.

typedef struct drm_list

Definition at line 787 of file drm.h.

typedef unsigned int drm_magic_t

Definition at line 74 of file drm.h.

typedef struct drm_tex_region

Definition at line 783 of file drm.h.

typedef struct drm_unique

Definition at line 786 of file drm.h.

typedef struct drm_version

Definition at line 785 of file drm.h.


Enumeration Type Documentation

Enumerator:
_DRM_CONTEXT_PRESERVED 
_DRM_CONTEXT_2DONLY 

Definition at line 404 of file drm.h.

DMA flags.

Warning:
These values must match xf86drm.h.
See also:
drm_dma.
Enumerator:
_DRM_DMA_BLOCK 

Block until buffer dispatched.

Note:
The buffer may not yet have been processed by the hardware -- getting a hardware lock with the hardware quiescent will ensure that the buffer has been processed.
_DRM_DMA_WHILE_LOCKED 

Dispatch while lock held.

_DRM_DMA_PRIORITY 

High priority dispatch.

_DRM_DMA_WAIT 

Wait for free buffers.

_DRM_DMA_SMALLER_OK 

Smaller-than-requested buffers OK.

_DRM_DMA_LARGER_OK 

Larger-than-requested buffers OK.

Definition at line 299 of file drm.h.

                   {
       /* Flags for DMA buffer dispatch */
       _DRM_DMA_BLOCK = 0x01,            
       _DRM_DMA_WHILE_LOCKED = 0x02, 
       _DRM_DMA_PRIORITY = 0x04,     
       /* Flags for DMA buffer request */
       _DRM_DMA_WAIT = 0x10,             
       _DRM_DMA_SMALLER_OK = 0x20,   
       _DRM_DMA_LARGER_OK = 0x40     
};

DRM_IOCTL_UPDATE_DRAW ioctl argument type.

Enumerator:
DRM_DRAWABLE_CLIPRECTS 

Definition at line 437 of file drm.h.

Hardware locking flags.

Enumerator:
_DRM_LOCK_READY 

Wait until hardware is ready for DMA.

_DRM_LOCK_QUIESCENT 

Wait until hardware quiescent.

_DRM_LOCK_FLUSH 

Flush this context's DMA queue first.

_DRM_LOCK_FLUSH_ALL 

Flush all DMA queues first.

_DRM_HALT_ALL_QUEUES 

Halt all current and future queues.

_DRM_HALT_CUR_QUEUES 

Halt all current queues.

Definition at line 269 of file drm.h.

                    {
       _DRM_LOCK_READY = 0x01,          
       _DRM_LOCK_QUIESCENT = 0x02,  
       _DRM_LOCK_FLUSH = 0x04,          
       _DRM_LOCK_FLUSH_ALL = 0x08,  
       /* These *HALT* flags aren't supported yet
          -- they will be used to support the
          full-screen DGA-like mode. */
       _DRM_HALT_ALL_QUEUES = 0x10, 
       _DRM_HALT_CUR_QUEUES = 0x20  
};

Memory mapping flags.

Enumerator:
_DRM_RESTRICTED 

Cannot be mapped to user-virtual.

_DRM_READ_ONLY 
_DRM_LOCKED 

shared, cached, locked

_DRM_KERNEL 

kernel requires access

_DRM_WRITE_COMBINING 

use write-combining if available

_DRM_CONTAINS_LOCK 

SHM page that contains lock.

_DRM_REMOVABLE 

Removable mapping.

_DRM_DRIVER 

Managed by driver.

Definition at line 190 of file drm.h.

                   {
       _DRM_RESTRICTED = 0x01,          
       _DRM_READ_ONLY = 0x02,
       _DRM_LOCKED = 0x04,       
       _DRM_KERNEL = 0x08,       
       _DRM_WRITE_COMBINING = 0x10, 
       _DRM_CONTAINS_LOCK = 0x20,   
       _DRM_REMOVABLE = 0x40,           
       _DRM_DRIVER = 0x80        
};

Type of memory to map.

Enumerator:
_DRM_FRAME_BUFFER 

WC (no caching), no core dump.

_DRM_REGISTERS 

no caching, no core dump

_DRM_SHM 

shared, cached

_DRM_AGP 

AGP/GART.

_DRM_SCATTER_GATHER 

Scatter/gather memory for PCI DMA.

_DRM_CONSISTENT 

Consistent memory for PCI DMA.

_DRM_GEM 

GEM object.

Definition at line 177 of file drm.h.

Enumerator:
_DRM_STAT_LOCK 
_DRM_STAT_OPENS 
_DRM_STAT_CLOSES 
_DRM_STAT_IOCTLS 
_DRM_STAT_LOCKS 
_DRM_STAT_UNLOCKS 
_DRM_STAT_VALUE 

Generic value.

_DRM_STAT_BYTE 

Generic byte counter (1024bytes/K)

_DRM_STAT_COUNT 

Generic non-byte counter (1000/k)

_DRM_STAT_IRQ 

IRQ.

_DRM_STAT_PRIMARY 

Primary DMA bytes.

_DRM_STAT_SECONDARY 

Secondary DMA bytes.

_DRM_STAT_DMA 

DMA.

_DRM_STAT_SPECIAL 

Special DMA (e.g., priority or polled)

_DRM_STAT_MISSED 

Missed DMA opportunity.

Definition at line 235 of file drm.h.

Enumerator:
_DRM_VBLANK_ABSOLUTE 

Wait for specific vblank sequence number.

_DRM_VBLANK_RELATIVE 

Wait for given number of vblanks.

_DRM_VBLANK_EVENT 

Send event instead of blocking.

_DRM_VBLANK_FLIP 

Scheduled buffer swap should flip.

_DRM_VBLANK_NEXTONMISS 

If missed, wait for next vblank.

_DRM_VBLANK_SECONDARY 

Secondary display controller.

_DRM_VBLANK_SIGNAL 

Send signal instead of blocking, unsupported.

Definition at line 467 of file drm.h.

                         {
       _DRM_VBLANK_ABSOLUTE = 0x0, 
       _DRM_VBLANK_RELATIVE = 0x1, 
       _DRM_VBLANK_EVENT = 0x4000000,   
       _DRM_VBLANK_FLIP = 0x8000000,   
       _DRM_VBLANK_NEXTONMISS = 0x10000000,      
       _DRM_VBLANK_SECONDARY = 0x20000000,       
       _DRM_VBLANK_SIGNAL = 0x40000000    
};