diff options
Diffstat (limited to 'include/drm/drm.h')
-rw-r--r-- | include/drm/drm.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/drm/drm.h b/include/drm/drm.h index e5f70617dec5..4be33b4ca2f8 100644 --- a/include/drm/drm.h +++ b/include/drm/drm.h | |||
@@ -463,12 +463,15 @@ struct drm_irq_busid { | |||
463 | enum drm_vblank_seq_type { | 463 | enum drm_vblank_seq_type { |
464 | _DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */ | 464 | _DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */ |
465 | _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */ | 465 | _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */ |
466 | /* bits 1-6 are reserved for high crtcs */ | ||
467 | _DRM_VBLANK_HIGH_CRTC_MASK = 0x0000003e, | ||
466 | _DRM_VBLANK_EVENT = 0x4000000, /**< Send event instead of blocking */ | 468 | _DRM_VBLANK_EVENT = 0x4000000, /**< Send event instead of blocking */ |
467 | _DRM_VBLANK_FLIP = 0x8000000, /**< Scheduled buffer swap should flip */ | 469 | _DRM_VBLANK_FLIP = 0x8000000, /**< Scheduled buffer swap should flip */ |
468 | _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */ | 470 | _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */ |
469 | _DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */ | 471 | _DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */ |
470 | _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking, unsupported */ | 472 | _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking, unsupported */ |
471 | }; | 473 | }; |
474 | #define _DRM_VBLANK_HIGH_CRTC_SHIFT 1 | ||
472 | 475 | ||
473 | #define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE) | 476 | #define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE) |
474 | #define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \ | 477 | #define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \ |
@@ -608,6 +611,12 @@ struct drm_gem_open { | |||
608 | __u64 size; | 611 | __u64 size; |
609 | }; | 612 | }; |
610 | 613 | ||
614 | /** DRM_IOCTL_GET_CAP ioctl argument type */ | ||
615 | struct drm_get_cap { | ||
616 | __u64 capability; | ||
617 | __u64 value; | ||
618 | }; | ||
619 | |||
611 | #include "drm_mode.h" | 620 | #include "drm_mode.h" |
612 | 621 | ||
613 | #define DRM_IOCTL_BASE 'd' | 622 | #define DRM_IOCTL_BASE 'd' |
@@ -628,6 +637,7 @@ struct drm_gem_open { | |||
628 | #define DRM_IOCTL_GEM_CLOSE DRM_IOW (0x09, struct drm_gem_close) | 637 | #define DRM_IOCTL_GEM_CLOSE DRM_IOW (0x09, struct drm_gem_close) |
629 | #define DRM_IOCTL_GEM_FLINK DRM_IOWR(0x0a, struct drm_gem_flink) | 638 | #define DRM_IOCTL_GEM_FLINK DRM_IOWR(0x0a, struct drm_gem_flink) |
630 | #define DRM_IOCTL_GEM_OPEN DRM_IOWR(0x0b, struct drm_gem_open) | 639 | #define DRM_IOCTL_GEM_OPEN DRM_IOWR(0x0b, struct drm_gem_open) |
640 | #define DRM_IOCTL_GET_CAP DRM_IOWR(0x0c, struct drm_get_cap) | ||
631 | 641 | ||
632 | #define DRM_IOCTL_SET_UNIQUE DRM_IOW( 0x10, struct drm_unique) | 642 | #define DRM_IOCTL_SET_UNIQUE DRM_IOW( 0x10, struct drm_unique) |
633 | #define DRM_IOCTL_AUTH_MAGIC DRM_IOW( 0x11, struct drm_auth) | 643 | #define DRM_IOCTL_AUTH_MAGIC DRM_IOW( 0x11, struct drm_auth) |
@@ -701,6 +711,10 @@ struct drm_gem_open { | |||
701 | #define DRM_IOCTL_MODE_PAGE_FLIP DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip) | 711 | #define DRM_IOCTL_MODE_PAGE_FLIP DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip) |
702 | #define DRM_IOCTL_MODE_DIRTYFB DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd) | 712 | #define DRM_IOCTL_MODE_DIRTYFB DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd) |
703 | 713 | ||
714 | #define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, struct drm_mode_create_dumb) | ||
715 | #define DRM_IOCTL_MODE_MAP_DUMB DRM_IOWR(0xB3, struct drm_mode_map_dumb) | ||
716 | #define DRM_IOCTL_MODE_DESTROY_DUMB DRM_IOWR(0xB4, struct drm_mode_destroy_dumb) | ||
717 | |||
704 | /** | 718 | /** |
705 | * Device specific ioctls should only be in their respective headers | 719 | * Device specific ioctls should only be in their respective headers |
706 | * The device specific ioctl range is from 0x40 to 0x99. | 720 | * The device specific ioctl range is from 0x40 to 0x99. |
@@ -741,6 +755,9 @@ struct drm_event_vblank { | |||
741 | __u32 reserved; | 755 | __u32 reserved; |
742 | }; | 756 | }; |
743 | 757 | ||
758 | #define DRM_CAP_DUMB_BUFFER 0x1 | ||
759 | #define DRM_CAP_VBLANK_HIGH_CRTC 0x2 | ||
760 | |||
744 | /* typedef area */ | 761 | /* typedef area */ |
745 | #ifndef __KERNEL__ | 762 | #ifndef __KERNEL__ |
746 | typedef struct drm_clip_rect drm_clip_rect_t; | 763 | typedef struct drm_clip_rect drm_clip_rect_t; |