[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