On Tue, Feb 18, Ville Syrjälä wrote: >On Tue, Feb 18, 2020 at 01:41:39AM +0800, Lee Shawn C wrote: >> Test case HF1-13 for HDMI 2.0 compliance would ask DUT to downgrade >> output resolution to 720x480 or 720x576 (lower than 3.4Gbps). >> And check scrambling feature was disabled as well. >> >> But QD980 report it can support low rate scrambling. The vendor >> specific data block byte[6] was 0x88. If driver enabled scrambling >> rely on this info. Then HF1-13 would not get pass because DUT have to >> disable scrambling to run this case. > >Sounds like a broken test to me. Yes! We will try to contact the vendor (Teledyne LeCroy) to analyze. Like what we mention the patch title. This is just a temporary workaround to pass this case. Best regards, Shawn > >> >> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> >> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> >> Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> >> Cc: Cooper Chiou <cooper.chiou@xxxxxxxxx> >> Signed-off-by: Lee Shawn C <shawn.c.lee@xxxxxxxxx> >> --- >> drivers/gpu/drm/drm_edid.c | 13 ++++++++++--- >> 1 file changed, 10 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c >> index 99769d6c9f84..0b4badc20c35 100644 >> --- a/drivers/gpu/drm/drm_edid.c >> +++ b/drivers/gpu/drm/drm_edid.c >> @@ -85,6 +85,8 @@ >> #define EDID_QUIRK_FORCE_10BPC (1 << 11) >> /* Non desktop display (i.e. HMD) */ >> #define EDID_QUIRK_NON_DESKTOP (1 << 12) >> +/* Do not enable low rates scrambling */ >> +#define EDID_QUIRK_DISABLE_LOW_RATE_SCRAMBLING (1 << 13) >> >> struct detailed_mode_closure { >> struct drm_connector *connector; >> @@ -214,6 +216,9 @@ static const struct edid_quirk { >> >> /* OSVR HDK and HDK2 VR Headsets */ >> { "SVR", 0x1019, EDID_QUIRK_NON_DESKTOP }, >> + >> + /* Quantumdata 980 test platform */ >> + { "QDI", 0x03D4, EDID_QUIRK_DISABLE_LOW_RATE_SCRAMBLING }, >> }; >> >> /* >> @@ -4710,10 +4715,11 @@ static void >> drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector, } >> >> static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector, >> - const u8 *hf_vsdb) >> + const u8 *hf_vsdb, const struct edid *edid) >> { >> struct drm_display_info *display = &connector->display_info; >> struct drm_hdmi_info *hdmi = &display->hdmi; >> + u32 quirks = edid_get_quirks(edid); >> >> display->has_hdmi_infoframe = true; >> >> @@ -4747,7 +4753,8 @@ static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector, >> scdc->scrambling.supported = true; >> >> /* Few sinks support scrambling for clocks < 340M */ >> - if ((hf_vsdb[6] & 0x8)) >> + if ((hf_vsdb[6] & 0x8) && >> + !(quirks & EDID_QUIRK_DISABLE_LOW_RATE_SCRAMBLING)) >> scdc->scrambling.low_rates = true; >> } >> } >> @@ -4870,7 +4877,7 @@ static void drm_parse_cea_ext(struct drm_connector *connector, >> if (cea_db_is_hdmi_vsdb(db)) >> drm_parse_hdmi_vsdb_video(connector, db); >> if (cea_db_is_hdmi_forum_vsdb(db)) >> - drm_parse_hdmi_forum_vsdb(connector, db); >> + drm_parse_hdmi_forum_vsdb(connector, db, edid); >> if (cea_db_is_y420cmdb(db)) >> drm_parse_y420cmdb_bitmap(connector, db); >> if (cea_db_is_vcdb(db)) >> -- >> 2.17.1 > >-- >Ville Syrjälä >Intel > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel