drm/i915: Set best_encoder field of connector_state also when disabling

The best_encoder field of connector_state wasn't properly set when a
connector was being disabled, leading to an incosistent atomic state.

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.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
[danvet: Add commit message augmentation Ander supplied.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Ander Conselvan de Oliveira 2015-03-31 11:35:00 +03:00 committed by Daniel Vetter
parent 88ac7939d2
commit f61cccf3e9

View File

@ -12100,6 +12100,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) {