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 <[email protected]> --- 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
