On Tue, 2025-11-18 at 06:56 +1000, Dave Airlie wrote: > On Fri, 14 Nov 2025 at 20:50, Thomas Hellstrom > <[email protected]> wrote: > > > > Hi Dave, Simona > > > > This is the last feature drm-xe-next PR towards 6.19. > > > > Note that the PR of 25-11-05 was never pulled, so this one > > incorporates that one as well. Please let me know if you want > > this done another way. > > Just for future reference, just let me know I've missed one in the > next one, and treat them as separate, as I'll just go back and do > them > in order.
Ok, will do that moving forward > > This is fine this time, I just edited out the overlap from the commit > msg. Thanks! Thomas > > Dave. > > > > > Thanks, > > Thomas > > > > drm-xe-next-2025-11-14: > > UAPI Changes: > > > > Limit number of jobs per exec queue (Shuicheng) > > Add sriov_admin sysfs tree (Michal) > > > > Driver Changes: > > > > Fix an uninitialized value (Thomas) > > Expose a residency counter through debugfs (Mohammed Thasleem) > > Workaround enabling and improvement (Tapani, Tangudu) > > More Crescent Island-specific support (Sk Anirban, Lucas) > > PAT entry dump improvement (Xin) > > Inline gt_reset in the worker (Lucas) > > Synchronize GT reset with device unbind (Balasubramani) > > Do clean shutdown also when using flr (Jouni) > > Fix serialization on burst of unbinds (Matt Brost) > > Pagefault Refactor (Matt Brost) > > Remove some unused code (Gwan-gyeong) > > Avoid TOCTOU when montoring throttle reasons (Lucas) > > Add/extend workaround (Nitin) > > SRIOV migration work / plumbing (Michal Wajdeczko, Michal > > Winiarski, Lukasz) > > Drop debug flag requirement for VF resource fixup > > Fix MTL vm_max_level (Rodrigo) > > Changes around TILE_ADDR_RANGE for platform compatibility > > (Fei, Lucas) > > Add runtime registers for GFX ver >= 35 (Piotr) > > Kerneldoc fix (Kriish) > > Rework pcode error mapping (Lucas) > > Allow lockdown the PF (Michal) > > Eliminate GUC code caching of some frequency values (Sk) > > Improvements around forcewake referencing (Matt Roper) > > The following changes since commit > > 4504e780689245f01bee6ee4c19c74051bd87593: > > > > drm/xe/pf: Access VF's register using dedicated MMIO view (2025- > > 10-27 17:22:18 +0100) > > > > are available in the Git repository at: > > > > https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe- > > next-2025-11-14 > > > > for you to fetch changes up to > > 6bcb180f6f4585554cefbe8c412aa8879b15f07a: > > > > drm/xe/oa: Store forcewake reference in stream structure (2025- > > 11-13 14:05:51 -0800) > > > > ---------------------------------------------------------------- > > UAPI Changes: > > > > Limit number of jobs per exec queue (Shuicheng) > > Add sriov_admin sysfs tree (Michal) > > > > Driver Changes: > > > > Fix an uninitialized value (Thomas) > > Expose a residency counter through debugfs (Mohammed Thasleem) > > Workaround enabling and improvement (Tapani, Tangudu) > > More Crescent Island-specific support (Sk Anirban, Lucas) > > PAT entry dump improvement (Xin) > > Inline gt_reset in the worker (Lucas) > > Synchronize GT reset with device unbind (Balasubramani) > > Do clean shutdown also when using flr (Jouni) > > Fix serialization on burst of unbinds (Matt Brost) > > Pagefault Refactor (Matt Brost) > > Remove some unused code (Gwan-gyeong) > > Avoid TOCTOU when montoring throttle reasons (Lucas) > > Add/extend workaround (Nitin) > > SRIOV migration work / plumbing (Michal Wajdeczko, Michal > > Winiarski, Lukasz) > > Drop debug flag requirement for VF resource fixup > > Fix MTL vm_max_level (Rodrigo) > > Changes around TILE_ADDR_RANGE for platform compatibility > > (Fei, Lucas) > > Add runtime registers for GFX ver >= 35 (Piotr) > > Kerneldoc fix (Kriish) > > Rework pcode error mapping (Lucas) > > Allow lockdown the PF (Michal) > > Eliminate GUC code caching of some frequency values (Sk) > > Improvements around forcewake referencing (Matt Roper) > > > > ---------------------------------------------------------------- > > Balasubramani Vivekanandan (2): > > drm/xe/gt: Synchronize GT reset with device unbind > > drm/xe/guc: Synchronize Dead CT worker with unbind > > > > Fei Yang (1): > > drm/xe: Use SG_TILE_ADDR_RANGE instead of TILE_ADDR_RANGE > > > > Gwan-gyeong Mun (1): > > drm/xe: Remove never used code in xe_vm_create() > > > > Jouni Högander (1): > > drm/xe: Do clean shutdown also when using flr > > > > Kriish Sharma (1): > > drm/xe: fix kernel-doc function name mismatch in xe_pm.c > > > > Lucas De Marchi (10): > > drm/xe/gt_throttle: Tidy up perf reasons reading > > drm/xe/gt_throttle: Always read and mask > > drm/xe/gt_throttle: Add throttle_to_gt() > > drm/xe/gt_throttle: Tidy up attribute definition > > drm/xe: Improve freq and throttle documentation > > drm/xe/gt_throttle: Drop individual show functions > > drm/xe: Inline gt_reset in the worker > > drm/xe/gt_throttle: Avoid TOCTOU when monitoring reasons > > drm/xe/vram: Move forcewake down to get_flat_ccs_offset() > > drm/xe/pcode: Rework error mapping > > > > Lukasz Laguna (2): > > drm/xe/pf: Add helper to retrieve VF's LMEM object > > drm/xe/migrate: Add function to copy of VRAM data in chunks > > > > Matt Roper (3): > > drm/xe/forcewake: Improve kerneldoc > > drm/xe/eustall: Store forcewake reference in stream structure > > drm/xe/oa: Store forcewake reference in stream structure > > > > Matthew Brost (13): > > drm/xe: Enforce correct user fence signaling order using > > drm/xe: Attach last fence to TLB invalidation job queues > > drm/xe: Decouple bind queue last fence from TLB invalidations > > drm/xe: Skip TLB invalidation waits in page fault binds > > drm/xe: Disallow input fences on zero batch execs and zero > > binds > > drm/xe: Remove last fence dependency check from binds and > > execs > > drm/xe: Stub out new pagefault layer > > drm/xe: Implement xe_pagefault_init > > drm/xe: Implement xe_pagefault_reset > > drm/xe: Implement xe_pagefault_handler > > drm/xe: Implement xe_pagefault_queue_work > > drm/xe: Add xe_guc_pagefault layer > > drm/xe: Remove unused GT page fault code > > > > Michal Wajdeczko (22): > > drm/xe/pf: Prepare sysfs for SR-IOV admin attributes > > drm/xe/pf: Take RPM during calls to SR-IOV attr.store() > > drm/xe/pf: Add _locked variants of the VF EQ config functions > > drm/xe/pf: Add _locked variants of the VF PT config functions > > drm/xe/pf: Allow change PF and VFs EQ/PT using sysfs > > drm/xe/pf: Relax report helper to accept PF in bulk configs > > drm/xe/pf: Fix signature of internal config helpers > > drm/xe/pf: Add functions to bulk configure EQ/PT on GT > > drm/xe/pf: Add functions to bulk provision EQ/PT > > drm/xe/pf: Allow bulk change all VFs EQ/PT using sysfs > > drm/xe/pf: Add functions to provision scheduling priority > > drm/xe/pf: Allow bulk change all VFs priority using sysfs > > drm/xe/pf: Allow change PF scheduling priority using sysfs > > drm/xe/pf: Promote xe_pci_sriov_get_vf_pdev > > drm/xe/pf: Add sysfs device symlinks to enabled VFs > > drm/xe/pf: Allow to stop the VF using sysfs > > drm/xe/pf: Add documentation for sriov_admin attributes > > drm/xe/pf: Use migration-friendly context IDs auto- > > provisioning > > drm/xe/pf: Use migration-friendly doorbells auto-provisioning > > drm/xe/tests: Add KUnit tests for PF fair provisioning > > drm/xe/pf: Allow to lockdown the PF using custom guard > > drm/xe/pf: Use migration-friendly GGTT auto-provisioning > > > > Michał Winiarski (23): > > drm/xe/vf: Enable VF resource fixup unconditionally > > drm/xe/pf: Remove GuC version check for migration support > > drm/xe: Move migration support to device-level struct > > drm/xe/pf: Convert control state to bitmap > > drm/xe/pf: Add save/restore control state stubs and connect > > to debugfs > > drm/xe/pf: Add data structures and handlers for migration > > rings > > drm/xe/pf: Add helpers for migration data packet allocation / > > free > > drm/xe/pf: Add support for encap/decap of bitstream to/from > > packet > > drm/xe/pf: Add minimalistic migration descriptor > > drm/xe/pf: Expose VF migration data size over debugfs > > drm/xe: Add sa/guc_buf_cache sync interface > > drm/xe: Allow the caller to pass guc_buf_cache size > > drm/xe/pf: Increase PF GuC Buffer Cache size and use it for > > VF migration > > drm/xe/pf: Remove GuC migration data save/restore from GT > > debugfs > > drm/xe/pf: Don't save GuC VF migration data on pause > > drm/xe/pf: Switch VF migration GuC save/restore to struct > > migration data > > drm/xe/pf: Handle GuC migration data as part of PF control > > drm/xe/pf: Add helpers for VF GGTT migration data handling > > drm/xe/pf: Handle GGTT migration data as part of PF control > > drm/xe/pf: Handle MMIO migration data as part of PF control > > drm/xe/pf: Handle VRAM migration data as part of PF control > > drm/xe/pf: Add wait helper for VF FLR > > drm/intel/bmg: Allow device ID usage with single-argument > > macros > > > > Mohammed Thasleem (1): > > drm/xe/xe_debugfs: Expose G7 package state residency counter > > through debugfs > > > > Nitin Gote (1): > > drm/xe/xe3lpg: Extend Wa_15016589081 for xe3lpg > > > > Piotr Piórkowski (1): > > drm/xe/pf: Add runtime registers for GFX ver >= 35 > > > > Rodrigo Vivi (1): > > drm/xe: Fix MTL vm_max_level > > > > Shuicheng Lin (1): > > drm/xe: Limit number of jobs per exec queue > > > > Sk Anirban (3): > > drm/xe/cri: Add new performance limit reasons bits > > drm/xe/guc: Eliminate RPe caching for SLPC parameter handling > > drm/xe/guc: Eliminate RPa frequency caching > > > > Tangudu Tilak Tirumalesh (1): > > drm/xe/xe3: Extend wa_14023061436 > > > > Tapani Pälli (1): > > drm/xe/xe3: Apply wa_14024997852 > > > > Thomas Hellström (1): > > drm/xe: Fix uninitialized return value from > > xe_validation_guard() > > > > Xin Wang (1): > > drm/xe: highlight reserved PAT entries in dump output > > > > .../ABI/testing/sysfs-driver-intel-xe-sriov | 159 +++ > > Documentation/gpu/xe/xe_gt_freq.rst | 3 + > > drivers/gpu/drm/xe/Makefile | 6 +- > > drivers/gpu/drm/xe/regs/xe_gt_regs.h | 14 +- > > drivers/gpu/drm/xe/regs/xe_pmt.h | 1 + > > drivers/gpu/drm/xe/regs/xe_regs.h | 2 + > > .../gpu/drm/xe/tests/xe_gt_sriov_pf_config_kunit.c | 208 ++++ > > drivers/gpu/drm/xe/xe_debugfs.c | 1 + > > drivers/gpu/drm/xe/xe_device.c | 23 +- > > drivers/gpu/drm/xe/xe_device_types.h | 11 + > > drivers/gpu/drm/xe/xe_eu_stall.c | 8 +- > > drivers/gpu/drm/xe/xe_exec.c | 14 +- > > drivers/gpu/drm/xe/xe_exec_queue.c | 124 ++- > > drivers/gpu/drm/xe/xe_exec_queue.h | 23 +- > > drivers/gpu/drm/xe/xe_exec_queue_types.h | 17 + > > drivers/gpu/drm/xe/xe_force_wake_types.h | 26 +- > > drivers/gpu/drm/xe/xe_ggtt.c | 104 ++ > > drivers/gpu/drm/xe/xe_ggtt.h | 3 + > > drivers/gpu/drm/xe/xe_ggtt_types.h | 2 + > > drivers/gpu/drm/xe/xe_gt.c | 44 +- > > drivers/gpu/drm/xe/xe_gt_freq.c | 30 +- > > drivers/gpu/drm/xe/xe_gt_pagefault.c | 679 -------- > > ---- > > drivers/gpu/drm/xe/xe_gt_pagefault.h | 19 - > > drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 351 +++++- > > drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 16 + > > drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c | 650 > > +++++++++++- > > drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h | 10 + > > drivers/gpu/drm/xe/xe_gt_sriov_pf_control_types.h | 34 +- > > drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 47 - > > drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c | 1112 > > +++++++++++++++----- > > drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.h | 46 +- > > .../gpu/drm/xe/xe_gt_sriov_pf_migration_types.h | 34 +- > > drivers/gpu/drm/xe/xe_gt_sriov_pf_service.c | 21 +- > > drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h | 5 +- > > drivers/gpu/drm/xe/xe_gt_throttle.c | 375 +++---- > > drivers/gpu/drm/xe/xe_gt_types.h | 65 -- > > drivers/gpu/drm/xe/xe_guard.h | 119 +++ > > drivers/gpu/drm/xe/xe_guc.c | 13 +- > > drivers/gpu/drm/xe/xe_guc_buf.c | 57 +- > > drivers/gpu/drm/xe/xe_guc_buf.h | 2 + > > drivers/gpu/drm/xe/xe_guc_ct.c | 9 +- > > drivers/gpu/drm/xe/xe_guc_pagefault.c | 95 ++ > > drivers/gpu/drm/xe/xe_guc_pagefault.h | 15 + > > drivers/gpu/drm/xe/xe_guc_pc.c | 100 +- > > drivers/gpu/drm/xe/xe_guc_pc_types.h | 4 - > > drivers/gpu/drm/xe/xe_migrate.c | 142 ++- > > drivers/gpu/drm/xe/xe_migrate.h | 16 + > > drivers/gpu/drm/xe/xe_oa.c | 54 +- > > drivers/gpu/drm/xe/xe_oa_types.h | 11 + > > drivers/gpu/drm/xe/xe_pagefault.c | 445 ++++++++ > > drivers/gpu/drm/xe/xe_pagefault.h | 19 + > > drivers/gpu/drm/xe/xe_pagefault_types.h | 136 +++ > > drivers/gpu/drm/xe/xe_pat.c | 15 +- > > drivers/gpu/drm/xe/xe_pat.h | 5 + > > drivers/gpu/drm/xe/xe_pci.c | 2 +- > > drivers/gpu/drm/xe/xe_pci_sriov.c | 62 +- > > drivers/gpu/drm/xe/xe_pci_sriov.h | 1 + > > drivers/gpu/drm/xe/xe_pcode.c | 40 +- > > drivers/gpu/drm/xe/xe_pcode_api.h | 6 - > > drivers/gpu/drm/xe/xe_pm.c | 2 +- > > drivers/gpu/drm/xe/xe_pt.c | 80 +- > > drivers/gpu/drm/xe/xe_reg_whitelist.c | 7 + > > drivers/gpu/drm/xe/xe_sa.c | 21 + > > drivers/gpu/drm/xe/xe_sa.h | 1 + > > drivers/gpu/drm/xe/xe_sched_job.c | 19 +- > > drivers/gpu/drm/xe/xe_sched_job.h | 1 - > > drivers/gpu/drm/xe/xe_sriov_packet.c | 520 > > +++++++++ > > drivers/gpu/drm/xe/xe_sriov_packet.h | 30 + > > drivers/gpu/drm/xe/xe_sriov_packet_types.h | 75 ++ > > drivers/gpu/drm/xe/xe_sriov_pf.c | 107 ++ > > drivers/gpu/drm/xe/xe_sriov_pf.h | 4 + > > drivers/gpu/drm/xe/xe_sriov_pf_control.c | 128 +++ > > drivers/gpu/drm/xe/xe_sriov_pf_control.h | 5 + > > drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c | 131 +++ > > drivers/gpu/drm/xe/xe_sriov_pf_helpers.h | 16 + > > drivers/gpu/drm/xe/xe_sriov_pf_migration.c | 342 ++++++ > > drivers/gpu/drm/xe/xe_sriov_pf_migration.h | 29 + > > drivers/gpu/drm/xe/xe_sriov_pf_migration_types.h | 37 + > > drivers/gpu/drm/xe/xe_sriov_pf_provision.c | 284 +++++ > > drivers/gpu/drm/xe/xe_sriov_pf_provision.h | 14 + > > drivers/gpu/drm/xe/xe_sriov_pf_sysfs.c | 647 > > ++++++++++++ > > drivers/gpu/drm/xe/xe_sriov_pf_sysfs.h | 16 + > > drivers/gpu/drm/xe/xe_sriov_pf_types.h | 21 + > > drivers/gpu/drm/xe/xe_sriov_vf.c | 8 - > > drivers/gpu/drm/xe/xe_svm.c | 3 +- > > drivers/gpu/drm/xe/xe_sync.c | 95 +- > > drivers/gpu/drm/xe/xe_sync.h | 3 + > > drivers/gpu/drm/xe/xe_sync_types.h | 3 + > > drivers/gpu/drm/xe/xe_tlb_inval_job.c | 31 +- > > drivers/gpu/drm/xe/xe_tlb_inval_job.h | 5 +- > > drivers/gpu/drm/xe/xe_trace.h | 23 + > > drivers/gpu/drm/xe/xe_validation.h | 8 +- > > drivers/gpu/drm/xe/xe_vm.c | 101 +- > > drivers/gpu/drm/xe/xe_vm_types.h | 6 +- > > drivers/gpu/drm/xe/xe_vram.c | 26 +- > > drivers/gpu/drm/xe/xe_wa.c | 7 + > > include/drm/intel/pciids.h | 2 +- > > 97 files changed, 6762 insertions(+), 1751 deletions(-) > > create mode 100644 Documentation/ABI/testing/sysfs-driver-intel- > > xe-sriov > > create mode 100644 > > drivers/gpu/drm/xe/tests/xe_gt_sriov_pf_config_kunit.c > > delete mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c > > delete mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h > > create mode 100644 drivers/gpu/drm/xe/xe_guard.h > > create mode 100644 drivers/gpu/drm/xe/xe_guc_pagefault.c > > create mode 100644 drivers/gpu/drm/xe/xe_guc_pagefault.h > > create mode 100644 drivers/gpu/drm/xe/xe_pagefault.c > > create mode 100644 drivers/gpu/drm/xe/xe_pagefault.h > > create mode 100644 drivers/gpu/drm/xe/xe_pagefault_types.h > > create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet.c > > create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet.h > > create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet_types.h > > create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration.c > > create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration.h > > create mode 100644 > > drivers/gpu/drm/xe/xe_sriov_pf_migration_types.h > > create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_sysfs.c > > create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_sysfs.h
