[Intel-gfx] [PATCH] drm/i915: Set best_encoder field of connector_state also when disabling

Ander Conselvan De Oliveira conselvan2 at gmail.com
Wed Apr 1 01:17:32 PDT 2015


On Tue, 2015-03-31 at 15:26 +0200, Daniel Vetter wrote:
> On Tue, Mar 31, 2015 at 11:35:00AM +0300, Ander Conselvan de Oliveira wrote:
> > The best_encoder field of connector_state wasn't properly set when a
> > connector was being disabled, leading to an incosistent atomic state.
> > 
> > Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
> 
> How does this typically blow up, i.e. commit message is a bit too terse
> imo. Still, applied to dinf for now.

Yeah, I should have been more verbose on this one.

For now, this doesn't cause anything to blow up, because everywhere
we're using connector_state->best_encoder there is a check for
connector_state->crtc which is properly initialized. I reached the issue
while testing some patches I haven't sent out yet, that remove the usage
of intel_connector->new_encoder from check_digital_port_conflicts(). In
that case, it would be possible to trigger the converted version of the
WARN in that function.

Ander

> Thanks, Daniel
> 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index a693129..307c43b 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -12009,6 +12009,7 @@ intel_modeset_stage_output_state(struct drm_device *dev,
> >  				connector->encoder = connector->new_encoder;
> >  		} else {
> >  			connector_state->crtc = NULL;
> > +			connector_state->best_encoder = NULL;
> >  		}
> >  	}
> >  	for_each_intel_crtc(dev, crtc) {
> > -- 
> > 2.1.0
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 




More information about the Intel-gfx mailing list