Commit b5c24049 authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/displayid: add DisplayID v2.0 data blocks and primary use cases



DisplayID v2.0 changes the data block identifiers and product types (now
called primary use cases).

Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
Acked-by: default avatarMaxime Ripard <maxime@cerno.tech>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/5a5c7e4477782c174f494947e2a2ea618b2b1ef2.1630419362.git.jani.nikula@intel.com
parent 8571c765
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -26,6 +26,10 @@

struct edid;

/* DisplayID Structure versions */
#define DISPLAY_ID_STRUCTURE_VER_12		0x12
#define DISPLAY_ID_STRUCTURE_VER_20		0x20

/* DisplayID Structure v1r2 Data Blocks */
#define DATA_BLOCK_PRODUCT_ID			0x00
#define DATA_BLOCK_DISPLAY_PARAMETERS		0x01
@@ -48,6 +52,20 @@ struct edid;
#define DATA_BLOCK_VENDOR_SPECIFIC		0x7f
#define DATA_BLOCK_CTA				0x81

/* DisplayID Structure v2r0 Data Blocks */
#define DATA_BLOCK_2_PRODUCT_ID			0x20
#define DATA_BLOCK_2_DISPLAY_PARAMETERS		0x21
#define DATA_BLOCK_2_TYPE_7_DETAILED_TIMING	0x22
#define DATA_BLOCK_2_TYPE_8_ENUMERATED_TIMING	0x23
#define DATA_BLOCK_2_TYPE_9_FORMULA_TIMING	0x24
#define DATA_BLOCK_2_DYNAMIC_VIDEO_TIMING	0x25
#define DATA_BLOCK_2_DISPLAY_INTERFACE_FEATURES	0x26
#define DATA_BLOCK_2_STEREO_DISPLAY_INTERFACE	0x27
#define DATA_BLOCK_2_TILED_DISPLAY_TOPOLOGY	0x28
#define DATA_BLOCK_2_CONTAINER_ID		0x29
#define DATA_BLOCK_2_VENDOR_SPECIFIC		0x7e
#define DATA_BLOCK_2_CTA_DISPLAY_ID		0x81

/* DisplayID Structure v1r2 Product Type */
#define PRODUCT_TYPE_EXTENSION			0
#define PRODUCT_TYPE_TEST			1
@@ -57,6 +75,17 @@ struct edid;
#define PRODUCT_TYPE_REPEATER			5
#define PRODUCT_TYPE_DIRECT_DRIVE		6

/* DisplayID Structure v2r0 Display Product Primary Use Case (~Product Type) */
#define PRIMARY_USE_EXTENSION			0
#define PRIMARY_USE_TEST			1
#define PRIMARY_USE_GENERIC			2
#define PRIMARY_USE_TV				3
#define PRIMARY_USE_DESKTOP_PRODUCTIVITY	4
#define PRIMARY_USE_DESKTOP_GAMING		5
#define PRIMARY_USE_PRESENTATION		6
#define PRIMARY_USE_HEAD_MOUNTED_VR		7
#define PRIMARY_USE_HEAD_MOUNTED_AR		8

struct displayid_header {
	u8 rev;
	u8 bytes;