[PATCH 1/2] drm: add a EDID_QUIRK_IGNORE_STEREO_FLAG quirk

From: Michał Szolc

Date: Thu Jul 23 2026 - 18:25:37 EST


This quirk is meant for screens with EDID tables that misrepresent
certain modes as stereo which causes them to be incorrectly ignored.

Signed-off-by: Michał Szolc <undefine@xxxxxxxxxxx>
---
drivers/gpu/drm/drm_edid.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index df3c25bac761..774530b081d2 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -96,6 +96,8 @@ enum drm_edid_internal_quirk {
EDID_QUIRK_NON_DESKTOP,
/* Cap the DSC target bitrate to 15bpp */
EDID_QUIRK_CAP_DSC_15BPP,
+ /* Ignore stereo flag of modes */
+ EDID_QUIRK_IGNORE_STEREO_FLAG,
};

#define MICROSOFT_IEEE_OUI 0xca125c
@@ -3538,7 +3540,8 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_connector *connecto
if (hactive < 64 || vactive < 64)
return NULL;

- if (pt->misc & DRM_EDID_PT_STEREO) {
+ if (pt->misc & DRM_EDID_PT_STEREO &&
+ !drm_edid_has_internal_quirk(connector, EDID_QUIRK_IGNORE_STEREO_FLAG)) {
drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Stereo mode not supported\n",
connector->base.id, connector->name);
return NULL;
--
2.55.0