[PATCH 17/27] edid-decode: fix has_preferred_timing handling for 1.4

Hans Verkuil hverkuil at xs4all.nl
Thu Aug 31 11:41:10 UTC 2017


From: Hans Verkuil <hans.verkuil at cisco.com>

The meaning of the preferred timing bit changed in 1.4. In that case
there is always a preferred timing, but how it is interpreted depends
on this bit.

Signed-off-by: Hans Verkuil <hans.verkuil at cisco.com>
---
 edid-decode.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/edid-decode.c b/edid-decode.c
index c1503366..38cd72b6 100644
--- a/edid-decode.c
+++ b/edid-decode.c
@@ -2325,9 +2325,16 @@ int main(int argc, char **argv)
 	    memcmp(edid + 0x19, srgb_chromaticity, sizeof(srgb_chromaticity));
     }
     if (edid[0x18] & 0x02) {
-	printf("First detailed timing is preferred timing\n");
+	if (claims_one_point_four)
+		printf("First detailed timing includes the native pixel format and preferred refresh rate\n");
+	else
+		printf("First detailed timing is preferred timing\n");
+	has_preferred_timing = 1;
+    } else if (claims_one_point_four) {
+	/* 1.4 always has a preferred timing and this bit means something else. */
 	has_preferred_timing = 1;
     }
+
     if (edid[0x18] & 0x01) {
 	if (claims_one_point_four)
 	    printf("Display is continuous frequency\n");
-- 
2.14.1



More information about the xorg-devel mailing list