[PULL] drm-xe-next

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Jul 10 22:16:55 UTC 2025


Hi Dave and Sima,

Here goes our drm-xe-next towards 6.17.
I'm still considering an extra small one in the beginning
of next week if possible.

Before going to the details of what this pull request contains,
I'd like to say that I had to bypass the new dim rule that checks
for proper Acks in the patches. But only because they are in the DRM subsystem
for the restructure of migration in preparation for multi-device. I hope this
is okay by you, but please let me know if I should remove the patches and resend.
Here are the patches without DRM ack from you:

ccfb15b8158c ("drm/xe/bmg: Add one additional PCI ID"): Mandatory Maintainer Acked-by missing.
b58701687831 ("drm/xe: Implement and use the drm_pagemap populate_mm op"): Mandatory Maintainer Acked-by missing.
2ef19be2a545 ("drm/pagemap: Add a populate_mm op"): Mandatory Maintainer Acked-by missing.
f86ad0ed620c ("drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap"): Mandatory Maintainer Acked-by missing.

Regarding the changes itself, please notice that this pull request includes
some cross-subsystem patches for both MTD and i2c, but all with the proper Acks
in place. They are needed for BMG features.

As for the other Xe highlights, we have a new platform (WildCat Lake),
the removal of the force_probe protection for Panther Lake, new GuC version,
and a lot of SRIOV enabling work, specially targeting enabling it soon on BMG.

Thanks,
Rodrigo.

drm-xe-next-2025-07-10:
UAPI Changes:
 - Documentation fixes (Shuicheng)

Cross-subsystem Changes:
 - MTD intel-dg driver for dgfx non-volatile memory device (Sasha)
 - i2c: designware changes to allow i2c integration with BMG (Heikki)

Core Changes:
 - Restructure migration in preparation for multi-device (Brost, Thomas)
 - Expose fan control and voltage regulator version on sysfs (Raag)

Driver Changes:
 - Add WildCat Lake support (Roper)
 - Add aux bus child device driver for NVM on DGFX (Sasha)
 - Some refactor and fixes to allow cleaner BMG w/a (Lucas, Maarten, Auld)
 - BMG w/a (Vinay)
 - Improve handling of aborted probe (Michal)
 - Do not wedge device on killed exec queues (Brost)
 - Init changes for flicker-free boot (Maarten)
 - Fix out-of-bounds field write in MI_STORE_DATA_IMM (Jia)
 - Enable the GuC Dynamic Inhibit Context Switch optimization (Daniele)
 - Drop bo->size (Brost)
 - Builds and KConfig fixes (Harry, Maarten)
 - Consolidate LRC offset calculations (Tvrtko)
 - Fix potential leak in hw_engine_group (Michal)
 - Future-proof for multi-tile + multi-GT cases (Roper)
 - Validate gt in pmu event (Riana)
 - SRIOV PF: Clear all LMTT pages on alloc (Michal)
 - Allocate PF queue size on pow2 boundary (Brost)
 - SRIOV VF: Make multi-GT migration less error prone (Tomasz)
 - Revert indirect ring state patch to fix random LRC context switches failures (Brost)
 - Fix compressed VRAM handling (Auld)
 - Add one additional BMG PCI ID (Ravi)
 - Recommend GuC v70.46.2 for BMG, LNL, DG2 (Julia)
 - Add GuC and HuC to PTL (Daniele)
 - Drop PTL force_probe requirement (Atwood)
 - Fix error flow in display suspend (Shuicheng)
 - Disable GuC communication on hardware initialization error (Zhanjun)
 - Devcoredump fixes and clean up (Shuicheng)
 - SRIOV PF: Downgrade some info to debug (Michal)
 - Don't allocate temporary GuC policies object (Michal)
 - Support for I2C attached MCUs (Heikki, Raag, Riana)
 - Add GPU memory bo trace points (Juston)
 - SRIOV VF: Skip some W/a (Michal)
 - Correct comment of xe_pm_set_vram_threshold (Shuicheng)
 - Cancel ongoing H2G requests when stopping CT (Michal)
The following changes since commit 36c52fb703e90388285963fc8f03cf60f76cbe4c:

  Merge tag 'drm-intel-next-2025-06-18' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next (2025-06-23 10:49:27 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2025-07-10

for you to fetch changes up to 94de94d24ea8cf567ec7254a723c3192c72c2ca6:

  drm/xe/guc: Cancel ongoing H2G requests when stopping CT (2025-07-10 21:46:29 +0200)

----------------------------------------------------------------
UAPI Changes:
 - Documentation fixes (Shuicheng)

Cross-subsystem Changes:
 - MTD intel-dg driver for dgfx non-volatile memory device (Sasha)
 - i2c: designware changes to allow i2c integration with BMG (Heikki)

Core Changes:
 - Restructure migration in preparation for multi-device (Brost, Thomas)
 - Expose fan control and voltage regulator version on sysfs (Raag)

Driver Changes:
 - Add WildCat Lake support (Roper)
 - Add aux bus child device driver for NVM on DGFX (Sasha)
 - Some refactor and fixes to allow cleaner BMG w/a (Lucas, Maarten, Auld)
 - BMG w/a (Vinay)
 - Improve handling of aborted probe (Michal)
 - Do not wedge device on killed exec queues (Brost)
 - Init changes for flicker-free boot (Maarten)
 - Fix out-of-bounds field write in MI_STORE_DATA_IMM (Jia)
 - Enable the GuC Dynamic Inhibit Context Switch optimization (Daniele)
 - Drop bo->size (Brost)
 - Builds and KConfig fixes (Harry, Maarten)
 - Consolidate LRC offset calculations (Tvrtko)
 - Fix potential leak in hw_engine_group (Michal)
 - Future-proof for multi-tile + multi-GT cases (Roper)
 - Validate gt in pmu event (Riana)
 - SRIOV PF: Clear all LMTT pages on alloc (Michal)
 - Allocate PF queue size on pow2 boundary (Brost)
 - SRIOV VF: Make multi-GT migration less error prone (Tomasz)
 - Revert indirect ring state patch to fix random LRC context switches failures (Brost)
 - Fix compressed VRAM handling (Auld)
 - Add one additional BMG PCI ID (Ravi)
 - Recommend GuC v70.46.2 for BMG, LNL, DG2 (Julia)
 - Add GuC and HuC to PTL (Daniele)
 - Drop PTL force_probe requirement (Atwood)
 - Fix error flow in display suspend (Shuicheng)
 - Disable GuC communication on hardware initialization error (Zhanjun)
 - Devcoredump fixes and clean up (Shuicheng)
 - SRIOV PF: Downgrade some info to debug (Michal)
 - Don't allocate temporary GuC policies object (Michal)
 - Support for I2C attached MCUs (Heikki, Raag, Riana)
 - Add GPU memory bo trace points (Juston)
 - SRIOV VF: Skip some W/a (Michal)
 - Correct comment of xe_pm_set_vram_threshold (Shuicheng)
 - Cancel ongoing H2G requests when stopping CT (Michal)

----------------------------------------------------------------
Alexander Usyskin (7):
      mtd: add driver for intel graphics non-volatile memory device
      mtd: intel-dg: implement region enumeration
      mtd: intel-dg: implement access functions
      mtd: intel-dg: register with mtd
      mtd: intel-dg: align 64bit read and write
      drm/xe/nvm: add on-die non-volatile memory device
      drm/xe/nvm: add support for access mode

Daniele Ceraolo Spurio (5):
      Revert "drm/xe/ptl: Apply Wa_16026007364"
      drm/xe/guc: Enable extended CAT error reporting
      drm/xe/guc: Enable the Dynamic Inhibit Context Switch optimization
      drm/xe/ptl: Add GuC FW definition for PTL
      drm/xe/ptl: Add HuC FW definition for PTL

Harry Austen (1):
      drm/xe: Allow dropping kunit dependency as built-in

Heikki Krogerus (3):
      i2c: designware: Use polling by default when there is no irq resource
      i2c: designware: Add quirk for Intel Xe
      drm/xe: Support for I2C attached MCUs

Jia Yao (1):
      drm/xe: Fix out-of-bounds field write in MI_STORE_DATA_IMM

Julia Filipchuk (1):
      drm/xe/guc: Recommend GuC v70.46.2 for BMG, LNL, DG2

Juston Li (1):
      drm/xe/bo: add GPU memory trace points

Lucas De Marchi (3):
      drm/xe/guc_pc: Add _locked variant for min/max freq
      drm/xe/xe_guc_pc: Lock once to update stashed frequencies
      drm/xe: Split xe_device_td_flush()

Maarten Lankhorst (13):
      drm/xe: Move DSB l2 flush to a more sensible place
      drm/xe: Defer memirq init until needed
      drm/xe/sriov: Move VF bootstrap and query_config to vf_guc_init
      drm/xe: Simplify GuC early initialization
      drm/xe: Make it possible to read instance0 MCR registers after xe_gt_mcr_init_early
      drm/xe: Only dump PAT when xe_hw_engines_init_early fails
      drm/xe: Rename gt_init sub-functions
      drm/xe: Split init of xe_gt_init_hwconfig to xe_gt_init and *_early
      drm/xe: Move xe_ttm_sys_mgr_init() downwards.
      drm/xe: Remove xe_uc_init_hwconfig()
      drm/xe: Remove xe_uc_fini_hw
      drm/xe: Rename xe_uc_init_hw to xe_uc_load_hw
      drm/xe: Fix typo in Kconfig

Matt Atwood (1):
      drm/xe/ptl: Drop force_probe requirement

Matt Roper (9):
      drm/xe/xe3: Add support for graphics IP version 30.03
      drm/xe/xe3: Add support for media IP version 30.02
      drm/xe: Add Wildcat Lake device IDs to PTL list
      drm/xe: Export xe_step_name for kunit tests
      drm/xe: Track maximum GTs per tile on a per-platform basis
      drm/xe/tests/pci: Ensure all platforms have a valid GT/tile count
      drm/xe: Assign GT IDs properly on multi-tile + multi-GT platforms
      drm/xe: Don't compare GT ID to GT count when determining valid GTs
      drm/xe/xe_query: Use separate iterator while filling GT list

Matthew Auld (2):
      drm/xe: move DPT l2 flush to a more sensible place
      drm/xe/bmg: fix compressed VRAM handling

Matthew Brost (5):
      drm/xe: Do not wedge device on killed exec queues
      drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
      drm/xe: Drop bo->size
      drm/xe: Allocate PF queue size on pow2 boundary
      Revert "drm/xe/xe2: Enable Indirect Ring State support for Xe2"

Michal Wajdeczko (11):
      drm/xe: Process deferred GGTT node removals on device unwind
      drm/xe/guc: Explicitly exit CT safe mode on unwind
      drm/xe/hw_engine_group: Fix potential leak
      drm/xe/pf: Clear all LMTT pages on alloc
      drm/xe/pf: Print runtime registers using debug printer
      drm/xe/pf: Print configuration KLVs using debug printer
      drm/xe/guc: Don't allocate temporary policies object
      drm/xe/bmg: Don't use WA 16023588340 and 22019338487 on VF
      drm/xe/guc: Rename CT state change helper
      drm/xe/guc: Move state change logger to helper
      drm/xe/guc: Cancel ongoing H2G requests when stopping CT

Raag Jadav (2):
      drm/xe: Expose fan control and voltage regulator version
      drm/xe/pm: Wire up suspend/resume for I2C controller

Reuven Abliyev (1):
      drm/xe/nvm: add support for non-posted erase

Riana Tauro (2):
      drm/xe/xe_pmu: Validate gt in event supported
      drm/xe/xe_i2c: Add support for i2c in survivability mode

Rodrigo Vivi (1):
      Merge drm/drm-next into drm-xe-next

Shuicheng Lin (5):
      drm/xe/uapi: Correct sync type definition in comments
      drm/xe/pm: Restore display pm if there is error after display suspend
      drm/xe: Remove unused code in devcoredump_snapshot()
      drm/xe: Release runtime pm for error path of xe_devcoredump_read()
      drm/xe/pm: Correct comment of xe_pm_set_vram_threshold()

Thomas Hellström (2):
      drm/pagemap: Add a populate_mm op
      drm/xe: Implement and use the drm_pagemap populate_mm op

Tomasz Lis (1):
      drm/xe/vf: Make multi-GT migration less error prone

Tvrtko Ursulin (1):
      drm/xe: Consolidate LRC offset calculations

Vinay Belgaumkar (1):
      drm/xe/bmg: Update Wa_22019338487

Vodapalli, Ravi Kumar (1):
      drm/xe/bmg: Add one additional PCI ID

Zhanjun Dong (1):
      drm/xe/uc: Disable GuC communication on hardware initialization error

sanirban (1):
      drm/xe/ptl: Apply Wa_16026007364

 Documentation/gpu/rfc/gpusvm.rst            |  12 +-
 MAINTAINERS                                 |   7 +
 drivers/gpu/drm/Makefile                    |   6 +-
 drivers/gpu/drm/drm_gpusvm.c                | 762 +------------------------
 drivers/gpu/drm/drm_pagemap.c               | 838 ++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/Kconfig                  |  16 +-
 drivers/gpu/drm/xe/Makefile                 |   2 +
 drivers/gpu/drm/xe/abi/guc_actions_abi.h    |   4 +
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h       |  28 +
 drivers/gpu/drm/xe/display/xe_dsb_buffer.c  |  11 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c      |   7 +-
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c    |   2 +-
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h       |   4 +
 drivers/gpu/drm/xe/regs/xe_i2c_regs.h       |  20 +
 drivers/gpu/drm/xe/regs/xe_irq_regs.h       |   1 +
 drivers/gpu/drm/xe/regs/xe_pmt.h            |   2 +-
 drivers/gpu/drm/xe/regs/xe_regs.h           |   2 +
 drivers/gpu/drm/xe/tests/xe_bo.c            |   2 +-
 drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c |   4 +-
 drivers/gpu/drm/xe/tests/xe_migrate.c       |  52 +-
 drivers/gpu/drm/xe/tests/xe_pci.c           |  31 +
 drivers/gpu/drm/xe/tests/xe_pci_test.c      |  12 +
 drivers/gpu/drm/xe/tests/xe_pci_test.h      |   1 +
 drivers/gpu/drm/xe/xe_bo.c                  |  37 +-
 drivers/gpu/drm/xe/xe_bo.h                  |  17 +-
 drivers/gpu/drm/xe/xe_bo_types.h            |   4 +-
 drivers/gpu/drm/xe/xe_devcoredump.c         |  50 +-
 drivers/gpu/drm/xe/xe_device.c              | 121 ++--
 drivers/gpu/drm/xe/xe_device.h              |  47 +-
 drivers/gpu/drm/xe/xe_device_sysfs.c        | 143 ++++-
 drivers/gpu/drm/xe/xe_device_types.h        |  22 +-
 drivers/gpu/drm/xe/xe_drm_client.c          |   2 +-
 drivers/gpu/drm/xe/xe_eu_stall.c            |   6 +-
 drivers/gpu/drm/xe/xe_exec_queue.c          |   2 +-
 drivers/gpu/drm/xe/xe_ggtt.c                |  25 +-
 drivers/gpu/drm/xe/xe_gsc.c                 |   6 +-
 drivers/gpu/drm/xe/xe_gt.c                  |  80 ++-
 drivers/gpu/drm/xe/xe_gt.h                  |   1 -
 drivers/gpu/drm/xe/xe_gt_mcr.c              |  47 +-
 drivers/gpu/drm/xe/xe_gt_pagefault.c        |   1 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c  |  26 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_service.c |   2 +-
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c         |   1 -
 drivers/gpu/drm/xe/xe_gt_types.h            |   2 +
 drivers/gpu/drm/xe/xe_guc.c                 | 147 ++++-
 drivers/gpu/drm/xe/xe_guc.h                 |   2 +
 drivers/gpu/drm/xe/xe_guc_ads.c             |  31 +-
 drivers/gpu/drm/xe/xe_guc_ct.c              |  81 ++-
 drivers/gpu/drm/xe/xe_guc_ct.h              |   1 +
 drivers/gpu/drm/xe/xe_guc_log.c             |   2 +-
 drivers/gpu/drm/xe/xe_guc_pc.c              | 283 +++++++---
 drivers/gpu/drm/xe/xe_guc_pc.h              |   2 +
 drivers/gpu/drm/xe/xe_guc_pc_types.h        |   2 +
 drivers/gpu/drm/xe/xe_guc_submit.c          |  31 +-
 drivers/gpu/drm/xe/xe_heci_gsc.c            |   5 +-
 drivers/gpu/drm/xe/xe_huc.c                 |   2 +-
 drivers/gpu/drm/xe/xe_hw_engine.c           |   3 +-
 drivers/gpu/drm/xe/xe_hw_engine_group.c     |  19 +-
 drivers/gpu/drm/xe/xe_i2c.c                 | 329 +++++++++++
 drivers/gpu/drm/xe/xe_i2c.h                 |  62 ++
 drivers/gpu/drm/xe/xe_irq.c                 |   2 +
 drivers/gpu/drm/xe/xe_lmtt.c                |  15 +-
 drivers/gpu/drm/xe/xe_lrc.c                 |  41 +-
 drivers/gpu/drm/xe/xe_lrc_types.h           |   2 +-
 drivers/gpu/drm/xe/xe_migrate.c             |  50 +-
 drivers/gpu/drm/xe/xe_mmio.c                |  16 +-
 drivers/gpu/drm/xe/xe_nvm.c                 | 167 ++++++
 drivers/gpu/drm/xe/xe_nvm.h                 |  15 +
 drivers/gpu/drm/xe/xe_oa.c                  |  10 +-
 drivers/gpu/drm/xe/xe_pci.c                 |  77 +--
 drivers/gpu/drm/xe/xe_pci_types.h           |  41 ++
 drivers/gpu/drm/xe/xe_pcode_api.h           |  15 +
 drivers/gpu/drm/xe/xe_pm.c                  |  20 +-
 drivers/gpu/drm/xe/xe_pmu.c                 |   7 +-
 drivers/gpu/drm/xe/xe_query.c               |  29 +-
 drivers/gpu/drm/xe/xe_sriov_vf.c            | 195 +++----
 drivers/gpu/drm/xe/xe_step.c                |   2 +
 drivers/gpu/drm/xe/xe_survivability_mode.c  |  19 +-
 drivers/gpu/drm/xe/xe_svm.c                 | 125 +++--
 drivers/gpu/drm/xe/xe_svm.h                 |  10 +-
 drivers/gpu/drm/xe/xe_tile.c                |   7 +
 drivers/gpu/drm/xe/xe_tile.h                |  11 +
 drivers/gpu/drm/xe/xe_trace_bo.h            |   4 +-
 drivers/gpu/drm/xe/xe_uc.c                  |  78 +--
 drivers/gpu/drm/xe/xe_uc.h                  |   5 +-
 drivers/gpu/drm/xe/xe_uc_fw.c               |   8 +-
 drivers/gpu/drm/xe/xe_vm.c                  |   8 +-
 drivers/gpu/drm/xe/xe_wa.c                  |  16 +
 drivers/gpu/drm/xe/xe_wa_oob.rules          |  10 +-
 drivers/i2c/busses/i2c-designware-platdrv.c |  18 +-
 drivers/mtd/devices/Kconfig                 |  11 +
 drivers/mtd/devices/Makefile                |   1 +
 drivers/mtd/devices/mtd_intel_dg.c          | 830 +++++++++++++++++++++++++++
 include/drm/drm_gpusvm.h                    |  96 ----
 include/drm/drm_pagemap.h                   | 135 +++++
 include/drm/intel/pciids.h                  |   5 +-
 include/linux/intel_dg_nvm_aux.h            |  32 ++
 include/uapi/drm/xe_drm.h                   |   8 +-
 98 files changed, 3981 insertions(+), 1630 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_pagemap.c
 create mode 100644 drivers/gpu/drm/xe/regs/xe_i2c_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_i2c.c
 create mode 100644 drivers/gpu/drm/xe/xe_i2c.h
 create mode 100644 drivers/gpu/drm/xe/xe_nvm.c
 create mode 100644 drivers/gpu/drm/xe/xe_nvm.h
 create mode 100644 drivers/mtd/devices/mtd_intel_dg.c
 create mode 100644 include/linux/intel_dg_nvm_aux.h


More information about the Intel-xe mailing list