[PULL] drm-intel-next

Rodrigo Vivi
2025-05-08T13:32:38Z

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