]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/guc: Release submit fence from an irq_work
authorMatthew Brost <matthew.brost@intel.com>
Thu, 9 Sep 2021 16:47:36 +0000 (09:47 -0700)
committerJohn Harrison <John.C.Harrison@Intel.com>
Mon, 13 Sep 2021 18:30:44 +0000 (11:30 -0700)
commitfd3198b8f913e062790dec9e97fb9abcb850ba06
tree8412aa7f7d633fde28bdd0b72101916210b5cfde
parent51189d62a0152fbabf1ee78a225667af2daa8ae6
drm/i915/guc: Release submit fence from an irq_work

A subsequent patch will flip the locking hierarchy from
ce->guc_state.lock -> sched_engine->lock to sched_engine->lock ->
ce->guc_state.lock. As such we need to release the submit fence for a
request from an IRQ to break a lock inversion - i.e. the fence must be
release went holding ce->guc_state.lock and the releasing of the can
acquire sched_engine->lock.

v2:
 (Daniele)
  - Delete request from list before calling irq_work_queue

Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210909164744.31249-16-matthew.brost@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
drivers/gpu/drm/i915/i915_request.h