It is fine for displays without audio functionality to not implement
CEA v3 extension in their EDID. Do not return an error in that case,
instead return 0 as if there was a CEA v3 extension with no audio or
speaker block.

This fixes the second half of bug fdo#107825:
https://bugs.freedesktop.org/show_bug.cgi?id=107825

Signed-off-by: Jean Delvare <jdelv...@suse.de>
Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
Cc: Maxime Ripard <maxime.rip...@bootlin.com>
Cc: Sean Paul <s...@poorly.run>
Cc: David Airlie <airl...@linux.ie>
Cc: Daniel Vetter <dan...@ffwll.ch>
---
Already sent on: 2019-09-04

Changes since v1:
 * Treat CEA extension version < 3 as non-error too (suggested by Ville
   Syrjälä)

 drivers/gpu/drm/drm_edid.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- linux-5.4-rc7.orig/drivers/gpu/drm/drm_edid.c       2019-11-15 
12:09:03.186725414 +0100
+++ linux-5.4-rc7/drivers/gpu/drm/drm_edid.c    2019-11-15 14:21:41.676073451 
+0100
@@ -4186,12 +4186,12 @@ int drm_edid_to_sad(struct edid *edid, s
        cea = drm_find_cea_extension(edid);
        if (!cea) {
                DRM_DEBUG_KMS("SAD: no CEA Extension found\n");
-               return -ENOENT;
+               return 0;
        }
 
        if (cea_revision(cea) < 3) {
                DRM_DEBUG_KMS("SAD: wrong CEA revision\n");
-               return -ENOTSUPP;
+               return 0;
        }
 
        if (cea_db_offsets(cea, &start, &end)) {
@@ -4247,12 +4247,12 @@ int drm_edid_to_speaker_allocation(struc
        cea = drm_find_cea_extension(edid);
        if (!cea) {
                DRM_DEBUG_KMS("SAD: no CEA Extension found\n");
-               return -ENOENT;
+               return 0;
        }
 
        if (cea_revision(cea) < 3) {
                DRM_DEBUG_KMS("SAD: wrong CEA revision\n");
-               return -ENOTSUPP;
+               return 0;
        }
 
        if (cea_db_offsets(cea, &start, &end)) {


-- 
Jean Delvare
SUSE L3 Support
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to