[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