[PATCH v2 00/13] Misc cleanups and locking fixes

Tvrtko Ursulin
2016-01-08T11:29:56Z

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Random cleanups from yesterday mutated into a bit of locking verification and
fixing as suggested by Daniel Vetter.

Replacig list_for_each_entry with a dedicated i915_gem_obj_for_each_vma which
asserts the struct_mutex uncovered a few holes, not all of which (atomic display
are being fixed in this series).

I've also added the same assert to i915_gem_object_get_page since it sounds
correct to me to require it although I have not analysed all callsites. Some
might assume they know what they are doing so the approach might be too
drastic, but one like execlist is fixed in this series.

Tvrtko Ursulin (13):
drm/i915/bdw+: Replace list_del+list_add_tail with list_move_tail
drm/i915: Don't need a timer to wake us up
drm/i915: Avoid invariant conditionals in lrc interrupt handler
drm/i915: Fail engine initialization if LRCA is incorrectly aligned
drm/i915: Cache LRCA in the context
drm/i915: Only grab timestamps when needed
drm/i915: Introduce dedicated object VMA iterator
drm/i915: GEM operations need to be done under the big lock
drm/i915: Remove two impossible asserts
drm/i915: Introduce dedicated safe object VMA iterator
drm/i915: Cache ringbuffer GTT address
drm/i915: Add BKL asserts to get page helpers
drm/i915: Cache LRC state page in the context

drivers/gpu/drm/i915/i915_debugfs.c | 23 +++---
drivers/gpu/drm/i915/i915_drv.h | 17 +++++
drivers/gpu/drm/i915/i915_gem.c | 72 ++++++++----------
drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +-
drivers/gpu/drm/i915/i915_gem_shrinker.c | 5 +-
drivers/gpu/drm/i915/i915_gem_stolen.c | 5 ++
drivers/gpu/drm/i915/i915_gem_userptr.c | 2 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 4 +-
drivers/gpu/drm/i915/intel_lrc.c | 122 ++++++++++++++++---------------
drivers/gpu/drm/i915/intel_lrc.h | 3 +-
drivers/gpu/drm/i915/intel_ringbuffer.c | 3 +
drivers/gpu/drm/i915/intel_ringbuffer.h | 3 +
12 files changed, 140 insertions(+), 121 deletions(-)

--
1.9.1