summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2013-06-24 13:07:54 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2013-06-27 10:13:47 +0200
commit7a65321722ce14ced68576e0f413a77f865cf846 (patch)
treea9f462b793d9698530fd787913e88f602bc93dc6
parent33f1dc43064cd524e5e03230c80570ac212c2d7c (diff)
live source headers
-rw-r--r--include/drm/drm.h4
-rw-r--r--include/drm/drm_mode.h33
2 files changed, 37 insertions, 0 deletions
diff --git a/include/drm/drm.h b/include/drm/drm.h
index a847689f..03cb863a 100644
--- a/include/drm/drm.h
+++ b/include/drm/drm.h
@@ -734,6 +734,10 @@ struct drm_prime_handle {
#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_IOCTL_MODE_GETSOURCERESOURCES DRM_IOWR(0xBB, struct drm_mode_get_live_source_res)
+#define DRM_IOCTL_MODE_GETSOURCE DRM_IOWR(0xBC, struct drm_mode_get_live_source)
+#define DRM_IOCTL_MODE_SETSOURCE DRM_IOWR(0xBD, struct drm_mode_set_live_source)
+
/**
* Device specific ioctls should only be in their respective headers
* The device specific ioctl range is from 0x40 to 0x99.
diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h
index 62ba997f..6ff9aed3 100644
--- a/include/drm/drm_mode.h
+++ b/include/drm/drm_mode.h
@@ -31,6 +31,7 @@
#define DRM_CONNECTOR_NAME_LEN 32
#define DRM_DISPLAY_MODE_LEN 32
#define DRM_PROP_NAME_LEN 32
+#define DRM_SOURCE_NAME_LEN 32
#define DRM_MODE_TYPE_BUILTIN (1<<0)
#define DRM_MODE_TYPE_CLOCK_C ((1<<1) | DRM_MODE_TYPE_BUILTIN)
@@ -157,6 +158,37 @@ struct drm_mode_get_plane_res {
__u32 count_planes;
};
+struct drm_mode_set_live_source {
+ __u32 source_id;
+
+ __u32 plane_id;
+
+ __u32 width;
+ __u32 height;
+ __u32 pixel_format;
+};
+
+struct drm_mode_get_live_source {
+ __u32 source_id;
+ char name[DRM_SOURCE_NAME_LEN];
+
+ __u32 plane_id;
+
+ __u32 possible_planes;
+
+ __u32 count_format_types;
+ __u64 format_type_ptr;
+
+ __u32 width;
+ __u32 height;
+ __u32 pixel_format;
+};
+
+struct drm_mode_get_live_source_res {
+ __u64 source_id_ptr;
+ __u32 count_sources;
+};
+
#define DRM_MODE_ENCODER_NONE 0
#define DRM_MODE_ENCODER_DAC 1
#define DRM_MODE_ENCODER_TMDS 2
@@ -259,6 +291,7 @@ struct drm_mode_connector_set_property {
#define DRM_MODE_OBJECT_FB 0xfbfbfbfb
#define DRM_MODE_OBJECT_BLOB 0xbbbbbbbb
#define DRM_MODE_OBJECT_PLANE 0xeeeeeeee
+#define DRM_MODE_OBJECT_LIVE_SOURCE 0xe1e1e1e1
struct drm_mode_obj_get_properties {
__u64 props_ptr;