It adds new enumeration definitions for VSC SDP Payload for Pixel
Encoding/Colorimetry Format.
And it adds a new drm data structure for DP VSC SDP.

enum dp_colorspace and enum dp_colorimetry correspond "Pixel Encoding and
Colorimetry Formats". enum dp_dynamic_range corresponds "Dynamic Range".
And enum dp_content_type corresponds "Content Type"
All of them are based on DP 1.4 spec [Table 2-117: VSC SDP Payload for
DB16 through DB18].

v3: Add a new drm data structure for DP VSC SDP

Signed-off-by: Gwan-gyeong Mun <gwan-gyeong....@intel.com>
---
 include/drm/drm_dp_helper.h | 57 +++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 262faf9e5e94..c098727681fa 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1209,6 +1209,63 @@ struct dp_sdp {
 #define EDP_VSC_PSR_UPDATE_RFB         (1<<1)
 #define EDP_VSC_PSR_CRC_VALUES_VALID   (1<<2)
 
+/* Based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through DB18] */
+enum dp_colorspace {
+       DP_COLORSPACE_RGB = 0,
+       DP_COLORSPACE_YUV444 = 0x1,
+       DP_COLORSPACE_YUV422 = 0x2,
+       DP_COLORSPACE_YUV420 = 0x3,
+       DP_COLORSPACE_Y_ONLY = 0x4,
+       DP_COLORSPACE_RAW = 0x5,
+       DP_COLORSPACE_RESERVED = 0x6,
+};
+
+/**
+ * Based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through DB18]
+ * and a name of enum member followes DRM_MODE_COLORIMETRY definition.
+ */
+enum dp_colorimetry {
+       DP_COLORIMETRY_DEFAULT = 0, /* sRGB (IEC 61966-2-1) / ITU-R BT.601 */
+       DP_COLORIMETRY_RGB_WIDE_FIXED = 0x1,
+       DP_COLORIMETRY_BT709_YCC = 0x1,
+       DP_COLORIMETRY_RGB_WIDE_FLOAT = 0x2,
+       DP_COLORIMETRY_XVYCC_601 = 0x2,
+       DP_COLORIMETRY_OPRGB = 0x3,
+       DP_COLORIMETRY_XVYCC_709 = 0x3,
+       DP_COLORIMETRY_DCI_P3_RGB = 0x4,
+       DP_COLORIMETRY_SYCC_601 = 0x4,
+       DP_COLORIMETRY_RGB_CUSTOM = 0x5,
+       DP_COLORIMETRY_OPYCC_601 = 0x5,
+       DP_COLORIMETRY_BT2020_RGB = 0x6,
+       DP_COLORIMETRY_BT2020_CYCC = 0x6,
+       DP_COLORIMETRY_BT2020_YCC = 0x7,
+};
+
+enum dp_dynamic_range {
+       DP_DYNAMIC_RANGE_VESA = 0,
+       DP_DYNAMIC_RANGE_CTA = 1,
+};
+
+enum dp_content_type {
+       DP_CONTENT_TYPE_NOT_DEFINED = 0x00,
+       DP_CONTENT_TYPE_GRAPHICS = 0x01,
+       DP_CONTENT_TYPE_PHOTO = 0x02,
+       DP_CONTENT_TYPE_VIDEO = 0x03,
+       DP_CONTENT_TYPE_GAME = 0x04,
+};
+
+/* DRM DP VSC SDP as per DP 1.4 spec */
+struct drm_dp_vsc_sdp {
+       unsigned char sdp_type; /* Secondary-data Packet Type */
+       unsigned char revision; /* Revision Number */
+       unsigned char length; /* Number of Valid Data Bytes */
+       enum dp_colorspace colorspace;
+       enum dp_colorimetry colorimetry;
+       int bpc; /* bit per color */
+       enum dp_dynamic_range dynamic_range;
+       enum dp_content_type content_type;
+};
+
 int drm_dp_psr_setup_time(const u8 psr_cap[EDP_PSR_RECEIVER_CAP_SIZE]);
 
 static inline int
-- 
2.24.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to