]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 14 Nov 2019 17:25:35 +0000 (17:25 +0000)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 20 Nov 2019 09:53:00 +0000 (11:53 +0200)
commit21d560702947148bbb9e24aa4c0306e83b63677a
tree9b91f39175e965b58508d30eaaec3f3f38fae653
parentd4740d19283be55b38b66e07121dd39b06ad903e
drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree

As we want to be able to run inside atomic context for retiring the
i915_active, and we are no longer allowed to abuse mutex_trylock, split
the tree management portion of i915_active.mutex into an irq-safe
spinlock.

References: ffa070fa9b938 ("locking/mutex: Complain upon mutex API misuse in IRQ contexts")
References: https://bugs.freedesktop.org/show_bug.cgi?id=111626
Fixes: fd6853792ac5 ("drm/i915: Push the i915_active.retire into a worker")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191114172535.1116-1-chris@chris-wilson.co.uk
(cherry picked from commit c9ad602feabe4271d2adf1bdae5d8b20c2dc84f1)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_active.c
drivers/gpu/drm/i915/i915_active_types.h