diff options
Diffstat (limited to 'include/uapi/drm/drm_mode.h')
| -rw-r--r-- | include/uapi/drm/drm_mode.h | 63 | 
1 files changed, 49 insertions, 14 deletions
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h index 550811712f7..def54f9e07c 100644 --- a/include/uapi/drm/drm_mode.h +++ b/include/uapi/drm/drm_mode.h @@ -44,20 +44,35 @@  /* Video mode flags */  /* bit compatible with the xorg definitions. */ -#define DRM_MODE_FLAG_PHSYNC	(1<<0) -#define DRM_MODE_FLAG_NHSYNC	(1<<1) -#define DRM_MODE_FLAG_PVSYNC	(1<<2) -#define DRM_MODE_FLAG_NVSYNC	(1<<3) -#define DRM_MODE_FLAG_INTERLACE	(1<<4) -#define DRM_MODE_FLAG_DBLSCAN	(1<<5) -#define DRM_MODE_FLAG_CSYNC	(1<<6) -#define DRM_MODE_FLAG_PCSYNC	(1<<7) -#define DRM_MODE_FLAG_NCSYNC	(1<<8) -#define DRM_MODE_FLAG_HSKEW	(1<<9) /* hskew provided */ -#define DRM_MODE_FLAG_BCAST	(1<<10) -#define DRM_MODE_FLAG_PIXMUX	(1<<11) -#define DRM_MODE_FLAG_DBLCLK	(1<<12) -#define DRM_MODE_FLAG_CLKDIV2	(1<<13) +#define DRM_MODE_FLAG_PHSYNC			(1<<0) +#define DRM_MODE_FLAG_NHSYNC			(1<<1) +#define DRM_MODE_FLAG_PVSYNC			(1<<2) +#define DRM_MODE_FLAG_NVSYNC			(1<<3) +#define DRM_MODE_FLAG_INTERLACE			(1<<4) +#define DRM_MODE_FLAG_DBLSCAN			(1<<5) +#define DRM_MODE_FLAG_CSYNC			(1<<6) +#define DRM_MODE_FLAG_PCSYNC			(1<<7) +#define DRM_MODE_FLAG_NCSYNC			(1<<8) +#define DRM_MODE_FLAG_HSKEW			(1<<9) /* hskew provided */ +#define DRM_MODE_FLAG_BCAST			(1<<10) +#define DRM_MODE_FLAG_PIXMUX			(1<<11) +#define DRM_MODE_FLAG_DBLCLK			(1<<12) +#define DRM_MODE_FLAG_CLKDIV2			(1<<13) + /* +  * When adding a new stereo mode don't forget to adjust DRM_MODE_FLAGS_3D_MAX +  * (define not exposed to user space). +  */ +#define DRM_MODE_FLAG_3D_MASK			(0x1f<<14) +#define  DRM_MODE_FLAG_3D_NONE			(0<<14) +#define  DRM_MODE_FLAG_3D_FRAME_PACKING		(1<<14) +#define  DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE	(2<<14) +#define  DRM_MODE_FLAG_3D_LINE_ALTERNATIVE	(3<<14) +#define  DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL	(4<<14) +#define  DRM_MODE_FLAG_3D_L_DEPTH		(5<<14) +#define  DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH	(6<<14) +#define  DRM_MODE_FLAG_3D_TOP_AND_BOTTOM	(7<<14) +#define  DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF	(8<<14) +  /* DPMS flags */  /* bit compatible with the xorg definitions. */ @@ -165,6 +180,8 @@ struct drm_mode_get_plane_res {  #define DRM_MODE_ENCODER_LVDS	3  #define DRM_MODE_ENCODER_TVDAC	4  #define DRM_MODE_ENCODER_VIRTUAL 5 +#define DRM_MODE_ENCODER_DSI	6 +#define DRM_MODE_ENCODER_DPMST	7  struct drm_mode_get_encoder {  	__u32 encoder_id; @@ -203,6 +220,7 @@ struct drm_mode_get_encoder {  #define DRM_MODE_CONNECTOR_TV		13  #define DRM_MODE_CONNECTOR_eDP		14  #define DRM_MODE_CONNECTOR_VIRTUAL      15 +#define DRM_MODE_CONNECTOR_DSI		16  struct drm_mode_get_connector { @@ -223,6 +241,8 @@ struct drm_mode_get_connector {  	__u32 connection;  	__u32 mm_width, mm_height; /**< HxW in millimeters */  	__u32 subpixel; + +	__u32 pad;  };  #define DRM_MODE_PROP_PENDING	(1<<0) @@ -232,6 +252,21 @@ struct drm_mode_get_connector {  #define DRM_MODE_PROP_BLOB	(1<<4)  #define DRM_MODE_PROP_BITMASK	(1<<5) /* bitmask of enumerated types */ +/* non-extended types: legacy bitmask, one bit per type: */ +#define DRM_MODE_PROP_LEGACY_TYPE  ( \ +		DRM_MODE_PROP_RANGE | \ +		DRM_MODE_PROP_ENUM | \ +		DRM_MODE_PROP_BLOB | \ +		DRM_MODE_PROP_BITMASK) + +/* extended-types: rather than continue to consume a bit per type, + * grab a chunk of the bits to use as integer type id. + */ +#define DRM_MODE_PROP_EXTENDED_TYPE	0x0000ffc0 +#define DRM_MODE_PROP_TYPE(n)		((n) << 6) +#define DRM_MODE_PROP_OBJECT		DRM_MODE_PROP_TYPE(1) +#define DRM_MODE_PROP_SIGNED_RANGE	DRM_MODE_PROP_TYPE(2) +  struct drm_mode_property_enum {  	__u64 value;  	char name[DRM_PROP_NAME_LEN];  | 
