Previous revision is here: http://lists.freedesktop.org/archives/intel-gfx/2015-August/074161.html Key changes: - Lots of bugfixes from review comments by Ander and Ville (and a couple I found on my own) - We now keep the active watermarks in intel_crtc, but pre-calculate to future watermarks in intel_crtc_state. The values stored in the state have been renamed to 'optimal' and 'intermediate' for clarity. - The interface exposed by platforms that can do atomic updates has changed slightly. .initial_watermarks() and .optimize_watermarks() are the two routines called by the device-independent code to program the precomputed watermarks. These functions handle the locking, the copy of values from cstate->wm to intel_crtc->wm.active, and the actual programming (if needed). - Added the wm_mutex in preparation for async. A few patches from previous iterations have been left out of this series: - Async watermark optimization. I had this in an earlier series, but Maarten indicated that it would clash with his ongoing work. I'll bring back the async patch in the future once his work lands. - SKL/BXT version. I have some gen9 code that should plug into this framework (gen9 only requires one-step programming), but haven't had a chance to test it yet. I should be able to give it a spin on BXT hardware soon, so I'll wait until I've done that before reposting the gen9-specific followups. Also note that after some mailing list / IRC discussion, we've decided not to perform modesets in a two-step process that was being discussed as a potential prereq for this, so my experimental prereq patches to do that have been dropped. Matt Roper (13): drm/i915: Drop redundant watermark programming drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code (v2) drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM (v2) drm/i915: Determine I915_MAX_PLANES from plane enum drm/i915/skl: Simplify wm structures slightly (v2) drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v2) drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check drm/i915: Drop intel_update_sprite_watermarks drm/i915: Calculate pipe watermarks into CRTC state (v3) drm/i915: Calculate ILK-style watermarks during atomic check (v3) drm/i915: Don't set plane visible during HW readout if CRTC is off drm/i915: Calculate watermark configuration during atomic check (v2) drm/i915: Add two-stage ILK-style watermark programming (v4) Ville Syrjälä (1): drm/i915: Refactor ilk_update_wm (v3) drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/i915_drv.h | 41 +- drivers/gpu/drm/i915/intel_atomic.c | 2 + drivers/gpu/drm/i915/intel_display.c | 194 ++++++-- drivers/gpu/drm/i915/intel_drv.h | 79 +++- drivers/gpu/drm/i915/intel_pm.c | 849 ++++++++++++++++------------------- drivers/gpu/drm/i915/intel_sprite.c | 15 - 7 files changed, 637 insertions(+), 545 deletions(-) -- 2.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx