During review of the atomic watermark work, there was some discussion about how to best handle modeset sequences where the CRTC's active state goes enable->disable->enable. One of the suggestions from Ville was to break the modeset sequence into two atomic states by adding a new intermediate state that represents the CRTC's being modeset at the point they (and their planes) have been disabled. This would hopefully allow us to eliminate some of the special casing that exists in current modeset sequence (especially where we can't always trust the state->active values). I know there's been a bit of disagreement on IRC and mailing lists as to whether this is the best direction to go or not, so I figured it might be easier to discuss if I posted an actual implementation to look at. I'll post another iteration of the atomic watermark series tomorrow based on top of this code to look at as well, in case that helps us make a decision. Matt Roper (4): drm/i915: Roll intel_crtc->atomic into intel_crtc_state drm/atomic/helper: Allow duplication of in-flight states drm/i915: Calculate an intermediate atomic state for modesets (v2) drm/i915: Update modeset programming to use intermediate state (v2) drivers/gpu/drm/drm_atomic_helper.c | 12 +- drivers/gpu/drm/i915/intel_atomic.c | 158 +++++++++++++++++++++---- drivers/gpu/drm/i915/intel_atomic_plane.c | 36 +++--- drivers/gpu/drm/i915/intel_display.c | 190 +++++++++++++++++++----------- drivers/gpu/drm/i915/intel_drv.h | 56 +++++---- drivers/gpu/drm/omapdrm/omap_plane.c | 2 +- drivers/gpu/drm/rcar-du/rcar_du_plane.c | 2 +- drivers/gpu/drm/tegra/dc.c | 4 +- include/drm/drm_atomic_helper.h | 4 +- 9 files changed, 325 insertions(+), 139 deletions(-) -- 2.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx