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. > > 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