From: Ville Syrjälä Date: Wed, 29 Apr 2020 10:10:32 +0000 (+0300) Subject: drm/i915/fbc: Reduce fbc1 compression interval to 1 second X-Git-Tag: v5.9-rc1~134^2~18^2~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=42ae1f88feacc8643bc56dcfa55e0722967e424f;p=thirdparty%2Flinux.git drm/i915/fbc: Reduce fbc1 compression interval to 1 second The default fbc1 compression interval we use is 500 frames. That translates to over 8 seconds typically. That's rather excessive so let's drop it to 1 second. The hardware will not attempt recompression unless at least one line has been modified, so a shorter compression interval should not cause extra bandwidth use in the purely idle scenario. Of course in the mostly idle case we are possibly going to recompress a bit more. Should really try to find some kind of sweet spot to minimize the energy usage... Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20200429101034.8208-11-ville.syrjala@linux.intel.com Reviewed-by: José Roberto de Souza --- diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c index 09b424611548f..69a0682ddb6a8 100644 --- a/drivers/gpu/drm/i915/display/intel_fbc.c +++ b/drivers/gpu/drm/i915/display/intel_fbc.c @@ -698,8 +698,8 @@ static void intel_fbc_update_state_cache(struct intel_crtc *crtc, cache->fb.stride = fb->pitches[0]; cache->fb.modifier = fb->modifier; - /* This value was pulled out of someone's hat */ - cache->interval = 500; + /* FBC1 compression interval: arbitrary choice of 1 second */ + cache->interval = drm_mode_vrefresh(&crtc_state->hw.adjusted_mode); cache->fence_y_offset = intel_plane_fence_y_offset(plane_state);