drm/xe: Ensure LR engines are not persistent

With our ref counting scheme long running (LR) engines only close
properly if not persistent, ensure that LR engines are non-persistent.

v2: spell out LR

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>
This commit is contained in:
Matthew Brost
2023-04-12 18:48:41 -07:00
committed by Rodrigo Vivi
parent 8ae8a2e8dd
commit 911cd9b3b4

View File

@@ -599,7 +599,9 @@ int xe_engine_create_ioctl(struct drm_device *dev, void *data,
return -ENOENT;
e = xe_engine_create(xe, vm, logical_mask,
args->width, hwe, ENGINE_FLAG_PERSISTENT);
args->width, hwe,
xe_vm_no_dma_fences(vm) ? 0 :
ENGINE_FLAG_PERSISTENT);
xe_vm_put(vm);
if (IS_ERR(e))
return PTR_ERR(e);