On Thu, Jul 10, 2025 at 06:16:55PM -0400, Rodrigo Vivi wrote: > 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
Pulled into drm-next, thanks! There was somehow some new conflicts in drm-tip that git rerere didn't sort out with the xe cherry-picks. Not sure what happened there ... Cheers, Sima > > 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 -- Simona Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch