drm/i915: Release temporary load-detect state upon switching

After we call drm_atomic_commit() on the load-detect state, we can free
our local reference. Upon restore, we only apply and free the previous state.

Fixes: 0853695c3b ("drm: Add reference counting to drm_atomic_state")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.10-rc1+
Link: http://patchwork.freedesktop.org/patch/msgid/20170119113749.2517-1-chris@chris-wilson.co.uk
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
This commit is contained in:
Chris Wilson 2017-01-19 11:37:49 +00:00
parent 481a6f7dcf
commit 7abbd11f34

View File

@ -11276,6 +11276,7 @@ bool intel_get_load_detect_pipe(struct drm_connector *connector,
} }
old->restore_state = restore_state; old->restore_state = restore_state;
drm_atomic_state_put(state);
/* let the connector get through one full cycle before testing */ /* let the connector get through one full cycle before testing */
intel_wait_for_vblank(dev_priv, intel_crtc->pipe); intel_wait_for_vblank(dev_priv, intel_crtc->pipe);