drm/xe: Fix VM bind out-sync signaling ordering
authorMatthew Brost <matthew.brost@intel.com>
Thu, 14 Sep 2023 20:40:51 +0000 (13:40 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:43:18 +0000 (11:43 -0500)
commite669f10cd3182943058fa84b1e81f3727f6e0520
tree057932b144e3569787060034c4f965440eb66143
parentf3e9b1f43458746e7e0211dbe4289412e5c0d16a
drm/xe: Fix VM bind out-sync signaling ordering

A case existed where an out-sync of a later VM bind operation could
signal before a previous one if the later operation results in a NOP
(e.g. a unbind or prefetch to a VA range without any mappings). This
breaks the ordering rules, fix this. This patch also lays the groundwork
for users to pass in num_binds == 0 and out-syncs.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_exec_queue.c
drivers/gpu/drm/xe/xe_exec_queue.h
drivers/gpu/drm/xe/xe_exec_queue_types.h
drivers/gpu/drm/xe/xe_vm.c