[coreboot-gerrit] New patch to review for coreboot: b1186c6 edid: Support EDID 1.4.

Isaac Christensen (isaac.christensen@se-eng.com) gerrit at coreboot.org
Mon Sep 29 21:51:44 CEST 2014


Isaac Christensen (isaac.christensen at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6998

-gerrit

commit b1186c60aaa0314436f276654ce47281f1ebc41f
Author: Hung-Te Lin <hungte at chromium.org>
Date:   Thu Apr 3 21:13:11 2014 +0800

    edid: Support EDID 1.4.
    
    EDID v1.4 has changed some fields (0xfc - Monitor Name, 0xfd - Monitor Range
    Limits) to optional so we need to list the requirements explicitly instead of
    sharing v1.3 requirements.
    
    Change-Id: I5c7ca06893bd20e178bc35164c4ca639c881e00b
    Signed-off-by: Hung-Te Lin <hungte at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/193013
    (cherry picked from commit 2ad598b8bd620117e70e13347365d74a7c6b87ef)
    Signed-off-by: Isaac Christensen <isaac.christensen at se-eng.com>
---
 src/lib/edid.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/lib/edid.c b/src/lib/edid.c
index b171c8b..6efe6a9 100644
--- a/src/lib/edid.c
+++ b/src/lib/edid.c
@@ -1251,7 +1251,24 @@ int decode_edid(unsigned char *edid, int size, struct edid *out)
 	 * }
 	 */
 
-	if (claims_one_point_three) {
+	if (claims_one_point_four) {
+		if (nonconformant_digital_display ||
+		    !has_valid_string_termination ||
+		    !has_valid_descriptor_pad ||
+		    !has_preferred_timing)
+			conformant = 0;
+		if (!conformant)
+			printk(BIOS_ERR, "EDID block does NOT conform to EDID 1.4!\n");
+		if (nonconformant_digital_display)
+			printk(BIOS_ERR, "\tDigital display field contains garbage: %x\n",
+			       nonconformant_digital_display);
+		if (!has_valid_string_termination)
+			printk(BIOS_ERR, "\tDetailed block string not properly terminated\n");
+		if (!has_valid_descriptor_pad)
+			printk(BIOS_ERR, "\tInvalid descriptor block padding\n");
+		if (!has_preferred_timing)
+			printk(BIOS_ERR, "\tMissing preferred timing\n");
+	} else if (claims_one_point_three) {
 		if (nonconformant_digital_display ||
 		    !has_valid_string_termination ||
 		    !has_valid_descriptor_pad ||



More information about the coreboot-gerrit mailing list