Commit 8863dc7f authored by Daniel Vetter's avatar Daniel Vetter

drm/i915: Correctly refcount connectors in hw state readou

This was forgotten when adding the the refcounting to
drm_connector_state.

v2: Don't forget to unreference existing connectors. This isn't
relevant on driver load, but this code also runs on resume, and there
we already have an atomic state. Spotted by Chris Wilson.

Cc: Gabriel Feceoru <gabriel.feceoru@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Marius Vlad <marius.c.vlad@intel.com>
Cc: Dave Airlie <airlied@redhat.com>
Fixes: d2307dea ("drm/atomic: use connector references (v3)")
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462541943-19620-1-git-send-email-daniel.vetter@ffwll.ch
parent 83127f67
...@@ -12032,11 +12032,16 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev) ...@@ -12032,11 +12032,16 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev)
struct intel_connector *connector; struct intel_connector *connector;
for_each_intel_connector(dev, connector) { for_each_intel_connector(dev, connector) {
if (connector->base.state->crtc)
drm_connector_unreference(&connector->base);
if (connector->base.encoder) { if (connector->base.encoder) {
connector->base.state->best_encoder = connector->base.state->best_encoder =
connector->base.encoder; connector->base.encoder;
connector->base.state->crtc = connector->base.state->crtc =
connector->base.encoder->crtc; connector->base.encoder->crtc;
drm_connector_reference(&connector->base);
} else { } else {
connector->base.state->best_encoder = NULL; connector->base.state->best_encoder = NULL;
connector->base.state->crtc = NULL; connector->base.state->crtc = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment