drm/atomic-helpers: Properly avoid full modeset dance
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 26 Mar 2015 21:18:40 +0000 (22:18 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 27 Mar 2015 13:45:31 +0000 (14:45 +0100)
commit4218a32f55fc71983e4c1c6e5b98b28db8226b3b
tree0f463cb777b0e4f7c50a5897376a8322ddd4dfc6
parent27798365a60eaa61d8d9010466ffd57368b98ba9
drm/atomic-helpers: Properly avoid full modeset dance

Legacy setCrtc has a nice fastpath for just updating the frontbuffer
when the output routing doesn't change. Which I of course tried to
keep working, except that I fumbled the job: The helpers correctly
compute ->mode_changed, CRTC updates get correctly skipped but
connector functions are called unconditionally.

Fix this.

v2: For the disable sided connector->state->crtc might be NULL.
Instead look at the old_connector_state->crtc, but still use the new
crtc state for that old crtc. Reported by Thierry.

Reported-and-Tested-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> (v1)
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
drivers/gpu/drm/drm_atomic_helper.c