forked from Minki/linux
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: d2307dea14
("drm/atomic: use connector references (v3)")
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462541943-19620-1-git-send-email-daniel.vetter@ffwll.ch
This commit is contained in:
parent
83127f67e4
commit
8863dc7f56
@ -12032,11 +12032,16 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev)
|
||||
struct intel_connector *connector;
|
||||
|
||||
for_each_intel_connector(dev, connector) {
|
||||
if (connector->base.state->crtc)
|
||||
drm_connector_unreference(&connector->base);
|
||||
|
||||
if (connector->base.encoder) {
|
||||
connector->base.state->best_encoder =
|
||||
connector->base.encoder;
|
||||
connector->base.state->crtc =
|
||||
connector->base.encoder->crtc;
|
||||
|
||||
drm_connector_reference(&connector->base);
|
||||
} else {
|
||||
connector->base.state->best_encoder = NULL;
|
||||
connector->base.state->crtc = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user