Hi Dave and Sima, Here goes our likely last drm-intel-next PR towards 6.16.
Mostly with patches targeting the full display split. Thanks, Rodrigo. drm-intel-next-2025-05-08: Non-display related: - Fix undefined reference to `intel_pxp_gsccs_is_ready_for_sessions' Display related: - More work towards display separation (Jani) - Stop writing VRR_CTL_IGN_MAX_SHIFT for MTL onwards (Jouni) - DSC checks for 3 engines (Ankit) - Add link rate and lane count to i915_display_info (Khaled) - PSR fixes and workaround for underrun on idle (Jouni) - LOBF enablement and ALMP fixes (Animesh) - Clean up VGA plane handling (Ville) - Use an intel_connector pointer everywhere (Imre) - Fix warning for coffeelake on SunrisePoint PCH (Jiajia) - Rework/Correction on minimum hblank calculation (Arun) - Dmesg clean up (Jani) - Add a couple of simple display workarounds (Ankit, Vinod) - Refactor HDCP GSC (Jani) The following changes since commit 1954629dc649b25071eec0d353288c5ee303e358: drm/i915/debugfs: move PCH type to display caps (2025-04-11 09:47:39 +0300) are available in the Git repository at: https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2025-05-08 for you to fetch changes up to ecd9352cd92784717670e22a5ebd890ca0ae980e: drm/i915/rps: fix stale reference to i915->irq_lock (2025-05-07 15:44:19 +0300) ---------------------------------------------------------------- Non-display related: - Fix undefined reference to `intel_pxp_gsccs_is_ready_for_sessions' Display related: - More work towards display separation (Jani) - Stop writing VRR_CTL_IGN_MAX_SHIFT for MTL onwards (Jouni) - DSC checks for 3 engines (Ankit) - Add link rate and lane count to i915_display_info (Khaled) - PSR fixes and workaround for underrun on idle (Jouni) - LOBF enablement and ALMP fixes (Animesh) - Clean up VGA plane handling (Ville) - Use an intel_connector pointer everywhere (Imre) - Fix warning for coffeelake on SunrisePoint PCH (Jiajia) - Rework/Correction on minimum hblank calculation (Arun) - Dmesg clean up (Jani) - Add a couple of simple display workarounds (Ankit, Vinod) - Refactor HDCP GSC (Jani) ---------------------------------------------------------------- Animesh Manna (11): drm/i915/lobf: Add lobf enablement in post plane update drm/i915/lobf: Add debug print for LOBF drm/i915/lobf: Disintegrate alpm_disable from psr_disable drm/i915/lobf: Add fixed refresh rate check in compute_config() drm/i915/lobf: Update lobf if any change in dependent parameters drm/i915/lobf: Add debug interface for lobf drm/i915/lobf: Add mutex for alpm update drm/i915/lobf: Check for sink error and disable LOBF drm/i915/alpm: Add intel_psr_need_alpm() to simplify alpm check drm/i915/display: Disintegrate sink alpm enable from psr with lobf drm/i915/alpm: Check for alpm support before accessing alpm register Ankit Nautiyal (2): drm/i915/display: Add macro for checking 3 DSC engines drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices Arun R Murthy (2): drm/display/dp: Export fn to calculate link symbol cycles drm/i915/display: move min_hblank from dp_mst.c to dp.c Chen Linxuan (1): drm/i915/pxp: fix undefined reference to `intel_pxp_gsccs_is_ready_for_sessions' Imre Deak (2): drm/i915/dp: Use an intel_connector pointer everywhere drm/i915/hdmi: Use an intel_connector pointer everywhere Jani Nikula (57): drm/i915/pch: move PCH detection to intel_display_driver_early_probe() drm/i915/pch: clean up includes drm/i915/dpio: have chv_data_lane_soft_reset() get/put dpio internally drm/i915: use 32-bit access for gen2 irq registers drm/i915: record GEN2_IER in gtier[0] for pre-ilk error capture drm/i915: stop recording IER in error capture drm/i915: use display snapshot mechanism for display irq regs drm/i915: don't capture DERRMR for VLV/CHV drm/i915: use graphics version instead of PCH split in error capture drm/i915/irq: convert ibx_irq_reset() into ibx_display_irq_reset() drm/i915/fb: convert intel_fbdev.[ch] and intel_fbdev_fb.[ch] to struct intel_display drm/i915/display: convert intel_modeset_setup.[ch] to struct intel_display drm/i915/display: convert intel_modeset_verify.c to struct intel_display drm/i915/sprite: convert intel_sprite_uapi.c to struct intel_display drm/i915/frontbuffer: convert intel_frontbuffer.[ch] to struct intel_display drm/i915/crt: switch to display->platform based platform detection drm/i915/dmc: switch to display->platform based platform detection drm/i915/dp-aux: switch to display->platform based platform detection drm/i915/dpio: switch to display->platform based platform detection drm/i915/gmbus: switch to display->platform based platform detection drm/i915/hdmi: switch to display->platform based platform detection drm/i915/display: switch to display->platform.dgfx from IS_DGFX() drm/i915/audio: don't set LPE audio irq chip data, it's unused drm/xe/compat: clean up unused platform check macros drm/i915/display: pass struct intel_display to PCH macros drm/i915/display: drop lots of unnecessary #include i915_drv.h drm/i915/pch: abstract fake PCH detection better drm/i915/reg: use REG_BIT and friends to define DP registers drm/i915/reg: Add/remove some extra blank lines drm/i915/backlight: drop dmesg suggestion to file bugs drm/i915/error: drop dmesg suggestion to file bugs on GPU hangs drm/i915/hdcp: remove duplicate declarations drm/i915/hdcp: deduplicate and refactor HDCP GSC ops initialization drm/i915/hdcp: split HDCP GSC message alloc/save responsibilities drm/i915/hdcp: rename struct intel_hdcp_gsc_message to intel_hdcp_gsc_context drm/i915/hdcp: rename HDCP GSC context alloc/free functions drm/i915/hdcp: pass the context to the HDCP GSC message interface drm/i915/hdcp: switch the HDCP GSC message interface from u8* to void* drm/i915/hdcp: simplify HDCP GSC firmware usage selection drm/i915/hdcp: pass struct drm_device to driver specific HDCP GSC code drm/i915/hdcp: drop unnecessary include from intel_hdcp_gsc.h drm/i915/dpt: convert intel_dpt_common.c to struct intel_display drm/i915/hdmi: convert rest of intel_hdmi.c to struct intel_display drm/i915/de: drop drm_i915_private compat wrappers from intel_de_*() drm/i915/dsi: remove dependency on i915_drv.h drm/i915/display: remove struct drm_i915_private forward declaration drm/i915/bios: fix a comment referencing struct drm_i915_private drm/i915/crtc: pass struct intel_display to DISPLAY_VER() drm/i915/irq: move locking inside vlv_display_irq_reset() drm/i915/irq: move locking inside valleyview_{enable, disable}_display_irqs() drm/i915/irq: move locking inside vlv_display_irq_postinstall() drm/i915/irq: split out i915_display_irq_postinstall() drm/i915/irq: split out i965_display_irq_postinstall() drm/i915/irq: make i915_enable_asle_pipestat() static drm/i915/rps: refactor display rps support drm/i915/irq: move i915->irq_lock to display->irq.lock drm/i915/rps: fix stale reference to i915->irq_lock Jiajia Liu (1): drm/i915/pch: fix warning for coffeelake on SunrisePoint PCH Jouni Högander (17): drm/i915/vrr: Stop writing VRR_CTL_IGN_MAX_SHIFT for MTL onwards drm/i915/display: Add new interface for getting dc_state drm/i915/psr: Store enabled non-psr pipes into intel_crtc_state drm/i915/dmc: Add PIPEDMC_EVT_CTL register definition drm/i915/dmc: Add PIPEDMC_BLOCK_PKGC_SW definitions drm/i915/dmc: Add interface to block PKG C-state drm/i915/psr: Block PKG C-State when enabling PSR drm/i915/psr: Add mechanism to notify PSR of pipe enable/disable drm/i915/psr: Add mechanism to notify PSR of DC5/6 enable disable drm/i915/psr: Add interface to notify PSR of vblank enable/disable drm/i915/dmc: Add interface to control start of PKG C-state exit drm/i915/psr: Apply underrun on PSR idle workaround drm/i915/display: Rename intel_psr_needs_block_dc_vblank drm/i915/display: Rename vblank DC workaround functions and variables drm/i915/alpm: use variable from intel_crtc_state instead of intel_psr drm/i915/display: Ensure enough lines between delayed VBlank and VBlank drm/i915/psr: Move PSR workaround to intel_psr.c Khaled Almahallawy (1): drm/i915/display: Add link rate and lane count to i915_display_info Nemesa Garg (1): drm/i915/display: Implement wa_14024400148 Rodrigo Vivi (2): drm/{i915,xe}: Move intel_pch under display drm/i915/display: Convert intel_pch towards intel_display Ville Syrjälä (6): drm/i915/vga: Clean up VGACNTRL bits drm/i915/vga: Add more VGACNTRL bits drm/i915/vga: Extract intel_vga_regs.h drm/i915/vga: Include the current pipe in the VGA disable debug message drm/i915/vga: Nuke vga_redisable_power_on() drm/i915/vga: Consolidate intel_vga_disable() calls Vinod Govindapillai (1): drm/i915/display: implement wa_14022269668 drivers/gpu/drm/display/drm_dp_helper.c | 52 ++- drivers/gpu/drm/i915/Makefile | 2 +- drivers/gpu/drm/i915/display/g4x_dp.c | 60 ++-- drivers/gpu/drm/i915/display/g4x_hdmi.c | 32 +- drivers/gpu/drm/i915/display/i9xx_plane.c | 43 +-- drivers/gpu/drm/i915/display/i9xx_wm.c | 4 +- drivers/gpu/drm/i915/display/intel_alpm.c | 191 ++++++++++- drivers/gpu/drm/i915/display/intel_alpm.h | 10 +- drivers/gpu/drm/i915/display/intel_audio.c | 12 +- drivers/gpu/drm/i915/display/intel_backlight.c | 42 ++- drivers/gpu/drm/i915/display/intel_bios.c | 19 +- drivers/gpu/drm/i915/display/intel_bios.h | 2 +- drivers/gpu/drm/i915/display/intel_cdclk.c | 12 +- drivers/gpu/drm/i915/display/intel_cmtg.c | 1 - drivers/gpu/drm/i915/display/intel_crt.c | 46 ++- drivers/gpu/drm/i915/display/intel_crtc.c | 9 +- drivers/gpu/drm/i915/display/intel_cursor.c | 3 +- drivers/gpu/drm/i915/display/intel_cx0_phy.c | 4 +- drivers/gpu/drm/i915/display/intel_ddi.c | 17 +- drivers/gpu/drm/i915/display/intel_de.h | 14 +- drivers/gpu/drm/i915/display/intel_display.c | 67 ++-- drivers/gpu/drm/i915/display/intel_display_core.h | 23 +- .../gpu/drm/i915/display/intel_display_debugfs.c | 11 +- .../gpu/drm/i915/display/intel_display_device.c | 13 +- .../gpu/drm/i915/display/intel_display_device.h | 1 + .../gpu/drm/i915/display/intel_display_driver.c | 18 +- drivers/gpu/drm/i915/display/intel_display_irq.c | 255 ++++++++------ drivers/gpu/drm/i915/display/intel_display_irq.h | 9 +- drivers/gpu/drm/i915/display/intel_display_power.c | 60 ++-- drivers/gpu/drm/i915/display/intel_display_power.h | 1 + .../drm/i915/display/intel_display_power_well.c | 11 +- drivers/gpu/drm/i915/display/intel_display_rps.c | 23 ++ drivers/gpu/drm/i915/display/intel_display_rps.h | 24 ++ .../gpu/drm/i915/display/intel_display_snapshot.c | 5 + drivers/gpu/drm/i915/display/intel_display_types.h | 11 +- drivers/gpu/drm/i915/display/intel_dmc.c | 93 ++++-- drivers/gpu/drm/i915/display/intel_dmc.h | 4 + drivers/gpu/drm/i915/display/intel_dmc_regs.h | 14 + drivers/gpu/drm/i915/display/intel_dp.c | 204 ++++++++---- drivers/gpu/drm/i915/display/intel_dp.h | 2 + drivers/gpu/drm/i915/display/intel_dp_aux.c | 21 +- .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 3 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 60 +--- drivers/gpu/drm/i915/display/intel_dpio_phy.c | 25 +- drivers/gpu/drm/i915/display/intel_dpll.c | 11 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 11 +- drivers/gpu/drm/i915/display/intel_dpt_common.c | 15 +- drivers/gpu/drm/i915/display/intel_dsb.c | 3 +- drivers/gpu/drm/i915/display/intel_dsi.c | 7 +- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 9 +- drivers/gpu/drm/i915/display/intel_fb.c | 4 +- drivers/gpu/drm/i915/display/intel_fbc.c | 5 +- drivers/gpu/drm/i915/display/intel_fbdev.c | 74 ++--- drivers/gpu/drm/i915/display/intel_fbdev.h | 6 +- drivers/gpu/drm/i915/display/intel_fbdev_fb.c | 13 +- drivers/gpu/drm/i915/display/intel_fbdev_fb.h | 4 +- drivers/gpu/drm/i915/display/intel_fdi.c | 18 +- drivers/gpu/drm/i915/display/intel_fifo_underrun.c | 48 ++- drivers/gpu/drm/i915/display/intel_frontbuffer.c | 60 ++-- drivers/gpu/drm/i915/display/intel_frontbuffer.h | 8 +- drivers/gpu/drm/i915/display/intel_global_state.c | 5 +- drivers/gpu/drm/i915/display/intel_gmbus.c | 38 +-- drivers/gpu/drm/i915/display/intel_hdcp.c | 13 +- drivers/gpu/drm/i915/display/intel_hdcp_gsc.c | 124 +++---- drivers/gpu/drm/i915/display/intel_hdcp_gsc.h | 20 +- .../gpu/drm/i915/display/intel_hdcp_gsc_message.c | 181 ++++++---- .../gpu/drm/i915/display/intel_hdcp_gsc_message.h | 63 +--- drivers/gpu/drm/i915/display/intel_hdmi.c | 273 +++++++-------- drivers/gpu/drm/i915/display/intel_hotplug.c | 129 +++----- drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 77 ++--- drivers/gpu/drm/i915/display/intel_lpe_audio.c | 2 +- drivers/gpu/drm/i915/display/intel_lvds.c | 23 +- drivers/gpu/drm/i915/display/intel_modeset_setup.c | 195 ++++++----- drivers/gpu/drm/i915/display/intel_modeset_setup.h | 4 +- .../gpu/drm/i915/display/intel_modeset_verify.c | 17 +- drivers/gpu/drm/i915/display/intel_overlay.c | 6 +- drivers/gpu/drm/i915/display/intel_pch.c | 340 +++++++++++++++++++ drivers/gpu/drm/i915/display/intel_pch.h | 58 ++++ drivers/gpu/drm/i915/display/intel_pch_display.c | 44 +-- drivers/gpu/drm/i915/display/intel_pch_refclk.c | 15 +- drivers/gpu/drm/i915/display/intel_plane_initial.c | 8 +- drivers/gpu/drm/i915/display/intel_pmdemand.c | 31 +- drivers/gpu/drm/i915/display/intel_pps.c | 26 +- drivers/gpu/drm/i915/display/intel_psr.c | 368 +++++++++++++++++---- drivers/gpu/drm/i915/display/intel_psr.h | 10 +- drivers/gpu/drm/i915/display/intel_sdvo.c | 26 +- drivers/gpu/drm/i915/display/intel_sprite.c | 3 +- drivers/gpu/drm/i915/display/intel_sprite_uapi.c | 17 +- drivers/gpu/drm/i915/display/intel_tv.c | 14 +- drivers/gpu/drm/i915/display/intel_vga.c | 68 ++-- drivers/gpu/drm/i915/display/intel_vga.h | 2 - drivers/gpu/drm/i915/display/intel_vga_regs.h | 36 ++ drivers/gpu/drm/i915/display/intel_vrr.c | 5 +- drivers/gpu/drm/i915/display/skl_scaler.c | 4 +- drivers/gpu/drm/i915/display/skl_universal_plane.c | 10 +- drivers/gpu/drm/i915/gt/intel_rps.c | 10 +- drivers/gpu/drm/i915/gt/intel_rps_types.h | 2 +- drivers/gpu/drm/i915/gvt/handlers.c | 1 + drivers/gpu/drm/i915/i915_driver.c | 7 - drivers/gpu/drm/i915/i915_driver.h | 1 - drivers/gpu/drm/i915/i915_drv.h | 7 - drivers/gpu/drm/i915/i915_gpu_error.c | 48 +-- drivers/gpu/drm/i915/i915_gpu_error.h | 3 - drivers/gpu/drm/i915/i915_irq.c | 49 +-- drivers/gpu/drm/i915/i915_reg.h | 144 +++----- drivers/gpu/drm/i915/i915_utils.h | 2 - drivers/gpu/drm/i915/intel_gvt_mmio_table.c | 1 + drivers/gpu/drm/i915/pxp/intel_pxp_gsccs.h | 8 +- drivers/gpu/drm/i915/soc/intel_pch.c | 316 ------------------ drivers/gpu/drm/i915/soc/intel_pch.h | 56 ---- drivers/gpu/drm/xe/Makefile | 3 +- .../gpu/drm/xe/compat-i915-headers/gt/intel_rps.h | 11 - drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 47 +-- .../gpu/drm/xe/compat-i915-headers/soc/intel_pch.h | 6 - drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 6 +- drivers/gpu/drm/xe/display/xe_display.c | 3 - drivers/gpu/drm/xe/display/xe_display_rps.c | 17 - drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 133 +++----- drivers/gpu/drm/xe/xe_device_types.h | 2 - include/drm/display/drm_dp_helper.h | 2 + 120 files changed, 2647 insertions(+), 2322 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/intel_pch.c create mode 100644 drivers/gpu/drm/i915/display/intel_pch.h create mode 100644 drivers/gpu/drm/i915/display/intel_vga_regs.h delete mode 100644 drivers/gpu/drm/i915/soc/intel_pch.c delete mode 100644 drivers/gpu/drm/i915/soc/intel_pch.h delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h delete mode 100644 drivers/gpu/drm/xe/display/xe_display_rps.c