drm/i915/fbc: Allow FBC to recompress after a 3D workload on i85x/i865
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 2 Jul 2020 15:37:23 +0000 (18:37 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 3 Jul 2020 12:03:04 +0000 (15:03 +0300)
commit5cecf5070fd83796ee88189bdd60f9545dfb7d35
tree01db3c9c8e9e3a6b8862e9e83cefec37e9d02dc7
parentddf08d320de6f210adb4f17c8cb91b7543dd99db
drm/i915/fbc: Allow FBC to recompress after a 3D workload on i85x/i865

Normally i85x/i865 3D activity will block FBC until a 2D blit
occurs. I suppose this was meant to avoid recompression while
3D activity is still going on but the frame hasn't yet been
presented. Unfortunately that also means that a page flipped
3D workload will permanently block FBC even if it only renders
a single frame and then does nothing.

Since we are using software render tracking anyway we might as
well flip the chicken bit so that 3D does not block FBC. This
will avoid the permament FBC blockage in the aforemention use
case, but thanks to the software tracking the compressor will
not disturb 3D rendering activity.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200702153723.24327-5-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_pm.c