[PULL] drm-intel-next

Jani Nikula
2025-11-14T14:58:32Z

Hi Dave & Sima -

Final drm-intel feature pull request for v6.19.

drm-intel-next-2025-11-14:
drm/i915 feature pull #2 for v6.19:

Features and functionality:
- Add initial display support for Xe3p_LPD, display version 35 (Sai Teja, Matt
R, Gustavo, Matt A, Ankit, Juha-pekka, Luca, Ravi Kumar)
- Compute LT PHY HDMI params when port clock not in predefined tables (Suraj)

Refactoring and cleanups:
- Refactor intel_frontbuffer split between i915, xe, and display (Ville)
- Clean up intel_de_wait_custom() usage (Ville)
- Unify display register polling interfaces (Ville)
- Finish removal of the expensive format info lookups (Ville)
- Cursor code cleanups (Ville)
- Convert intel_rom interfaces to struct drm_device (Jani)

Fixes:
- Fix uninitialized variable in DSI exec packet (Jonathan)
- Fix PIPEDMC logging (Alok Tiwari)
- Fix PSR pipe to vblank conversion (Jani)
- Fix intel_frontbuffer lifetime handling (Ville)
- Disable Panel Replay on DP MST for the time being (Imre)

Merges:
- Backmerge drm-next to get the drm_print.h changes (Jani)

BR,
Jani.

The following changes since commit e237dfe70867f02de223e36340fe5f8b0fe0eada:

Merge tag 'drm-misc-next-2025-11-05-1' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next (2025-11-07 12:41:26 +1000)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2025-11-14

for you to fetch changes up to b84befa3126634d78e31260f538453d534742908:

drm/i915/display: Add default case to mipi_exec_send_packet (2025-11-13 12:02:47 +0200)

----------------------------------------------------------------
drm/i915 feature pull #2 for v6.19:

Features and functionality:
- Add initial display support for Xe3p_LPD, display version 35 (Sai Teja, Matt
R, Gustavo, Matt A, Ankit, Juha-pekka, Luca, Ravi Kumar)
- Compute LT PHY HDMI params when port clock not in predefined tables (Suraj)

Refactoring and cleanups:
- Refactor intel_frontbuffer split between i915, xe, and display (Ville)
- Clean up intel_de_wait_custom() usage (Ville)
- Unify display register polling interfaces (Ville)
- Finish removal of the expensive format info lookups (Ville)
- Cursor code cleanups (Ville)
- Convert intel_rom interfaces to struct drm_device (Jani)

Fixes:
- Fix uninitialized variable in DSI exec packet (Jonathan)
- Fix PIPEDMC logging (Alok Tiwari)
- Fix PSR pipe to vblank conversion (Jani)
- Fix intel_frontbuffer lifetime handling (Ville)
- Disable Panel Replay on DP MST for the time being (Imre)

Merges:
- Backmerge drm-next to get the drm_print.h changes (Jani)

----------------------------------------------------------------
Alok Tiwari (1):
drm/i915/dmc: Fix extra bracket and wrong variable in PIPEDMC error logs

Ankit Nautiyal (1):
drm/i915/xe3p_lpd: Drop support for interlace mode

Gustavo Sousa (7):
drm/i915/display: Use braces for if-ladder in intel_bw_init_hw()
drm/i915/xe3p_lpd: Add CDCLK table
drm/i915/xe3p_lpd: Load DMC firmware
drm/i915/xe3p_lpd: Extend Wa_16025573575
drm/i915/xe3p_lpd: Reload DMC MMIO for pipes C and D
drm/i915/dram: Add field ecc_impacting_de_bw
drm/i915/xe3p_lpd: Always apply WaWmMemoryReadLatency

Imre Deak (1):
drm/i915/dp_mst: Disable Panel Replay

Jani Nikula (5):
drm/i915/psr: fix pipe to vblank conversion
Merge drm/drm-next into drm-intel-next
drm/i915/rom: convert intel_rom interfaces to struct drm_device
drm/i915/ltphy: include intel_display_utils.h instead of i915_utils.h
drm/xe: remove stale runtime_pm member

Jonathan Cavitt (1):
drm/i915/display: Add default case to mipi_exec_send_packet

Juha-pekka Heikkila (1):
drm/i915/xe3p_lpd: Don't allow odd ypan or ysize with semiplanar format

Luca Coelho (1):
drm/i915/wm: don't use method1 in Xe3p_LPD onwards

Matt Atwood (1):
drm/i915/xe3p_lpd: Update bandwidth parameters

Matt Roper (1):
drm/i915/xe3p_lpd: Drop north display reset option programming

Ravi Kumar Vodapalli (1):
drm/i915/xe3p_lpd: Adapt to updates on MBUS_CTL/DBUF_CTL registers

Sai Teja Pottumuttu (4):
drm/i915/xe3p_lpd: Add Xe3p_LPD display IP features
drm/i915/xe3p_lpd: Expand bifield masks dbuf blocks fields
drm/i915/xe3p_lpd: Horizontal flip support for linear surfaces
drm/i915/xe3p_lpd: Remove gamma,csc bottom color checks

Suraj Kandpal (2):
drm/i915/ltphy: Implement HDMI Algo for Pll state
drm/i915/ltphy: Return lowest portclock for HDMI from reverse algorithm

Ville Syrjälä (44):
drm/i915/overlay: Drop the DIRTYFB flush
drm/i915/overlay: Switch to intel_frontbuffer_flip()
drm/i915/frontbuffer: Nuke intel_frontbuffer_flip_{prepare,complete}()
drm/i915/frontbuffer: Turn intel_bo_flush_if_display() into a frontbuffer operation
drm/i915/frontbuffer: Handle the dirtyfb cache flush inside intel_frontbuffer_flush()
drm/i915/frontbuffer: Split fb_tracking.lock into two
drm/i915/frontbuffer: Extract intel_frontbuffer_ref()
drm/i915/frontbuffer: Add intel_frontbuffer::display
drm/i915/frontbuffer: Fix intel_frontbuffer lifetime handling
drm/i915/gem: s/i915_gem_object_get_frontbuffer/i915_gem_object_frontbuffer_lookup/
drm/i915/cx0: Nuke extraneous timeout debugs
drm/i915/ltphy: Nuke extraneous timeout debugs
drm/i915/cx0: Replace XELPDP_PORT_POWERDOWN_UPDATE_TIMEOUT_US with XELPDP_PORT_POWERDOWN_UPDATE_TIMEOUT_MS
drm/i915/cx0: Get rid of XELPDP_MSGBUS_TIMEOUT_FAST_US
drm/i915/cx0: s/XELPDP_MSGBUS_TIMEOUT_SLOW/XELPDP_MSGBUS_TIMEOUT_MS/
drm/i915/cx0: s/XELPDP_PORT_RESET_END_TIMEOUT/XELPDP_PORT_RESET_END_TIMEOUT_MS/
drm/i915/ltphy: Nuke bogus weird timeouts
drm/i915/hdcp: Use the default 2 usec fast polling timeout
drm/i915/pmdemand: Use the default 2 usec fast polling timeout
drm/i915/de: Implement register waits one way
drm/i915/de: Have intel_de_wait() hand out the final register value
drm/i915/de: Include units in intel_de_wait*() function names
drm/i915/de: Introduce intel_de_wait_us()
drm/i915/de: Use intel_de_wait_us()
drm/i915/de: Use intel_de_wait_ms() for the obvious cases
drm/i915/de: Nuke intel_de_wait_custom()
drm/i915/de: Introduce intel_de_wait_for_{set,clear}_us()
drm/i915/de: Use intel_de_wait_for_{set,clear}_us()
drm/i915/de: Use intel_de_wait_for_{set,clear}_ms()
drm/1915/dpio: Stop using intel_de_wait_fw_ms()
drm/i915/de: Replace __intel_de_rmw_nowl() with intel_de_rmw_fw()
drm/i915/de: Nuke wakelocks from intel_de_wait_fw_ms()
drm/i915/de: Replace __intel_de_wait_for_register_nowl() with intel_de_wait_fw_us_atomic()
drm/i915/power: Use the intel_de_wait_ms() out value
drm/i915/dpio: Use the intel_de_wait_ms() out value
drm/i915: Introduce intel_dumb_fb_max_stride()
drm/i915: Pass drm_format_info into plane->max_stride()
drm/i915: Populate fb->format accurately in BIOS FB readout
drm/i915: Nuke intel_plane_config.tiling
drm/i915/fb: Init 'ret' in each error branch in intel_framebuffer_init()
drm/i915/wm: Use drm_get_format_info() in SKL+ cursor DDB allocation
drm/i915: Use mode_config->cursor_width for cursor DDB allocation
drm/i915/cursor: Extract intel_cursor_mode_config_init()
drm/i915/cursor: Initialize 845 vs 865 cursor size separately

drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/hsw_ips.c | 4 +-
drivers/gpu/drm/i915/display/i9xx_plane.c | 32 +-
drivers/gpu/drm/i915/display/i9xx_plane.h | 5 +-
drivers/gpu/drm/i915/display/icl_dsi.c | 35 +-
drivers/gpu/drm/i915/display/intel_bios.c | 6 +-
drivers/gpu/drm/i915/display/intel_bo.c | 40 +-
drivers/gpu/drm/i915/display/intel_bo.h | 8 +-
drivers/gpu/drm/i915/display/intel_bw.c | 43 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 74 +++-
drivers/gpu/drm/i915/display/intel_color.c | 13 +-
drivers/gpu/drm/i915/display/intel_crt.c | 16 +-
drivers/gpu/drm/i915/display/intel_cursor.c | 28 +-
drivers/gpu/drm/i915/display/intel_cursor.h | 2 +
drivers/gpu/drm/i915/display/intel_cx0_phy.c | 134 +++----
drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h | 7 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 34 +-
drivers/gpu/drm/i915/display/intel_de.h | 143 +++----
drivers/gpu/drm/i915/display/intel_display.c | 42 +-
drivers/gpu/drm/i915/display/intel_display.h | 8 +-
drivers/gpu/drm/i915/display/intel_display_core.h | 5 +-
.../gpu/drm/i915/display/intel_display_debugfs.c | 3 -
.../gpu/drm/i915/display/intel_display_device.c | 1 +
.../gpu/drm/i915/display/intel_display_driver.c | 13 +-
drivers/gpu/drm/i915/display/intel_display_power.c | 17 +-
.../drm/i915/display/intel_display_power_well.c | 42 +-
drivers/gpu/drm/i915/display/intel_display_types.h | 5 +-
drivers/gpu/drm/i915/display/intel_display_wa.c | 3 +-
drivers/gpu/drm/i915/display/intel_dmc.c | 19 +-
drivers/gpu/drm/i915/display/intel_dmc_wl.c | 25 +-
drivers/gpu/drm/i915/display/intel_dp_aux.c | 6 +-
drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 14 +-
drivers/gpu/drm/i915/display/intel_dpio_phy.c | 10 +-
drivers/gpu/drm/i915/display/intel_dpll.c | 4 +-
drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 27 +-
drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 3 +
drivers/gpu/drm/i915/display/intel_fb.c | 24 +-
drivers/gpu/drm/i915/display/intel_fbc.c | 4 +-
drivers/gpu/drm/i915/display/intel_flipq.c | 8 +-
drivers/gpu/drm/i915/display/intel_frontbuffer.c | 155 ++------
drivers/gpu/drm/i915/display/intel_frontbuffer.h | 18 +-
drivers/gpu/drm/i915/display/intel_gmbus.c | 2 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 49 ++-
drivers/gpu/drm/i915/display/intel_hdmi.c | 4 +-
drivers/gpu/drm/i915/display/intel_lt_phy.c | 441 ++++++++++++++++++---
drivers/gpu/drm/i915/display/intel_lt_phy.h | 3 +
drivers/gpu/drm/i915/display/intel_lt_phy_regs.h | 23 +-
drivers/gpu/drm/i915/display/intel_lvds.c | 6 +-
drivers/gpu/drm/i915/display/intel_overlay.c | 6 +-
drivers/gpu/drm/i915/display/intel_pch_display.c | 12 +-
drivers/gpu/drm/i915/display/intel_pch_refclk.c | 10 +-
drivers/gpu/drm/i915/display/intel_plane.c | 3 +
drivers/gpu/drm/i915/display/intel_plane_initial.c | 11 +-
drivers/gpu/drm/i915/display/intel_pmdemand.c | 18 +-
drivers/gpu/drm/i915/display/intel_psr.c | 17 +-
drivers/gpu/drm/i915/display/intel_sbi.c | 6 +-
drivers/gpu/drm/i915/display/intel_snps_phy.c | 8 +-
drivers/gpu/drm/i915/display/intel_sprite.c | 10 +-
drivers/gpu/drm/i915/display/intel_tc.c | 8 +-
drivers/gpu/drm/i915/display/intel_vrr.c | 6 +-
drivers/gpu/drm/i915/display/skl_universal_plane.c | 25 +-
.../drm/i915/display/skl_universal_plane_regs.h | 12 +-
drivers/gpu/drm/i915/display/skl_watermark.c | 40 +-
drivers/gpu/drm/i915/display/skl_watermark_regs.h | 52 +--
drivers/gpu/drm/i915/display/vlv_dsi.c | 54 +--
drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 8 +-
drivers/gpu/drm/i915/gem/i915_gem_create.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_object.c | 16 +-
.../gpu/drm/i915/gem/i915_gem_object_frontbuffer.c | 103 +++++
.../gpu/drm/i915/gem/i915_gem_object_frontbuffer.h | 54 +--
drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 2 +-
drivers/gpu/drm/i915/i915_drv.h | 2 +
drivers/gpu/drm/i915/i915_gem.c | 2 +
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/i915_vma.c | 8 +-
drivers/gpu/drm/i915/soc/intel_dram.c | 4 +
drivers/gpu/drm/i915/soc/intel_dram.h | 1 +
drivers/gpu/drm/i915/soc/intel_rom.c | 7 +-
drivers/gpu/drm/i915/soc/intel_rom.h | 6 +-
drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h | 2 -
.../gpu/drm/xe/compat-i915-headers/intel_uncore.h | 31 +-
drivers/gpu/drm/xe/display/intel_bo.c | 60 ++-
drivers/gpu/drm/xe/xe_device_types.h | 3 -
83 files changed, 1347 insertions(+), 874 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.c

--
Jani Nikula, Intel