diff options
author | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2015-03-31 11:35:00 +0300 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-04-01 14:14:58 +0200 |
commit | f61cccf3e9a4f7deae633b6c073a6e40ef8e86f3 (patch) | |
tree | d338888092c5503d3d3b8b4fd25b16510be16d05 /drivers/gpu/drm/i915/intel_display.c | |
parent | 88ac7939d2a6cb67e338e72cf6aaff2ae526b026 (diff) | |
download | lwn-f61cccf3e9a4f7deae633b6c073a6e40ef8e86f3.tar.gz lwn-f61cccf3e9a4f7deae633b6c073a6e40ef8e86f3.zip |
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>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index d3cdc12a6330..84f5b417ad3c 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -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) { |