Hi Dave and Sima, Here goes a v2 of the drm-intel-next-2025-09-12 request. The first one didn't get to the various mailing list because of the very long diff.
This is exactly the same pull-request, but with fixed diff history below. The backmerge in the middle got git confused, but there's nothing wrong with neither the backmerge nor the tag themselves. So, I regenerated this pull request with a manually generated diff as suggested by Sima in #dri-devel. I have tested and it applies cleanly on drm/drm-next. Sorry for the delay on noticing that something was off. V1 message: Here goes our last drm-intel-next pull towards 6.18. Some clean-up in the i915_utils.h which even moved stuff to the core kernel (overflow). On the drm side there was the killing of the old struct_mutex since i915 was the last user of that. It is worth saying that we are without drm-intel-next CI after I backmerged drm-next to it because it brought the lockdep prove locking that kills our CI, but nothing related to our driver. I'm relying more on the CI results that we have in drm-tip, what looks solid. Thanks, Rodrigo. drm-intel-next-2025-09-12: Cross-subsystem Changes: - Overflow: add range_overflows and range_end_overflows (Jani) Core Changes: - Get rid of dev->struct_mutex (Luiz) Non-display related: - GVT: Remove redundant ternary operators (Liao) - Various i915_utils clean-ups (Jani) Display related: - Wait PSR idle before on dsb commit (Jouni) - Fix size for for_each_set_bit() in abox iteration (Jani) - Abstract figuring out encoder name (Jani) - Remove FBC modulo 4 restriction for ADL-P+ (Uma) - Panic: refactor framebuffer allocation (Jani) - Backlight luminance control improvements (Suraj, Aaron) - Add intel_display_device_present (Jani) The following changes since commit 70a9b201cfa893fd0b7125c8f9205d9e12e02ba5: drm/i915/display: Avoid divide by zero (2025-09-05 15:24:46 +0300) are available in the Git repository at: https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2025-09-12 for you to fetch changes up to 65805c2ed74ee47e81246f97f4b3c126a75f0b0e: drm/i915: split out i915_wait_util.h (2025-09-12 11:08:45 +0300) ---------------------------------------------------------------- Cross-subsystem Changes: - Overflow: add range_overflows and range_end_overflows (Jani) Core Changes: - Get rid of dev->struct_mutex (Luiz) Non-display related: - GVT: Remove redundant ternary operators (Liao) - Various i915_utils clean-ups (Jani) Display related: - Wait PSR idle before on dsb commit (Jouni) - Fix size for for_each_set_bit() in abox iteration (Jani) - Abstract figuring out encoder name (Jani) - Remove FBC modulo 4 restriction for ADL-P+ (Uma) - Panic: refactor framebuffer allocation (Jani) - Backlight luminance control improvements (Suraj, Aaron) - Add intel_display_device_present (Jani) ---------------------------------------------------------------- Aaron Ma (1): drm/i915/backlight: Honor VESA eDP backlight luminance control capability Jani Nikula (18): drm/i915/power: fix size for for_each_set_bit() in abox iteration drm/i915/ddi: abstract figuring out encoder name drm/i915/fb: add intel_framebuffer_alloc() drm/{i915,xe}/panic: split out intel_panic.[ch] drm/{i915,xe}/panic: rename intel_bo_panic_*() to intel_panic_*() drm/{i915,xe}/fb: add panic pointer member to struct intel_framebuffer drm/{i915,xe}/panic: rename struct {i915,xe}_panic_data to struct intel_panic drm/{i915,xe}/panic: move framebuffer allocation where it belongs drm/{i915,xe}/panic: convert intel_panic_finish() to struct intel_panic drm/{i915,xe}/panic: pass struct intel_panic to intel_panic_setup() drm/i915: rename range_overflows_end() to range_end_overflows() drm/i915: document range_overflows() and range_end_overflows() macros overflow: add range_overflows() and range_end_overflows() drm/i915/display: add intel_display_device_present() drm/i915: split out i915_ptr_util.h drm/i915: split out i915_timer_util.[ch] drm/i915: split out i915_list_util.h drm/i915: split out i915_wait_util.h Jouni Högander (5): drm/i915/psr: Pass intel_crtc_state instead of intel_dp in wait_for_idle drm/i915/psr: Add new define for PSR idle timeout drm/i915/psr: New interface adding PSR idle poll into dsb commit drm/i915/psr: Add poll for checking PSR is idle before starting update drm/i915/psr: Panel Replay SU cap dpcd read return value Liao Yuanhong (1): drm/i915/gvt: Remove redundant ternary operators Luiz Otavio Mello (9): drm/i915: Move struct_mutex to drm_i915_private drm/i915: Remove struct_mutex in i915_irq.c drm/i915: Change mutex initialization in intel_guc_log drm/i915: Replace struct_mutex in intel_guc_log drm/i915/gem: Clean-up outdated struct_mutex comments drm/i915/display: Remove outdated struct_mutex comments drm/i915: Clean-up outdated struct_mutex comments drm/i915: Drop unused struct_mutex from drm_i915_private drm/i915: Remove todo and comments about struct_mutex Rodrigo Vivi (1): Merge drm/drm-next into drm-intel-next Suraj Kandpal (1): drm/i915/backlight: Disable backlight when using luminance control Uma Shankar (1): drm/i915/display: Remove FBC modulo 4 restriction for ADL-P+ Documentation/gpu/i915.rst | 7 - Documentation/gpu/todo.rst | 25 --- drivers/gpu/drm/drm_drv.c | 2 - drivers/gpu/drm/i915/Makefile | 2 + drivers/gpu/drm/i915/display/i9xx_plane.c | 4 +- drivers/gpu/drm/i915/display/intel_bo.c | 15 -- drivers/gpu/drm/i915/display/intel_bo.h | 3 - drivers/gpu/drm/i915/display/intel_ddi.c | 69 ++++--- drivers/gpu/drm/i915/display/intel_display.c | 3 + .../gpu/drm/i915/display/intel_display_device.c | 5 + .../gpu/drm/i915/display/intel_display_device.h | 1 + drivers/gpu/drm/i915/display/intel_display_types.h | 2 + .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 5 +- drivers/gpu/drm/i915/display/intel_fb.c | 23 ++- drivers/gpu/drm/i915/display/intel_fb.h | 3 + drivers/gpu/drm/i915/display/intel_fbc.c | 14 +- drivers/gpu/drm/i915/display/intel_panic.c | 27 +++ drivers/gpu/drm/i915/display/intel_panic.h | 14 ++ drivers/gpu/drm/i915/display/intel_plane.c | 6 +- drivers/gpu/drm/i915/display/intel_psr.c | 81 ++++++-- drivers/gpu/drm/i915/display/intel_psr.h | 2 + drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_object.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_object.h | 11 +- drivers/gpu/drm/i915/gem/i915_gem_pages.c | 40 ++-- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_wait.c | 8 +- .../drm/i915/gem/selftests/i915_gem_client_blt.c | 4 +- drivers/gpu/drm/i915/gt/intel_context_types.h | 1 - .../gpu/drm/i915/gt/intel_execlists_submission.c | 6 +- drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c | 1 + drivers/gpu/drm/i915/gt/intel_gt_mcr.c | 1 + drivers/gpu/drm/i915/gt/intel_rc6.c | 2 +- drivers/gpu/drm/i915/gt/intel_reset.c | 7 +- drivers/gpu/drm/i915/gt/intel_reset_types.h | 2 +- drivers/gpu/drm/i915/gt/intel_ring_submission.c | 7 +- drivers/gpu/drm/i915/gt/intel_rps.c | 2 + drivers/gpu/drm/i915/gt/intel_timeline.h | 1 + drivers/gpu/drm/i915/gt/selftest_tlb.c | 6 +- drivers/gpu/drm/i915/gt/sysfs_engines.c | 1 + drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c | 6 +- .../drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.c | 2 + drivers/gpu/drm/i915/gt/uc/intel_guc.c | 8 +- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 3 +- drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 4 +- drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 12 +- drivers/gpu/drm/i915/gt/uc/intel_guc_log.h | 8 + drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 13 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 10 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 2 +- drivers/gpu/drm/i915/gvt/mmio_context.c | 6 +- drivers/gpu/drm/i915/i915_debugfs.c | 3 +- drivers/gpu/drm/i915/i915_driver.c | 18 +- drivers/gpu/drm/i915/i915_drv.h | 6 +- drivers/gpu/drm/i915/i915_gem.c | 3 +- drivers/gpu/drm/i915/i915_irq.c | 6 - drivers/gpu/drm/i915/i915_list_util.h | 23 +++ drivers/gpu/drm/i915/i915_ptr_util.h | 66 +++++++ drivers/gpu/drm/i915/i915_request.h | 5 +- drivers/gpu/drm/i915/i915_switcheroo.c | 7 +- drivers/gpu/drm/i915/i915_timer_util.c | 36 ++++ drivers/gpu/drm/i915/i915_timer_util.h | 23 +++ drivers/gpu/drm/i915/i915_utils.c | 30 --- drivers/gpu/drm/i915/i915_utils.h | 215 --------------------- drivers/gpu/drm/i915/i915_vma.h | 6 +- drivers/gpu/drm/i915/i915_wait_util.h | 119 ++++++++++++ drivers/gpu/drm/i915/intel_pcode.c | 1 + drivers/gpu/drm/i915/intel_uncore.c | 7 +- drivers/gpu/drm/i915/pxp/intel_pxp.c | 4 +- drivers/gpu/drm/i915/selftests/i915_request.c | 5 +- drivers/gpu/drm/i915/selftests/i915_selftest.c | 2 +- drivers/gpu/drm/i915/selftests/igt_spinner.c | 5 +- drivers/gpu/drm/i915/soc/intel_dram.c | 2 +- drivers/gpu/drm/i915/vlv_suspend.c | 5 +- drivers/gpu/drm/xe/Makefile | 1 + drivers/gpu/drm/xe/display/intel_bo.c | 91 --------- drivers/gpu/drm/xe/display/xe_display.c | 33 ++-- drivers/gpu/drm/xe/display/xe_panic.c | 80 ++++++++ include/drm/drm_buddy.h | 9 - include/drm/drm_device.h | 10 - include/linux/overflow.h | 70 +++++++ 82 files changed, 770 insertions(+), 621 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/intel_panic.c create mode 100644 drivers/gpu/drm/i915/display/intel_panic.h create mode 100644 drivers/gpu/drm/i915/i915_list_util.h create mode 100644 drivers/gpu/drm/i915/i915_ptr_util.h create mode 100644 drivers/gpu/drm/i915/i915_timer_util.c create mode 100644 drivers/gpu/drm/i915/i915_timer_util.h create mode 100644 drivers/gpu/drm/i915/i915_wait_util.h create mode 100644 drivers/gpu/drm/xe/display/xe_panic.c