On Fri, Jan 24, 2020 at 3:02 PM Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Let's introduce is_detailed_timing_descritor() as the opposite > counterpart of is_display_descriptor(). > > Cc: Allen Chen <allen.chen@xxxxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/drm_edid.c | 42 ++++++++++++++++++++++---------------- > 1 file changed, 24 insertions(+), 18 deletions(-) > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > index 96ae1fde4ce2..d6bce58b27ac 100644 > --- a/drivers/gpu/drm/drm_edid.c > +++ b/drivers/gpu/drm/drm_edid.c > @@ -2202,6 +2202,11 @@ static bool is_display_descriptor(const u8 d[18], u8 tag) > d[2] == 0x00 && d[3] == tag; > } > > +static bool is_detailed_timing_descriptor(const u8 d[18]) > +{ > + return d[0] != 0x00 || d[1] != 0x00; > +} > + > typedef void detailed_cb(struct detailed_timing *timing, void *closure); > > static void > @@ -3101,27 +3106,28 @@ do_detailed_mode(struct detailed_timing *timing, void *c) > struct detailed_mode_closure *closure = c; > struct drm_display_mode *newmode; > > - if (timing->pixel_clock) { > - newmode = drm_mode_detailed(closure->connector->dev, > - closure->edid, timing, > - closure->quirks); > - if (!newmode) > - return; > + if (!is_detailed_timing_descriptor((const u8 *)timing)) > + return; > + > + newmode = drm_mode_detailed(closure->connector->dev, > + closure->edid, timing, > + closure->quirks); > + if (!newmode) > + return; > > - if (closure->preferred) > - newmode->type |= DRM_MODE_TYPE_PREFERRED; > + if (closure->preferred) > + newmode->type |= DRM_MODE_TYPE_PREFERRED; > > - /* > - * Detailed modes are limited to 10kHz pixel clock resolution, > - * so fix up anything that looks like CEA/HDMI mode, but the clock > - * is just slightly off. > - */ > - fixup_detailed_cea_mode_clock(newmode); > + /* > + * Detailed modes are limited to 10kHz pixel clock resolution, > + * so fix up anything that looks like CEA/HDMI mode, but the clock > + * is just slightly off. > + */ > + fixup_detailed_cea_mode_clock(newmode); > > - drm_mode_probed_add(closure->connector, newmode); > - closure->modes++; > - closure->preferred = false; > - } > + drm_mode_probed_add(closure->connector, newmode); > + closure->modes++; > + closure->preferred = false; > } > > /* > -- > 2.24.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx