[Intel-gfx] [PATCH 0/8] FBC locking v3
Paulo Zanoni
przanoni at gmail.com
Tue Jun 30 06:53:04 PDT 2015
From: Paulo Zanoni <paulo.r.zanoni at intel.com>
Hi
So this is a new take on the FBC locking improvements. This time I continue with
the "introduce fbc.lock first, then reduce struct_mutex later" strategy in order
to minimize the risks and facilitate review.
I also fixed a "lack of struct_mutex lock" regression I introduced when I first
moved FBC to the frontbuffer tracking infrastructure.
Right now the only places where we should be holding the struct_mutex lock for
FBC is on the 2 intel_fbc_update() calls: one at intel_post_plane_update() and
another at intel_unpin_work_fn(). Notice that we'll probably remove the
intel_fbc_update() call that's inside intel_unpin_work_fn() later, so we'll only
required struct_mutex locking once. We can't get rid of the single struct_mutex
lock requirement since we need to deal with the CFB allocation. Of course we can
always rework that code a little bit more, but let's do it on later patches.
Thanks,
Paulo
Paulo Zanoni (8):
drm/i915: don't increment the FBC threshold at fbc_enable
drm/i915: add the FBC mutex
drm/i915: remove unneded locks on debugs FBC functions
drm/i915: remove struct_mutex lock from the FBC work function
drm/i915: simplify FBC start/stop at invalidate/flush
drm/i915: add struct_mutex WARNs to i915_gem_stolen.c
drm/i915: reduce struct_mutex coverage at intel_crtc_page_flip()
drm/i915: remove struct_mutex lock from intel_modeset_cleanup()
drivers/gpu/drm/i915/i915_debugfs.c | 8 +--
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gem_stolen.c | 20 ++++++
drivers/gpu/drm/i915/intel_display.c | 16 +----
drivers/gpu/drm/i915/intel_drv.h | 1 +
drivers/gpu/drm/i915/intel_fbc.c | 110 +++++++++++++++++++++++++++------
6 files changed, 120 insertions(+), 36 deletions(-)
--
2.1.4
More information about the Intel-gfx
mailing list