drm/i915/guc: Ensure request ordering via completion fences
authorMatthew Brost <matthew.brost@intel.com>
Wed, 21 Jul 2021 21:50:55 +0000 (14:50 -0700)
committerJohn Harrison <John.C.Harrison@Intel.com>
Thu, 22 Jul 2021 17:07:19 +0000 (10:07 -0700)
commit38d5ec43063c5908d1cda4e7eb24330405ccdb6f
tree2d268227a0c616f9253d2bd67e907e128b81284e
parente6cb8dc93f346263eec8be75997d4bc3bfb17591
drm/i915/guc: Ensure request ordering via completion fences

If two requests are on the same ring, they are explicitly ordered by the
HW. So, a submission fence is sufficient to ensure ordering when using
the new GuC submission interface. Conversely, if two requests share a
timeline and are on the same physical engine but different context this
doesn't ensure ordering on the new GuC submission interface. So, a
completion fence needs to be used to ensure ordering.

v2:
 (Daniele)
  - Don't delete spin lock
v3:
 (Daniele)
  - Delete forward dec

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