41#define GUD_DISPLAY_MAGIC 0x1d50614d
44#define GUD_DISPLAY_FLAG_STATUS_ON_SET BIT(0)
45#define GUD_DISPLAY_FLAG_FULL_UPDATE BIT(1)
47#define GUD_COMPRESSION_LZ4 BIT(0)
92#define GUD_DISPLAY_MODE_FLAG_PHSYNC BIT(0)
93#define GUD_DISPLAY_MODE_FLAG_NHSYNC BIT(1)
94#define GUD_DISPLAY_MODE_FLAG_PVSYNC BIT(2)
95#define GUD_DISPLAY_MODE_FLAG_NVSYNC BIT(3)
96#define GUD_DISPLAY_MODE_FLAG_INTERLACE BIT(4)
97#define GUD_DISPLAY_MODE_FLAG_DBLSCAN BIT(5)
98#define GUD_DISPLAY_MODE_FLAG_CSYNC BIT(6)
99#define GUD_DISPLAY_MODE_FLAG_PCSYNC BIT(7)
100#define GUD_DISPLAY_MODE_FLAG_NCSYNC BIT(8)
101#define GUD_DISPLAY_MODE_FLAG_HSKEW BIT(9)
103#define GUD_DISPLAY_MODE_FLAG_DBLCLK BIT(12)
104#define GUD_DISPLAY_MODE_FLAG_CLKDIV2 BIT(13)
105#define GUD_DISPLAY_MODE_FLAG_USER_MASK \
106 (GUD_DISPLAY_MODE_FLAG_PHSYNC | GUD_DISPLAY_MODE_FLAG_NHSYNC | \
107 GUD_DISPLAY_MODE_FLAG_PVSYNC | GUD_DISPLAY_MODE_FLAG_NVSYNC | \
108 GUD_DISPLAY_MODE_FLAG_INTERLACE | GUD_DISPLAY_MODE_FLAG_DBLSCAN | \
109 GUD_DISPLAY_MODE_FLAG_CSYNC | GUD_DISPLAY_MODE_FLAG_PCSYNC | \
110 GUD_DISPLAY_MODE_FLAG_NCSYNC | GUD_DISPLAY_MODE_FLAG_HSKEW | \
111 GUD_DISPLAY_MODE_FLAG_DBLCLK | GUD_DISPLAY_MODE_FLAG_CLKDIV2)
113#define GUD_DISPLAY_MODE_FLAG_PREFERRED BIT(10)
127#define GUD_CONNECTOR_TYPE_PANEL 0
128#define GUD_CONNECTOR_TYPE_VGA 1
129#define GUD_CONNECTOR_TYPE_COMPOSITE 2
130#define GUD_CONNECTOR_TYPE_SVIDEO 3
131#define GUD_CONNECTOR_TYPE_COMPONENT 4
132#define GUD_CONNECTOR_TYPE_DVI 5
133#define GUD_CONNECTOR_TYPE_DISPLAYPORT 6
134#define GUD_CONNECTOR_TYPE_HDMI 7
136#define GUD_CONNECTOR_FLAGS_POLL_STATUS BIT(0)
137#define GUD_CONNECTOR_FLAGS_INTERLACE BIT(1)
138#define GUD_CONNECTOR_FLAGS_DOUBLESCAN BIT(2)
184#define GUD_PROPERTY_TV_LEFT_MARGIN 1
185#define GUD_PROPERTY_TV_RIGHT_MARGIN 2
186#define GUD_PROPERTY_TV_TOP_MARGIN 3
187#define GUD_PROPERTY_TV_BOTTOM_MARGIN 4
188#define GUD_PROPERTY_TV_MODE 5
190#define GUD_PROPERTY_TV_BRIGHTNESS 6
192#define GUD_PROPERTY_TV_CONTRAST 7
194#define GUD_PROPERTY_TV_FLICKER_REDUCTION 8
196#define GUD_PROPERTY_TV_OVERSCAN 9
198#define GUD_PROPERTY_TV_SATURATION 10
200#define GUD_PROPERTY_TV_HUE 11
210#define GUD_PROPERTY_BACKLIGHT_BRIGHTNESS 12
220#define GUD_PROPERTY_ROTATION 50
221 #define GUD_ROTATION_0 BIT(0)
222 #define GUD_ROTATION_90 BIT(1)
223 #define GUD_ROTATION_180 BIT(2)
224 #define GUD_ROTATION_270 BIT(3)
225 #define GUD_ROTATION_REFLECT_X BIT(4)
226 #define GUD_ROTATION_REFLECT_Y BIT(5)
227 #define GUD_ROTATION_MASK (GUD_ROTATION_0 | GUD_ROTATION_90 | \
228 GUD_ROTATION_180 | GUD_ROTATION_270 | \
229 GUD_ROTATION_REFLECT_X | GUD_ROTATION_REFLECT_Y)
234#define GUD_REQ_GET_STATUS 0x00
236 #define GUD_STATUS_OK 0x00
237 #define GUD_STATUS_BUSY 0x01
238 #define GUD_STATUS_REQUEST_NOT_SUPPORTED 0x02
239 #define GUD_STATUS_PROTOCOL_ERROR 0x03
240 #define GUD_STATUS_INVALID_PARAMETER 0x04
241 #define GUD_STATUS_ERROR 0x05
244#define GUD_REQ_GET_DESCRIPTOR 0x01
247#define GUD_REQ_GET_FORMATS 0x40
248 #define GUD_FORMATS_MAX_NUM 32
249 #define GUD_PIXEL_FORMAT_R1 0x01
250 #define GUD_PIXEL_FORMAT_R8 0x08
251 #define GUD_PIXEL_FORMAT_XRGB1111 0x20
252 #define GUD_PIXEL_FORMAT_RGB332 0x30
253 #define GUD_PIXEL_FORMAT_RGB565 0x40
254 #define GUD_PIXEL_FORMAT_RGB888 0x50
255 #define GUD_PIXEL_FORMAT_XRGB8888 0x80
256 #define GUD_PIXEL_FORMAT_ARGB8888 0x81
262#define GUD_REQ_GET_PROPERTIES 0x41
263 #define GUD_PROPERTIES_MAX_NUM 32
268#define GUD_REQ_GET_CONNECTORS 0x50
269 #define GUD_CONNECTORS_MAX_NUM 32
275#define GUD_REQ_GET_CONNECTOR_PROPERTIES 0x51
276 #define GUD_CONNECTOR_PROPERTIES_MAX_NUM 32
283#define GUD_REQ_GET_CONNECTOR_TV_MODE_VALUES 0x52
284 #define GUD_CONNECTOR_TV_MODE_NAME_LEN 16
285 #define GUD_CONNECTOR_TV_MODE_MAX_NUM 16
288#define GUD_REQ_SET_CONNECTOR_FORCE_DETECT 0x53
297#define GUD_REQ_GET_CONNECTOR_STATUS 0x54
298 #define GUD_CONNECTOR_STATUS_DISCONNECTED 0x00
299 #define GUD_CONNECTOR_STATUS_CONNECTED 0x01
300 #define GUD_CONNECTOR_STATUS_UNKNOWN 0x02
301 #define GUD_CONNECTOR_STATUS_CONNECTED_MASK 0x03
302 #define GUD_CONNECTOR_STATUS_CHANGED BIT(7)
313#define GUD_REQ_GET_CONNECTOR_MODES 0x55
314 #define GUD_CONNECTOR_MAX_NUM_MODES 128
317#define GUD_REQ_GET_CONNECTOR_EDID 0x56
318 #define GUD_CONNECTOR_MAX_EDID_LEN 2048
321#define GUD_REQ_SET_BUFFER 0x60
324#define GUD_REQ_SET_STATE_CHECK 0x61
327#define GUD_REQ_SET_STATE_COMMIT 0x62
330#define GUD_REQ_SET_CONTROLLER_ENABLE 0x63
333#define GUD_REQ_SET_DISPLAY_ENABLE 0x64
uint8_t __u8
Definition drm.h:38
struct gud_display_descriptor_req __packed
uint16_t __le16
Definition kernel.h:33
uint64_t __le64
Definition kernel.h:35
uint32_t __le32
Definition kernel.h:34
__u8 connector_type
Definition gud.h:126
__le32 flags
Definition gud.h:135
__le32 flags
Definition gud.h:43
__u8 version
Definition gud.h:42
__le32 magic
Definition gud.h:40
__le32 min_width
Definition gud.h:49
__u8 compression
Definition gud.h:46
__le32 min_height
Definition gud.h:51
__le32 max_width
Definition gud.h:50
__le32 max_buffer_size
Definition gud.h:48
__le32 max_height
Definition gud.h:52
__le32 flags
Definition gud.h:91
__le32 clock
Definition gud.h:82
__le16 hdisplay
Definition gud.h:83
__le16 vsync_start
Definition gud.h:88
__le16 hsync_start
Definition gud.h:84
__le16 vdisplay
Definition gud.h:87
__le16 vsync_end
Definition gud.h:89
__le16 vtotal
Definition gud.h:90
__le16 hsync_end
Definition gud.h:85
__le16 htotal
Definition gud.h:86
__le64 val
Definition gud.h:62
__le16 prop
Definition gud.h:61
__le32 y
Definition gud.h:157
__le32 compressed_length
Definition gud.h:162
__le32 x
Definition gud.h:156
__le32 height
Definition gud.h:159
__le32 length
Definition gud.h:160
__u8 compression
Definition gud.h:161
__le32 width
Definition gud.h:158
__u8 connector
Definition gud.h:177
struct gud_property_req properties[]
Definition gud.h:178
struct gud_display_mode_req mode
Definition gud.h:175
__u8 format
Definition gud.h:176