From: Simon Ser <simon.ser@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t v2 5/6] lib/igt_edid: add support for Short Video Descriptors
Date: Wed, 3 Jul 2019 15:02:25 +0300 [thread overview]
Message-ID: <20190703120226.24693-5-simon.ser@intel.com> (raw)
In-Reply-To: <20190703120226.24693-1-simon.ser@intel.com>
Short Video Descriptors (SVDs, not to be confused with Vendor-Specific Data
blocks) describe CEA video formats supported by the monitor.
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
lib/igt_edid.c | 8 ++++++++
lib/igt_edid.h | 6 ++++++
2 files changed, 14 insertions(+)
diff --git a/lib/igt_edid.c b/lib/igt_edid.c
index d1aebf32c456..1a59edb63546 100644
--- a/lib/igt_edid.c
+++ b/lib/igt_edid.c
@@ -364,6 +364,14 @@ size_t edid_cea_data_block_set_sad(struct edid_cea_data_block *block,
return sizeof(struct edid_cea_data_block) + sads_size;
}
+size_t edid_cea_data_block_set_svd(struct edid_cea_data_block *block,
+ const uint8_t *svds, size_t svds_len)
+{
+ edid_cea_data_block_init(block, EDID_CEA_DATA_VIDEO, svds_len);
+ memcpy(block->data.svds, svds, svds_len);
+ return sizeof(struct edid_cea_data_block) + svds_len;
+}
+
size_t edid_cea_data_block_set_vsdb(struct edid_cea_data_block *block,
const struct cea_vsdb *vsdb, size_t vsdb_size)
{
diff --git a/lib/igt_edid.h b/lib/igt_edid.h
index cbd77ab63f86..eb9096869207 100644
--- a/lib/igt_edid.h
+++ b/lib/igt_edid.h
@@ -191,6 +191,9 @@ struct cea_sad {
uint8_t bitrate;
} __attribute__((packed));
+/* Indicates that a Short Video Descriptor is native */
+#define CEA_SVD_NATIVE (1 << 7)
+
enum hdmi_vsdb_flags1 {
HDMI_VSDB_DVI_DUAL = 1 << 0,
HDMI_VSDB_DC_Y444 = 1 << 3, /* supports YCbCr 4:4:4 */
@@ -264,6 +267,7 @@ struct edid_cea_data_block {
uint8_t type_len; /* type is from enum edid_cea_data_type */
union {
struct cea_sad sads[0];
+ uint8_t svds[0]; /* Short Video Descriptors */
struct cea_vsdb vsdbs[0];
struct cea_speaker_alloc speakers[0];
} data;
@@ -354,6 +358,8 @@ void edid_ext_update_cea_checksum(struct edid_ext *ext);
const struct cea_vsdb *cea_vsdb_get_hdmi_default(size_t *size);
size_t edid_cea_data_block_set_sad(struct edid_cea_data_block *block,
const struct cea_sad *sads, size_t sads_len);
+size_t edid_cea_data_block_set_svd(struct edid_cea_data_block *block,
+ const uint8_t *svds, size_t svds_len);
size_t edid_cea_data_block_set_vsdb(struct edid_cea_data_block *block,
const struct cea_vsdb *vsdb, size_t vsdb_size);
size_t edid_cea_data_block_set_hdmi_vsdb(struct edid_cea_data_block *block,
--
2.22.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2019-07-03 12:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-03 12:02 [igt-dev] [PATCH i-g-t v2 1/6] lib/igt_kms: remove length parameter from kmstest_force_edid Simon Ser
2019-07-03 12:02 ` [igt-dev] [PATCH i-g-t v2 2/6] lib/igt_edid: s/vsd/vsdb/ Simon Ser
2019-07-03 12:57 ` Ville Syrjälä
2019-07-03 12:02 ` [igt-dev] [PATCH i-g-t v2 3/6] lib/igt_edid: add hdmi_vsdb Simon Ser
2019-07-03 12:02 ` [igt-dev] [PATCH i-g-t v2 4/6] lib/igt_edid: add support for native DTDs in CEA extension blocks Simon Ser
2019-07-03 12:02 ` Simon Ser [this message]
2019-07-03 12:02 ` [igt-dev] [PATCH i-g-t v2 6/6] lib/igt_kms: use igt_edid to generate a 4K EDID Simon Ser
2019-07-03 17:18 ` Ville Syrjälä
2019-07-04 7:16 ` Ser, Simon
2019-07-03 13:08 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,v2,1/6] lib/igt_kms: remove length parameter from kmstest_force_edid Patchwork
2019-07-04 7:13 ` Ser, Simon
2019-07-04 7:35 ` [igt-dev] ✗ GitLab.Pipeline: warning for series starting with [i-g-t,v2,1/6] lib/igt_kms: remove length parameter from kmstest_force_edid (rev2) Patchwork
2019-07-04 8:26 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2019-07-05 8:40 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190703120226.24693-5-simon.ser@intel.com \
--to=simon.ser@intel.com \
--cc=igt-dev@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox