This makes Xe use the new drm_exec helpers provided by this series, which is not merged yet: https://patchwork.freedesktop.org/series/114464/ with this fix: https://patchwork.freedesktop.org/patch/530670/?series=112994&rev=4 v3 includes code shared by Matthew Brost. v2: add a first patch with squashed dependencies (Lucas De Marchi) v3: - remove "RFC" - add dependencies as original patches - move drm_exec calls to xe_vm_lock_dma_resv/xe_vm_unlock_dma_resv, use new helper functions xe_vm_bo_lock/xe_vm_bo_unlock, fixes in drm_exec calls (Matthew Brost) v4: - fix compilation error in display - remove unused code, use same arguments for xe_vm_lock and for xe_bo_lock (Matthew Brost) Christian König (1): drm: execution context for GEM buffers v3 Danilo Krummrich (1): drm_exec: fix double dma_resv unlock Francois Dugast (1): drm/xe: switch to using drm_exec Documentation/gpu/drm-mm.rst | 12 + drivers/gpu/drm/Kconfig | 6 + drivers/gpu/drm/Makefile | 2 + drivers/gpu/drm/drm_exec.c | 248 ++++++++++++++ drivers/gpu/drm/i915/display/intel_display.c | 7 +- drivers/gpu/drm/xe/Kconfig | 1 + drivers/gpu/drm/xe/tests/xe_bo.c | 26 +- drivers/gpu/drm/xe/tests/xe_migrate.c | 6 +- drivers/gpu/drm/xe/xe_bo.c | 35 +- drivers/gpu/drm/xe/xe_bo.h | 6 +- drivers/gpu/drm/xe/xe_bo_evict.c | 24 +- drivers/gpu/drm/xe/xe_bo_types.h | 1 - drivers/gpu/drm/xe/xe_engine.c | 6 +- drivers/gpu/drm/xe/xe_exec.c | 30 +- drivers/gpu/drm/xe/xe_gt_pagefault.c | 56 +--- drivers/gpu/drm/xe/xe_lrc.c | 6 +- drivers/gpu/drm/xe/xe_migrate.c | 12 +- drivers/gpu/drm/xe/xe_vm.c | 321 +++++++++---------- drivers/gpu/drm/xe/xe_vm.h | 33 +- drivers/gpu/drm/xe/xe_vm_madvise.c | 36 +-- include/drm/drm_exec.h | 115 +++++++ 21 files changed, 659 insertions(+), 330 deletions(-) create mode 100644 drivers/gpu/drm/drm_exec.c create mode 100644 include/drm/drm_exec.h -- 2.25.1