Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations
drm.h File Reference
#include <sys/ioccom.h>
#include <sys/types.h>
#include <drm/drm_mode.h>

Go to the source code of this file.

Data Structures

struct  drm_clip_rect
 
struct  drm_drawable_info
 
struct  drm_tex_region
 
struct  drm_hw_lock
 
struct  drm_version
 
struct  drm_unique
 
struct  drm_list
 
struct  drm_block
 
struct  drm_control
 
struct  drm_ctx_priv_map
 
struct  drm_map
 
struct  drm_client
 
struct  drm_stats
 
struct  drm_lock
 
struct  drm_buf_desc
 
struct  drm_buf_info
 
struct  drm_buf_free
 
struct  drm_buf_pub
 
struct  drm_buf_map
 
struct  drm_dma
 
struct  drm_ctx
 
struct  drm_ctx_res
 
struct  drm_draw
 
struct  drm_update_draw
 
struct  drm_auth
 
struct  drm_irq_busid
 
struct  drm_wait_vblank_request
 
struct  drm_wait_vblank_reply
 
union  drm_wait_vblank
 
struct  drm_modeset_ctl
 
struct  drm_agp_mode
 
struct  drm_agp_buffer
 
struct  drm_agp_binding
 
struct  drm_agp_info
 
struct  drm_scatter_gather
 
struct  drm_set_version
 
struct  drm_gem_close
 
struct  drm_gem_flink
 
struct  drm_gem_open
 
struct  drm_get_cap
 
struct  drm_prime_handle
 
struct  drm_event
 
struct  drm_event_vblank
 

Macros

#define DRM_NAME   "drm"
 
#define DRM_MIN_ORDER   5
 
#define DRM_MAX_ORDER   22
 
#define DRM_RAM_PERCENT   10
 
#define _DRM_LOCK_HELD   0x80000000U
 
#define _DRM_LOCK_CONT   0x40000000U
 
#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_HIGH_CRTC_SHIFT   1
 
#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_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_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_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
 
#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
 
#define DRM_CAP_DUMB_PREFERRED_DEPTH   0x3
 
#define DRM_CAP_DUMB_PREFER_SHADOW   0x4
 
#define DRM_CAP_PRIME   0x5
 
#define DRM_PRIME_CAP_IMPORT   0x1
 
#define DRM_PRIME_CAP_EXPORT   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 drm_clip_rect_t
 
typedef struct drm_drawable_info drm_drawable_info_t
 
typedef struct drm_tex_region drm_tex_region_t
 
typedef struct drm_hw_lock drm_hw_lock_t
 
typedef struct drm_version drm_version_t
 
typedef struct drm_unique drm_unique_t
 
typedef struct drm_list drm_list_t
 
typedef struct drm_block drm_block_t
 
typedef struct drm_control drm_control_t
 
typedef enum drm_map_type drm_map_type_t
 
typedef enum drm_map_flags drm_map_flags_t
 
typedef struct drm_ctx_priv_map drm_ctx_priv_map_t
 
typedef struct drm_map drm_map_t
 
typedef struct drm_client drm_client_t
 
typedef enum drm_stat_type drm_stat_type_t
 
typedef struct drm_stats drm_stats_t
 
typedef enum drm_lock_flags drm_lock_flags_t
 
typedef struct drm_lock drm_lock_t
 
typedef enum drm_dma_flags drm_dma_flags_t
 
typedef struct drm_buf_desc drm_buf_desc_t
 
typedef struct drm_buf_info drm_buf_info_t
 
typedef struct drm_buf_free drm_buf_free_t
 
typedef struct drm_buf_pub drm_buf_pub_t
 
typedef struct drm_buf_map drm_buf_map_t
 
typedef struct drm_dma drm_dma_t
 
typedef union drm_wait_vblank drm_wait_vblank_t
 
typedef struct drm_agp_mode drm_agp_mode_t
 
typedef enum drm_ctx_flags drm_ctx_flags_t
 
typedef struct drm_ctx drm_ctx_t
 
typedef struct drm_ctx_res drm_ctx_res_t
 
typedef struct drm_draw drm_draw_t
 
typedef struct drm_update_draw drm_update_draw_t
 
typedef struct drm_auth drm_auth_t
 
typedef struct drm_irq_busid drm_irq_busid_t
 
typedef enum drm_vblank_seq_type drm_vblank_seq_type_t
 
typedef struct drm_agp_buffer drm_agp_buffer_t
 
typedef struct drm_agp_binding drm_agp_binding_t
 
typedef struct drm_agp_info drm_agp_info_t
 
typedef struct drm_scatter_gather drm_scatter_gather_t
 
typedef struct drm_set_version drm_set_version_t
 

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
}
 
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
}
 
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
}
 
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
}
 
enum  drm_ctx_flags { _DRM_CONTEXT_PRESERVED = 0x01, _DRM_CONTEXT_2DONLY = 0x02 }
 
enum  drm_drawable_info_type_t { DRM_DRAWABLE_CLIPRECTS }
 
enum  drm_vblank_seq_type {
  _DRM_VBLANK_ABSOLUTE = 0x0, _DRM_VBLANK_RELATIVE = 0x1, _DRM_VBLANK_HIGH_CRTC_MASK = 0x0000003e, _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.

Macro Definition 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 504 of file drm.h.

#define _DRM_PRE_MODESET   1

Definition at line 503 of file drm.h.

#define _DRM_VBLANK_FLAGS_MASK
Value:

Definition at line 477 of file drm.h.

#define _DRM_VBLANK_HIGH_CRTC_SHIFT   1

Definition at line 474 of file drm.h.

#define _DRM_VBLANK_TYPES_MASK   (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE)

Definition at line 476 of file drm.h.

#define DRM_CAP_DUMB_BUFFER   0x1

Definition at line 776 of file drm.h.

#define DRM_CAP_DUMB_PREFER_SHADOW   0x4

Definition at line 779 of file drm.h.

#define DRM_CAP_DUMB_PREFERRED_DEPTH   0x3

Definition at line 778 of file drm.h.

#define DRM_CAP_PRIME   0x5

Definition at line 780 of file drm.h.

#define DRM_CAP_VBLANK_HIGH_CRTC   0x2

Definition at line 777 of file drm.h.

#define DRM_CLOEXEC   O_CLOEXEC

Definition at line 620 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 744 of file drm.h.

#define DRM_COMMAND_END   0xA0

Definition at line 745 of file drm.h.

#define DRM_EVENT_FLIP_COMPLETE   0x02

Definition at line 765 of file drm.h.

#define DRM_EVENT_VBLANK   0x01

Definition at line 764 of file drm.h.

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

Definition at line 634 of file drm.h.

#define DRM_IOCTL_ADD_BUFS   DRM_IOWR(0x16, struct drm_buf_desc)

Definition at line 659 of file drm.h.

#define DRM_IOCTL_ADD_CTX   DRM_IOWR(0x20, struct drm_ctx)

Definition at line 673 of file drm.h.

#define DRM_IOCTL_ADD_DRAW   DRM_IOWR(0x27, struct drm_draw)

Definition at line 680 of file drm.h.

#define DRM_IOCTL_ADD_MAP   DRM_IOWR(0x15, struct drm_map)

Definition at line 658 of file drm.h.

#define DRM_IOCTL_AGP_ACQUIRE   DRM_IO( 0x30)

Definition at line 690 of file drm.h.

#define DRM_IOCTL_AGP_ALLOC   DRM_IOWR(0x34, struct drm_agp_buffer)

Definition at line 694 of file drm.h.

#define DRM_IOCTL_AGP_BIND   DRM_IOW( 0x36, struct drm_agp_binding)

Definition at line 696 of file drm.h.

#define DRM_IOCTL_AGP_ENABLE   DRM_IOW( 0x32, struct drm_agp_mode)

Definition at line 692 of file drm.h.

#define DRM_IOCTL_AGP_FREE   DRM_IOW( 0x35, struct drm_agp_buffer)

Definition at line 695 of file drm.h.

#define DRM_IOCTL_AGP_INFO   DRM_IOR( 0x33, struct drm_agp_info)

Definition at line 693 of file drm.h.

#define DRM_IOCTL_AGP_RELEASE   DRM_IO( 0x31)

Definition at line 691 of file drm.h.

#define DRM_IOCTL_AGP_UNBIND   DRM_IOW( 0x37, struct drm_agp_binding)

Definition at line 697 of file drm.h.

#define DRM_IOCTL_AUTH_MAGIC   DRM_IOW( 0x11, struct drm_auth)

Definition at line 654 of file drm.h.

#define DRM_IOCTL_BASE   'd'

Definition at line 633 of file drm.h.

#define DRM_IOCTL_BLOCK   DRM_IOWR(0x12, struct drm_block)

Definition at line 655 of file drm.h.

#define DRM_IOCTL_CONTROL   DRM_IOW( 0x14, struct drm_control)

Definition at line 657 of file drm.h.

#define DRM_IOCTL_DMA   DRM_IOWR(0x29, struct drm_dma)

Definition at line 682 of file drm.h.

#define DRM_IOCTL_DROP_MASTER   DRM_IO(0x1f)

Definition at line 671 of file drm.h.

#define DRM_IOCTL_FINISH   DRM_IOW( 0x2c, struct drm_lock)

Definition at line 685 of file drm.h.

#define DRM_IOCTL_FREE_BUFS   DRM_IOW( 0x1a, struct drm_buf_free)

Definition at line 663 of file drm.h.

#define DRM_IOCTL_GEM_CLOSE   DRM_IOW (0x09, struct drm_gem_close)

Definition at line 648 of file drm.h.

#define DRM_IOCTL_GEM_FLINK   DRM_IOWR(0x0a, struct drm_gem_flink)

Definition at line 649 of file drm.h.

#define DRM_IOCTL_GEM_OPEN   DRM_IOWR(0x0b, struct drm_gem_open)

Definition at line 650 of file drm.h.

#define DRM_IOCTL_GET_CAP   DRM_IOWR(0x0c, struct drm_get_cap)

Definition at line 651 of file drm.h.

#define DRM_IOCTL_GET_CLIENT   DRM_IOWR(0x05, struct drm_client)

Definition at line 644 of file drm.h.

#define DRM_IOCTL_GET_CTX   DRM_IOWR(0x23, struct drm_ctx)

Definition at line 676 of file drm.h.

#define DRM_IOCTL_GET_MAGIC   DRM_IOR( 0x02, struct drm_auth)

Definition at line 641 of file drm.h.

#define DRM_IOCTL_GET_MAP   DRM_IOWR(0x04, struct drm_map)

Definition at line 643 of file drm.h.

#define DRM_IOCTL_GET_SAREA_CTX   DRM_IOWR(0x1d, struct drm_ctx_priv_map)

Definition at line 668 of file drm.h.

#define DRM_IOCTL_GET_STATS   DRM_IOR( 0x06, struct drm_stats)

Definition at line 645 of file drm.h.

#define DRM_IOCTL_GET_UNIQUE   DRM_IOWR(0x01, struct drm_unique)

Definition at line 640 of file drm.h.

#define DRM_IOCTL_INFO_BUFS   DRM_IOWR(0x18, struct drm_buf_info)

Definition at line 661 of file drm.h.

#define DRM_IOCTL_IRQ_BUSID   DRM_IOWR(0x03, struct drm_irq_busid)

Definition at line 642 of file drm.h.

#define DRM_IOCTL_LOCK   DRM_IOW( 0x2a, struct drm_lock)

Definition at line 683 of file drm.h.

#define DRM_IOCTL_MAP_BUFS   DRM_IOWR(0x19, struct drm_buf_map)

Definition at line 662 of file drm.h.

#define DRM_IOCTL_MARK_BUFS   DRM_IOW( 0x17, struct drm_buf_desc)

Definition at line 660 of file drm.h.

#define DRM_IOCTL_MOD_CTX   DRM_IOW( 0x22, struct drm_ctx)

Definition at line 675 of file drm.h.

#define DRM_IOCTL_MODE_ADDFB   DRM_IOWR(0xAE, struct drm_mode_fb_cmd)

Definition at line 721 of file drm.h.

#define DRM_IOCTL_MODE_ADDFB2   DRM_IOWR(0xB8, struct drm_mode_fb_cmd2)

Definition at line 732 of file drm.h.

#define DRM_IOCTL_MODE_ATTACHMODE   DRM_IOWR(0xA8, struct drm_mode_mode_cmd)

Definition at line 714 of file drm.h.

#define DRM_IOCTL_MODE_CREATE_DUMB   DRM_IOWR(0xB2, struct drm_mode_create_dumb)

Definition at line 726 of file drm.h.

#define DRM_IOCTL_MODE_CURSOR   DRM_IOWR(0xA3, struct drm_mode_cursor)

Definition at line 709 of file drm.h.

#define DRM_IOCTL_MODE_DESTROY_DUMB   DRM_IOWR(0xB4, struct drm_mode_destroy_dumb)

Definition at line 728 of file drm.h.

#define DRM_IOCTL_MODE_DETACHMODE   DRM_IOWR(0xA9, struct drm_mode_mode_cmd)

Definition at line 715 of file drm.h.

#define DRM_IOCTL_MODE_DIRTYFB   DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd)

Definition at line 724 of file drm.h.

#define DRM_IOCTL_MODE_GETCONNECTOR   DRM_IOWR(0xA7, struct drm_mode_get_connector)

Definition at line 713 of file drm.h.

#define DRM_IOCTL_MODE_GETCRTC   DRM_IOWR(0xA1, struct drm_mode_crtc)

Definition at line 707 of file drm.h.

#define DRM_IOCTL_MODE_GETENCODER   DRM_IOWR(0xA6, struct drm_mode_get_encoder)

Definition at line 712 of file drm.h.

#define DRM_IOCTL_MODE_GETFB   DRM_IOWR(0xAD, struct drm_mode_fb_cmd)

Definition at line 720 of file drm.h.

#define DRM_IOCTL_MODE_GETGAMMA   DRM_IOWR(0xA4, struct drm_mode_crtc_lut)

Definition at line 710 of file drm.h.

#define DRM_IOCTL_MODE_GETPLANE   DRM_IOWR(0xB6, struct drm_mode_get_plane)

Definition at line 730 of file drm.h.

#define DRM_IOCTL_MODE_GETPLANERESOURCES   DRM_IOWR(0xB5, struct drm_mode_get_plane_res)

Definition at line 729 of file drm.h.

#define DRM_IOCTL_MODE_GETPROPBLOB   DRM_IOWR(0xAC, struct drm_mode_get_blob)

Definition at line 719 of file drm.h.

#define DRM_IOCTL_MODE_GETPROPERTY   DRM_IOWR(0xAA, struct drm_mode_get_property)

Definition at line 717 of file drm.h.

#define DRM_IOCTL_MODE_GETRESOURCES   DRM_IOWR(0xA0, struct drm_mode_card_res)

Definition at line 706 of file drm.h.

#define DRM_IOCTL_MODE_MAP_DUMB   DRM_IOWR(0xB3, struct drm_mode_map_dumb)

Definition at line 727 of file drm.h.

#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES   DRM_IOWR(0xB9, struct drm_mode_obj_get_properties)

Definition at line 733 of file drm.h.

#define DRM_IOCTL_MODE_OBJ_SETPROPERTY   DRM_IOWR(0xBA, struct drm_mode_obj_set_property)

Definition at line 734 of file drm.h.

#define DRM_IOCTL_MODE_PAGE_FLIP   DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip)

Definition at line 723 of file drm.h.

#define DRM_IOCTL_MODE_RMFB   DRM_IOWR(0xAF, unsigned int)

Definition at line 722 of file drm.h.

#define DRM_IOCTL_MODE_SETCRTC   DRM_IOWR(0xA2, struct drm_mode_crtc)

Definition at line 708 of file drm.h.

#define DRM_IOCTL_MODE_SETGAMMA   DRM_IOWR(0xA5, struct drm_mode_crtc_lut)

Definition at line 711 of file drm.h.

#define DRM_IOCTL_MODE_SETPLANE   DRM_IOWR(0xB7, struct drm_mode_set_plane)

Definition at line 731 of file drm.h.

#define DRM_IOCTL_MODE_SETPROPERTY   DRM_IOWR(0xAB, struct drm_mode_connector_set_property)

Definition at line 718 of file drm.h.

#define DRM_IOCTL_MODESET_CTL   DRM_IOW(0x08, struct drm_modeset_ctl)

Definition at line 647 of file drm.h.

#define DRM_IOCTL_NEW_CTX   DRM_IOW( 0x25, struct drm_ctx)

Definition at line 678 of file drm.h.

#define DRM_IOCTL_PRIME_FD_TO_HANDLE   DRM_IOWR(0x2e, struct drm_prime_handle)

Definition at line 688 of file drm.h.

#define DRM_IOCTL_PRIME_HANDLE_TO_FD   DRM_IOWR(0x2d, struct drm_prime_handle)

Definition at line 687 of file drm.h.

#define DRM_IOCTL_RES_CTX   DRM_IOWR(0x26, struct drm_ctx_res)

Definition at line 679 of file drm.h.

#define DRM_IOCTL_RM_CTX   DRM_IOWR(0x21, struct drm_ctx)

Definition at line 674 of file drm.h.

#define DRM_IOCTL_RM_DRAW   DRM_IOWR(0x28, struct drm_draw)

Definition at line 681 of file drm.h.

#define DRM_IOCTL_RM_MAP   DRM_IOW( 0x1b, struct drm_map)

Definition at line 665 of file drm.h.

#define DRM_IOCTL_SET_MASTER   DRM_IO(0x1e)

Definition at line 670 of file drm.h.

#define DRM_IOCTL_SET_SAREA_CTX   DRM_IOW( 0x1c, struct drm_ctx_priv_map)

Definition at line 667 of file drm.h.

#define DRM_IOCTL_SET_UNIQUE   DRM_IOW( 0x10, struct drm_unique)

Definition at line 653 of file drm.h.

#define DRM_IOCTL_SET_VERSION   DRM_IOWR(0x07, struct drm_set_version)

Definition at line 646 of file drm.h.

#define DRM_IOCTL_SG_ALLOC   DRM_IOWR(0x38, struct drm_scatter_gather)

Definition at line 699 of file drm.h.

#define DRM_IOCTL_SG_FREE   DRM_IOW( 0x39, struct drm_scatter_gather)

Definition at line 700 of file drm.h.

#define DRM_IOCTL_SWITCH_CTX   DRM_IOW( 0x24, struct drm_ctx)

Definition at line 677 of file drm.h.

#define DRM_IOCTL_UNBLOCK   DRM_IOWR(0x13, struct drm_block)

Definition at line 656 of file drm.h.

#define DRM_IOCTL_UNLOCK   DRM_IOW( 0x2b, struct drm_lock)

Definition at line 684 of file drm.h.

#define DRM_IOCTL_UPDATE_DRAW   DRM_IOW(0x3f, struct drm_update_draw)

Definition at line 704 of file drm.h.

#define DRM_IOCTL_VERSION   DRM_IOWR(0x00, struct drm_version)

Definition at line 639 of file drm.h.

#define DRM_IOCTL_WAIT_VBLANK   DRM_IOWR(0x3a, union drm_wait_vblank)

Definition at line 702 of file drm.h.

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

Definition at line 635 of file drm.h.

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

Definition at line 636 of file drm.h.

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

Definition at line 637 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_PRIME_CAP_EXPORT   0x2

Definition at line 783 of file drm.h.

#define DRM_PRIME_CAP_IMPORT   0x1

Definition at line 782 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.

Definition at line 824 of file drm.h.

Definition at line 823 of file drm.h.

Definition at line 825 of file drm.h.

Definition at line 813 of file drm.h.

Definition at line 819 of file drm.h.

Definition at line 794 of file drm.h.

Definition at line 806 of file drm.h.

Definition at line 808 of file drm.h.

Definition at line 807 of file drm.h.

Definition at line 810 of file drm.h.

Definition at line 809 of file drm.h.

Definition at line 800 of file drm.h.

Definition at line 787 of file drm.h.

typedef unsigned int drm_context_t

Definition at line 72 of file drm.h.

Definition at line 795 of file drm.h.

Definition at line 814 of file drm.h.

Definition at line 798 of file drm.h.

Definition at line 816 of file drm.h.

Definition at line 815 of file drm.h.

Definition at line 805 of file drm.h.

Definition at line 811 of file drm.h.

Definition at line 817 of file drm.h.

Definition at line 788 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.

Definition at line 790 of file drm.h.

Definition at line 820 of file drm.h.

Definition at line 793 of file drm.h.

Definition at line 803 of file drm.h.

Definition at line 804 of file drm.h.

typedef unsigned int drm_magic_t

Definition at line 74 of file drm.h.

Definition at line 797 of file drm.h.

Definition at line 799 of file drm.h.

Definition at line 796 of file drm.h.

Definition at line 826 of file drm.h.

Definition at line 827 of file drm.h.

Definition at line 801 of file drm.h.

Definition at line 802 of file drm.h.

Definition at line 789 of file drm.h.

Definition at line 792 of file drm.h.

Definition at line 818 of file drm.h.

Definition at line 821 of file drm.h.

Definition at line 791 of file drm.h.

Definition at line 812 of file drm.h.

Enumeration Type Documentation

Enumerator:
_DRM_CONTEXT_PRESERVED 
_DRM_CONTEXT_2DONLY 

Definition at line 400 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.

DRM_IOCTL_UPDATE_DRAW ioctl argument type.

Enumerator:
DRM_DRAWABLE_CLIPRECTS 

Definition at line 433 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.

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.

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_HIGH_CRTC_MASK 
_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 463 of file drm.h.