drm/xe: Use reserved copy engine for user binds on faulting devices
authorMatthew Brost <matthew.brost@intel.com>
Fri, 16 Aug 2024 03:40:33 +0000 (20:40 -0700)
committerMatthew Brost <matthew.brost@intel.com>
Sat, 17 Aug 2024 21:12:19 +0000 (14:12 -0700)
commit852856e3b6f679c694dd5ec41e5a3c11aa46640b
treef9c1c234ba0ac26f082de2d56201bd10713c4061
parentfc7c7498db3da52efe874029a9c2ccc0ad2646ee
drm/xe: Use reserved copy engine for user binds on faulting devices

User binds map to engines with can fault, faults depend on user binds
completion, thus we can deadlock. Avoid this by using reserved copy
engine for user binds on faulting devices.

While we are here, normalize bind queue creation with a helper.

v2:
 - Pass in extensions to bind queue creation (CI)
v3:
 - s/resevered/reserved (Lucas)
 - Fix NULL hwe check (Jonathan)

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240816034033.53837-1-matthew.brost@intel.com
drivers/gpu/drm/xe/xe_exec_queue.c
drivers/gpu/drm/xe/xe_exec_queue.h
drivers/gpu/drm/xe/xe_migrate.c
drivers/gpu/drm/xe/xe_vm.c