drm/xe: Decouple bind queue last fence from TLB invalidations
authorMatthew Brost <matthew.brost@intel.com>
Fri, 31 Oct 2025 23:40:47 +0000 (16:40 -0700)
committerMatthew Brost <matthew.brost@intel.com>
Tue, 4 Nov 2025 16:21:02 +0000 (08:21 -0800)
commitcb99e12ba8cb8a16c44e6de7927e9a1d84260f24
tree39873acddf9fc8949538edd8a44bc532608bb688
parentb2d7ec41f2a3ab99cf0bf0fafc20d4d10bb6b0de
drm/xe: Decouple bind queue last fence from TLB invalidations

Separate the bind queue’s last fence to apply exclusively to the bind
job, avoiding unnecessary serialization on prior TLB invalidations.
Preserve correct user fence signaling by merging bind and TLB
invalidation fences later in the pipeline.

v3:
 - Fix lockdep assert for migrate queues (CI)
 - Use individual dma fence contexts for array out fences (Testing)
 - Don't set last fence with arrays (Testing)
 - Move TLB invalid last fence under migrate lock (Testing)
 - Don't set queue last for migrate queues (Testing)

Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6047
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patch.msgid.link/20251031234050.3043507-4-matthew.brost@intel.com
drivers/gpu/drm/xe/xe_pt.c
drivers/gpu/drm/xe/xe_sync.c
drivers/gpu/drm/xe/xe_tlb_inval_job.c
drivers/gpu/drm/xe/xe_tlb_inval_job.h
drivers/gpu/drm/xe/xe_vm.c
drivers/gpu/drm/xe/xe_vm_types.h