diff mbox series

[v2] edid-decode: Cannot support NonMixed MS without MS

Message ID 20240605103512.568660-1-sebastian.wick@redhat.com
State New
Headers show
Series [v2] edid-decode: Cannot support NonMixed MS without MS | expand

Commit Message

Sebastian Wick June 5, 2024, 10:35 a.m. UTC
When `Max Stream Count` is zero, the sink does not support multistream
and thus cannot support NonMixed MS.

An EDID with Max Stream Count = 0 and Non Mixed MS = 1 can be found in
linuxhw/EDID ./Digital/TCL/TCL5655/1723FF2DC6D1 at commit cff7fe4d44.

v2:
 * Log a failure instead of silently ignoring Non Mixed MS

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
---
 parse-cta-block.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git ./parse-cta-block.cpp ../parse-cta-block.cpp
index 4d2afc6..e976de5 100644
--- ./parse-cta-block.cpp
+++ ../parse-cta-block.cpp
@@ -2498,10 +2498,13 @@  static void cta_hdmi_audio_block(const unsigned char *x, unsigned length)
 		fail("Empty Data Block with length %u.\n", length);
 		return;
 	}
-	if (x[0] & 3)
+	if (x[0] & 3) {
 		printf("    Max Stream Count: %u\n", (x[0] & 3) + 1);
-	if (x[0] & 4)
-		printf("    Supports MS NonMixed\n");
+		if (x[0] & 4)
+			printf("    Supports MS NonMixed\n");
+	} else if (x[0] & 4) {
+		fail("MS NonMixed support indicated but Max Stream Count == 0.\n");
+	}
 
 	num_descs = x[1] & 7;
 	if (num_descs == 0)