[Intel-gfx] [PATCH 00/25] FBC crtc/fb locking + smaller fixes

Paulo Zanoni paulo.r.zanoni at intel.com
Tue Jan 19 05:35:33 PST 2016


Here's yet another patch series randomly modifying the FBC code. We
start by refactoring things in order to fix the locking problems, then
fix a few other smaller problems and apply some polishing.

Just to keep the tradition of the past 10 cover letters, I guess I
should say that this series is the last one and that we may consider
enabling FBC on HSW/BDW/SKL after it is merged :)

For SKL specifically, I tested this series on a two-weeks old version
of drm-intel-nightly since today's version is giving me a BUG() even
without my patches applied.


Paulo Zanoni (25):
  drm/i915/fbc: wait for a vblank instead of 50ms when enabling
  drm/i915/fbc: extract intel_fbc_can_activate()
  drm/i915/fbc: extract intel_fbc_can_enable()
  drm/i915/fbc: introduce struct intel_fbc_reg_params
  drm/i915/fbc: replace frequent dev_priv->fbc.x with fbc->x
  drm/i915/fbc: don't use the frontbuffer tracking subsystem for flips
  drm/i915/fbc: don't flush for operations on the wrong frontbuffer
  drm/i915/fbc: unconditionally update FBC during atomic commits
  drm/i915/fbc: introduce struct intel_fbc_state_cache
  drm/i915/fbc: split intel_fbc_update into pre and post update
  drm/i915/fbc: fix the FBC state checking code
  drm/i915/fbc: unexport intel_fbc_deactivate
  drm/i915/fbc: rename the FBC disable functions
  drm/i915/fbc: make sure we cancel the work function at fbc_disable
  drm/i915/fbc: rewrite the multiple_pipes_ok() code for locking
  drm/i915: simplify struct drm_device access at intel_atomic_check()
  drm/i915/fbc: choose the new FBC CRTC during atomic check
  drm/i915/fbc: move intel_fbc_{enable,disable} call one level up
  drm/i915/fbc: make FBC work with fastboot
  drm/i915/fbc: don't try to deactivate FBC if it's not enabled
  drm/i915/fbc: don't print no_fbc_reason to dmesg
  drm/i915/fbc: don't store the fb_id on reg_params
  drm/i915/fbc: call intel_fbc_pre_update earlier during page flips
  drm/i915/fbc: don't store/check a pointer to the FB
  drm/i915/fbc: refactor some small functions called only once

 drivers/gpu/drm/i915/i915_drv.h      |  51 +-
 drivers/gpu/drm/i915/i915_suspend.c  |   2 +-
 drivers/gpu/drm/i915/intel_display.c |  59 +--
 drivers/gpu/drm/i915/intel_drv.h     |  18 +-
 drivers/gpu/drm/i915/intel_fbc.c     | 901 ++++++++++++++++++++---------------
 5 files changed, 589 insertions(+), 442 deletions(-)


More information about the Intel-gfx mailing list