From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Implement the missing w/a for back to back FBC disable + plane update on glk+. The scariest part of this is that we now start to use flip nuke so that we can avoid the w/a (as it would cost us one extra frame for every plane update). Hopefully my "can we flip nuke safely?" check is good enough. There's a bit of cleanup mixed in since there was all kinds of crap in my way. The state of the code is still not pretty but seemed to work well enough in my limited testing. Entire series availalbe here: git://github.com/vsyrjala/linux.git glk_fbc_wa Cc: Daniel Drake <drake@xxxxxxxxxxxx>, Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx>, Cc: Jian-Hong Pan <jian-hong@xxxxxxxxxxxx>, Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Ville Syrjälä (13): drm/i915/fbc: Disable fbc by default on all glk+ drm/i915/fbc: Nuke bogus single pipe fbc1 restriction drm/i915: Relocate intel_crtc_active() drm/i915/fbc: Remove the FBC_RT_BASE setup for ILK/SNB drm/i915/fbc: Precompute gen9 cfb stride w/a drm/i915/fbc: Track plane visibility drm/i915/fbc: Store fence_id direction in fbc cache/params drm/i915/fbc: Make fence_id optional for i965gm drm/i915/fbc: s/gen9 && !glk/gen9_bc || bxt/ drm/i915/fbc: Nuke fbc.enabled drm/i915/fbc: Start using flip nuke drm/i915/fbc: Wait for vblank after FBC disable on glk+ drm/i915/fbc: Enable fbc by default on glk+ once again drivers/gpu/drm/i915/display/intel_display.c | 25 +- drivers/gpu/drm/i915/display/intel_display.h | 1 - drivers/gpu/drm/i915/display/intel_fbc.c | 249 +++++++++---------- drivers/gpu/drm/i915/display/intel_fbc.h | 3 +- drivers/gpu/drm/i915/i915_drv.h | 14 +- drivers/gpu/drm/i915/intel_pm.c | 19 ++ 6 files changed, 150 insertions(+), 161 deletions(-) -- 2.23.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx