Hi Dave, Simona This week's drm-xe-next PR (Rodrigo is out this week).
Two big series, the SRIOV scheduler groups, and multi-device SVM. The latter may conflict somewhat with fixes, but conflict resolutions are in drm-rerere and should be resolved to the -next code anyway. The multi-device SVM also touches UAPI. Thanks, Thomas drm-xe-next-2025-12-30: Core Changes: - Dynamic pagemaps and multi-device SVM (Thomas) Driver Changes: - Introduce SRIOV scheduler Groups (Daniele) - Configure migration queue as low latency (Francois) - Don't use absolute path in generated header comment (Calvin Owens) - Add SoC remapper support for system controller (Umesh) - Insert compiler barriers in GuC code (Jonathan) - Rebar updates (Lucas) The following changes since commit 844758bd99a86e6a07247784727fb337c4b979ca: drm/xe: Print GuC queue submission state on engine reset (2025-12-19 11:45:29 -0800) are available in the Git repository at: https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2025-12-30 for you to fetch changes up to 0b075f82935e82fc9fff90d06d2a161caaebd9c3: drm/xe: Improve rebar log messages (2025-12-24 07:59:35 -0800) ---------------------------------------------------------------- Core Changes: - Dynamic pagemaps and multi-device SVM (Thomas) Driver Changes: - Introduce SRIOV scheduler Groups (Daniele) - Configure migration queue as low latency (Francois) - Don't use absolute path in generated header comment (Calvin Owens) - Add SoC remapper support for system controller (Umesh) - Insert compiler barriers in GuC code (Jonathan) - Rebar updates (Lucas) ---------------------------------------------------------------- Calvin Owens (1): drm/xe: Don't use absolute path in generated header comment Daniele Ceraolo Spurio (12): drm/xe/gt: Add engine masks for each class drm/gt/guc: extract scheduler-related defines from guc_fwif.h drm/xe/pf: Initialize scheduler groups drm/xe/pf: Add support for enabling scheduler groups drm/xe/pf: Scheduler groups are incompatible with multi-lrc drm/xe/vf: Check if scheduler groups are enabled drm/xe/pf: Add debugfs to enable scheduler groups drm/xe/pf: Add debugfs with scheduler groups information drm/xe/pf: Prep for multiple exec quantums and preemption timeouts drm/xe/pf: Add functions to set exec quantums for each group drm/xe/pf: Add functions to set preempt timeouts for each group drm/xe/pf: Add debugfs to set EQ and PT for scheduler groups Francois Dugast (1): drm/xe/migrate: Configure migration queue as low latency Jonathan Cavitt (2): drm/xe/guc: READ/WRITE_ONCE g2h_fence->done drm/xe/guc: READ/WRITE_ONCE ct->state Lucas De Marchi (2): drm/xe: Move rebar to its own file drm/xe: Improve rebar log messages Thomas Hellström (24): drm/xe/svm: Fix a debug printout drm/pagemap: Remove some dead code drm/pagemap, drm/xe: Ensure that the devmem allocation is idle before use drm/pagemap, drm/xe: Add refcounting to struct drm_pagemap drm/pagemap: Add a refcounted drm_pagemap backpointer to struct drm_pagemap_zdd drm/pagemap, drm/xe: Manage drm_pagemap provider lifetimes drm/pagemap: Add a drm_pagemap cache and shrinker drm/xe: Use the drm_pagemap cache and shrinker drm/pagemap: Remove the drm_pagemap_create() interface drm/pagemap_util: Add a utility to assign an owner to a set of interconnected gpus drm/xe: Use the drm_pagemap_util helper to get a svm pagemap owner drm/xe: Pass a drm_pagemap pointer around with the memory advise attributes drm/xe: Use the vma attibute drm_pagemap to select where to migrate drm/xe: Simplify madvise_preferred_mem_loc() drm/xe/uapi: Extend the madvise functionality to support foreign pagemap placement for svm drm/xe: Support pcie p2p dma as a fast interconnect drm/xe/vm: Add a couple of VM debug printouts drm/xe/svm: Document how xe keeps drm_pagemap references drm/pagemap, drm/xe: Clean up the use of the device-private page owner drm/gpusvm: Introduce a function to scan the current migration state drm/xe: Use drm_gpusvm_scan_mm() drm/pagemap, drm/xe: Support destination migration over interconnect drm/pagemap: Support source migration over interconnect drm/xe/svm: Serialize migration to device if racing Umesh Nerlige Ramappa (3): drm/xe/soc_remapper: Initialize SoC remapper during Xe probe drm/xe/soc_remapper: Use SoC remapper helper from VSEC code drm/xe/soc_remapper: Add system controller config for SoC remapper drivers/gpu/drm/Makefile | 3 +- drivers/gpu/drm/drm_gpusvm.c | 124 ++++ drivers/gpu/drm/drm_pagemap.c | 563 +++++++++++++++--- drivers/gpu/drm/drm_pagemap_util.c | 568 ++++++++++++++++++ drivers/gpu/drm/xe/Makefile | 2 + drivers/gpu/drm/xe/abi/guc_klvs_abi.h | 64 ++ drivers/gpu/drm/xe/abi/guc_scheduler_abi.h | 57 ++ drivers/gpu/drm/xe/regs/xe_pmt.h | 3 - drivers/gpu/drm/xe/regs/xe_soc_remapper_regs.h | 14 + drivers/gpu/drm/xe/xe_device.c | 25 + drivers/gpu/drm/xe/xe_device.h | 2 + drivers/gpu/drm/xe/xe_device_types.h | 21 + drivers/gpu/drm/xe/xe_exec_queue.c | 19 + drivers/gpu/drm/xe/xe_gen_wa_oob.c | 3 +- drivers/gpu/drm/xe/xe_gt.h | 12 +- drivers/gpu/drm/xe/xe_gt_ccs_mode.c | 8 +- drivers/gpu/drm/xe/xe_gt_ccs_mode.h | 2 +- drivers/gpu/drm/xe/xe_gt_sriov_pf.c | 20 + drivers/gpu/drm/xe/xe_gt_sriov_pf.h | 8 + drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 279 ++++++++- drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 10 + drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h | 5 +- drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 295 +++++++++ drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.c | 329 ++++++++++ drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.h | 10 + drivers/gpu/drm/xe/xe_gt_sriov_pf_policy_types.h | 39 ++ drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 67 +++ drivers/gpu/drm/xe/xe_gt_sriov_vf.h | 1 + drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 2 + drivers/gpu/drm/xe/xe_guc.c | 2 +- drivers/gpu/drm/xe/xe_guc_capture.h | 2 +- drivers/gpu/drm/xe/xe_guc_ct.c | 21 +- drivers/gpu/drm/xe/xe_guc_ct.h | 6 +- drivers/gpu/drm/xe/xe_guc_fwif.h | 54 +- drivers/gpu/drm/xe/xe_guc_klv_helpers.c | 9 + drivers/gpu/drm/xe/xe_guc_submit.c | 40 +- drivers/gpu/drm/xe/xe_guc_submit.h | 2 + drivers/gpu/drm/xe/xe_migrate.c | 32 +- drivers/gpu/drm/xe/xe_migrate.h | 6 +- drivers/gpu/drm/xe/xe_pci.c | 8 +- drivers/gpu/drm/xe/xe_pci_rebar.c | 106 ++++ drivers/gpu/drm/xe/xe_pci_rebar.h | 13 + drivers/gpu/drm/xe/xe_pci_types.h | 2 + drivers/gpu/drm/xe/xe_soc_remapper.c | 52 ++ drivers/gpu/drm/xe/xe_soc_remapper.h | 13 + drivers/gpu/drm/xe/xe_svm.c | 727 +++++++++++++++++++---- drivers/gpu/drm/xe/xe_svm.h | 85 ++- drivers/gpu/drm/xe/xe_tile.c | 34 +- drivers/gpu/drm/xe/xe_tile.h | 21 + drivers/gpu/drm/xe/xe_userptr.c | 2 +- drivers/gpu/drm/xe/xe_vm.c | 65 +- drivers/gpu/drm/xe/xe_vm.h | 1 + drivers/gpu/drm/xe/xe_vm_madvise.c | 106 +++- drivers/gpu/drm/xe/xe_vm_types.h | 21 +- drivers/gpu/drm/xe/xe_vram.c | 91 --- drivers/gpu/drm/xe/xe_vram.h | 1 - drivers/gpu/drm/xe/xe_vram_types.h | 15 +- drivers/gpu/drm/xe/xe_vsec.c | 6 +- include/drm/drm_gpusvm.h | 29 + include/drm/drm_pagemap.h | 128 +++- include/drm/drm_pagemap_util.h | 92 +++ include/uapi/drm/xe_drm.h | 18 +- 62 files changed, 3880 insertions(+), 485 deletions(-) create mode 100644 drivers/gpu/drm/drm_pagemap_util.c create mode 100644 drivers/gpu/drm/xe/abi/guc_scheduler_abi.h create mode 100644 drivers/gpu/drm/xe/regs/xe_soc_remapper_regs.h create mode 100644 drivers/gpu/drm/xe/xe_pci_rebar.c create mode 100644 drivers/gpu/drm/xe/xe_pci_rebar.h create mode 100644 drivers/gpu/drm/xe/xe_soc_remapper.c create mode 100644 drivers/gpu/drm/xe/xe_soc_remapper.h create mode 100644 include/drm/drm_pagemap_util.h
