diff mbox series

[v2,2/6] drm/displayid: add DisplayID v2.0 data blocks and primary use cases

Message ID 5a5c7e4477782c174f494947e2a2ea618b2b1ef2.1630419362.git.jani.nikula@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/displayid: VESA vendor block and drm/i915 MSO use of it | expand

Commit Message

Jani Nikula Aug. 31, 2021, 2:17 p.m. UTC
DisplayID v2.0 changes the data block identifiers and product types (now
called primary use cases).

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/drm_displayid.h | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

Comments

Shankar, Uma Sept. 13, 2021, 5:33 a.m. UTC | #1
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Jani Nikula
> Sent: Tuesday, August 31, 2021 7:48 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: dri-devel@lists.freedesktop.org; ville.syrjala@linux.intel.com; Nikula, Jani
> <jani.nikula@intel.com>
> Subject: [Intel-gfx] [PATCH v2 2/6] 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).

Looks ok to me.
Reviewed-by: Uma Shankar <uma.shankar@intel.com>

> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  include/drm/drm_displayid.h | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/include/drm/drm_displayid.h b/include/drm/drm_displayid.h index
> 0ed9445b5482..79771091771a 100644
> --- a/include/drm/drm_displayid.h
> +++ b/include/drm/drm_displayid.h
> @@ -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;
> --
> 2.30.2
diff mbox series

Patch

diff --git a/include/drm/drm_displayid.h b/include/drm/drm_displayid.h
index 0ed9445b5482..79771091771a 100644
--- a/include/drm/drm_displayid.h
+++ b/include/drm/drm_displayid.h
@@ -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;