[Intel-gfx] [PATCH 7/8] drm/i915/gen9+: Program watermarks as a separate step during evasion
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Mon Oct 24 08:59:37 UTC 2016
Op 20-10-16 om 20:35 schreef Matt Roper:
> On Wed, Oct 12, 2016 at 03:28:20PM +0200, Maarten Lankhorst wrote:
>> Instead of running the watermark updates from the callbacks run
>> them from a separate hook atomic_evade_watermarks.
>>
>> This also gets rid of the global skl_results, which was required for
>> keeping track of the current atomic commit.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>> ---
>> drivers/gpu/drm/i915/i915_drv.h | 7 -------
>> drivers/gpu/drm/i915/intel_display.c | 36 +++++++++-------------------------
>> drivers/gpu/drm/i915/intel_drv.h | 7 -------
>> drivers/gpu/drm/i915/intel_pm.c | 38 ++++++++++++++++++------------------
>> drivers/gpu/drm/i915/intel_sprite.c | 18 -----------------
>> 5 files changed, 28 insertions(+), 78 deletions(-)
>>
> ...
>> @@ -14436,8 +14413,13 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state)
>> intel_check_cpu_fifo_underruns(dev_priv);
>> intel_check_pch_fifo_underruns(dev_priv);
>>
>> - if (!crtc->state->active)
>> - intel_update_watermarks(crtc);
>> + if (!crtc->state->active) {
>> + if (dev_priv->display.initial_watermarks)
>> + dev_priv->display.initial_watermarks(intel_state,
>> + to_intel_crtc_state(crtc->state));
>> + else
>> + intel_update_watermarks(crtc);
>> + }
>> }
> This will change the behavior on ILK-style platforms won't it?
> Previously the intel_update_watermarks here was a noop on those
> platforms, but now we're calling initial_watermarks after the CRTC is
> disabled there (note that there's also a call to it in pre_plane_update
> that we purposely skip when doing any kind of modeset).
Yeah, it could be better to change it to if (HAS_DDI(dev_priv)), that way it's not going to matter..
More information about the Intel-gfx
mailing list