[Intel-gfx] [PATCH 00/13] drm/i915/fbc: Fix FBC for glk+

Ville Syrjala ville.syrjala at linux.intel.com
Tue Nov 26 17:08:58 UTC 2019


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

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 at endlessm.com>,
Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>,
Cc: Jian-Hong Pan <jian-hong at endlessm.com>,
Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>

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



More information about the Intel-gfx mailing list