[igt-dev] [PATCH i-g-t] lib/igt_edid: add docs

Simon Ser simon.ser at intel.com
Fri Jul 12 14:28:48 UTC 2019


Add a description of the library, and add misisng function docs.

Signed-off-by: Simon Ser <simon.ser at intel.com>
---
 lib/igt_edid.c | 40 ++++++++++++++++++++++++++++++++++++++++
 lib/igt_edid.h |  6 ++++++
 2 files changed, 46 insertions(+)

diff --git a/lib/igt_edid.c b/lib/igt_edid.c
index 1a59edb63546..af31d66f3a57 100644
--- a/lib/igt_edid.c
+++ b/lib/igt_edid.c
@@ -34,6 +34,21 @@
 #include "igt_core.h"
 #include "igt_edid.h"

+/**
+ * SECTION:igt_edid
+ * @short_description: EDID generation library
+ * @title: EDID
+ * @include: igt_edid.h
+ *
+ * This library contains helpers to generate custom EDIDs.
+
+ * The E-EDID specification is available at:
+ * https://glenwing.github.io/docs/VESA-EEDID-A2.pdf
+ *
+ * The EDID CEA extension is defined in CEA-861-D section 7. The HDMI VSDB is
+ * defined in the HDMI spec.
+ */
+
 static const char edid_header[] = {
 	0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00
 };
@@ -351,6 +366,10 @@ static void edid_cea_data_block_init(struct edid_cea_data_block *block,
 	block->type_len = type << 5 | size;
 }

+/**
+ * edid_cea_data_block_set_sad: initialize a CEA data block to contain Short
+ * Audio Descriptors
+ */
 size_t edid_cea_data_block_set_sad(struct edid_cea_data_block *block,
 				   const struct cea_sad *sads, size_t sads_len)
 {
@@ -364,6 +383,10 @@ size_t edid_cea_data_block_set_sad(struct edid_cea_data_block *block,
 	return sizeof(struct edid_cea_data_block) + sads_size;
 }

+/**
+ * edid_cea_data_block_set_svd: initialize a CEA data block to contain Short
+ * Video Descriptors
+ */
 size_t edid_cea_data_block_set_svd(struct edid_cea_data_block *block,
 				   const uint8_t *svds, size_t svds_len)
 {
@@ -372,6 +395,10 @@ size_t edid_cea_data_block_set_svd(struct edid_cea_data_block *block,
 	return sizeof(struct edid_cea_data_block) + svds_len;
 }

+/**
+ * edid_cea_data_block_set_vsdb: initialize a CEA data block to contain a
+ * Vendor Specific Data Block
+ */
 size_t edid_cea_data_block_set_vsdb(struct edid_cea_data_block *block,
 				    const struct cea_vsdb *vsdb, size_t vsdb_size)
 {
@@ -383,6 +410,10 @@ size_t edid_cea_data_block_set_vsdb(struct edid_cea_data_block *block,
 	return sizeof(struct edid_cea_data_block) + vsdb_size;
 }

+/**
+ * edid_cea_data_block_set_hdmi_vsdb: initialize a CEA data block to contain an
+ * HDMI VSDB
+ */
 size_t edid_cea_data_block_set_hdmi_vsdb(struct edid_cea_data_block *block,
 					 const struct hdmi_vsdb *hdmi,
 					 size_t hdmi_size)
@@ -399,6 +430,10 @@ size_t edid_cea_data_block_set_hdmi_vsdb(struct edid_cea_data_block *block,
 					    CEA_VSDB_HEADER_SIZE + hdmi_size);
 }

+/**
+ * edid_cea_data_block_set_speaker_alloc: initialize a CEA data block to
+ * contain a Speaker Allocation Data block
+ */
 size_t edid_cea_data_block_set_speaker_alloc(struct edid_cea_data_block *block,
 					     const struct cea_speaker_alloc *speakers)
 {
@@ -411,6 +446,11 @@ size_t edid_cea_data_block_set_speaker_alloc(struct edid_cea_data_block *block,
 	return sizeof(struct edid_cea_data_block) + size;
 }

+/**
+ * edid_ext_set_cea: initialize an EDID extension block to contain a CEA
+ * extension. CEA extensions contain a Data Block Collection (with multiple
+ * CEA data blocks) followed by multiple Detailed Timing Descriptors.
+ */
 void edid_ext_set_cea(struct edid_ext *ext, size_t data_blocks_size,
 		      uint8_t num_native_dtds, uint8_t flags)
 {
diff --git a/lib/igt_edid.h b/lib/igt_edid.h
index 2e3224e8015e..606541ac63b4 100644
--- a/lib/igt_edid.h
+++ b/lib/igt_edid.h
@@ -32,6 +32,9 @@

 #include <xf86drmMode.h>

+/**
+ * est_timings: set of established timings
+ */
 struct est_timings {
 	uint8_t t1;
 	uint8_t t2;
@@ -47,6 +50,9 @@ enum std_timing_aspect {
 	STD_TIMING_16_9 = 0b11,
 };

+/**
+ * std_timing: a standard timing
+ */
 struct std_timing {
 	uint8_t hsize;
 	uint8_t vfreq_aspect;
--
2.22.0



More information about the igt-dev mailing list