On Mon, Nov 12, 2018 at 06:59:55PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > The current code insists on picking a new TV mode when > switching between component and non-component cables. > That's super annoying. Let's just keep the current TV > mode unless the new cable type actually disagrees with it. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_tv.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > index 433f538261c1..32a8786fe0da 100644 > --- a/drivers/gpu/drm/i915/intel_tv.c > +++ b/drivers/gpu/drm/i915/intel_tv.c > @@ -1253,16 +1253,18 @@ static void intel_tv_find_better_format(struct drm_connector *connector) > const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state); > int i; > > - if ((intel_tv->type == DRM_MODE_CONNECTOR_Component) == > - tv_mode->component_only) > + /* Component supports everything so we can keep the current mode */ > + if (intel_tv->type == DRM_MODE_CONNECTOR_Component) > return; > > + /* If the current mode is fine don't change it */ > + if (!tv_mode->component_only) > + return; > > for (i = 0; i < ARRAY_SIZE(tv_modes); i++) { > - tv_mode = tv_modes + i; > + tv_mode = &tv_modes[i]; > > - if ((intel_tv->type == DRM_MODE_CONNECTOR_Component) == > - tv_mode->component_only) > + if (!tv_mode->component_only) > break; > } > > -- > 2.18.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel