This RFC patch series proposes an implementation of seamless boot (fastboot)
support for Panther Lake (PTL) platforms within the Xe driver, mirroring
functionality already present in i915. The primary focus is on devices using
MSO (Multi-Segment Operation) panels and EDP panels.
The goal of this series is to achieve a flicker-free transition from the
bootloader (BIOS/UEFI) to the kernel driver by strictly adhering to the
hardware state established by the firmware.
Key areas addressed in this revision:
1. **Boot State Preservation**: Where necessary, make amendments to initial
hardware readouts and ensure that the framebuffer state as established
by firmware is correctly passed into the driver as a memory object.
2. **Atomic State Handoff**: Adjusting the atomic commit path to prevent
unnecessary pipe disables or power well toggles when inheriting a valid
boot state.
3. **Passive Probing**: Introducing a "passive" initialization path that
builds the DRM software state without triggering hardware resets.
This is an initial implementation subject to discussion.
Change-Id: I5cd3bdd4f6f687f007e91f6d0afbfeecfc06762b
Signed-off-by: Juasheem Sultan <[email protected]>
---
Juasheem Sultan (10):
drm/i915/display: Implement passive initialization for splash screen
preservation
drm/xe/display: Implement seamless boot state reconstruction for PTL
drm/i915/display: Implement aggressive boot state preservation for PTL
drm/xe/display: Fix initial plane reconstruction and stolen memory
handling
drm/i915/display: Enable early PLL readout and robustify modeset setup
drm/i915/display: Fix vblank timestamps and update logic for fastboot
drm/i915/display: Implement seamless fastboot for MSO panels on PTL
drm/i915/display: Robustify fastboot and power init for seamless boot
drm/i915/display: Fix initial plane config readout and MSO stride for PTL
drm/i915/display: Refactor initial plane readout and harden boot handover
drivers/gpu/drm/i915/display/intel_bios.c | 40 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 36 -
drivers/gpu/drm/i915/display/intel_cdclk.h | 41 +-
drivers/gpu/drm/i915/display/intel_connector.c | 9 +
drivers/gpu/drm/i915/display/intel_connector.h | 1 +
drivers/gpu/drm/i915/display/intel_crtc.c | 62 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 205 +++++-
drivers/gpu/drm/i915/display/intel_ddi.h | 2 +
drivers/gpu/drm/i915/display/intel_display.c | 814 +++++++++++++++++++--
drivers/gpu/drm/i915/display/intel_display.h | 6 +
drivers/gpu/drm/i915/display/intel_display_core.h | 2 +
.../gpu/drm/i915/display/intel_display_driver.c | 329 ++++++++-
drivers/gpu/drm/i915/display/intel_display_power.c | 16 +-
drivers/gpu/drm/i915/display/intel_display_types.h | 8 +
drivers/gpu/drm/i915/display/intel_dp.c | 372 ++++++++--
drivers/gpu/drm/i915/display/intel_dp.h | 5 +
drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 16 +-
drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 1 +
drivers/gpu/drm/i915/display/intel_hdmi.c | 39 +
drivers/gpu/drm/i915/display/intel_hdmi.h | 2 +
drivers/gpu/drm/i915/display/intel_modeset_setup.c | 7 +
.../gpu/drm/i915/display/intel_modeset_verify.c | 14 +-
drivers/gpu/drm/i915/display/intel_panel.c | 41 +-
drivers/gpu/drm/i915/display/intel_panel.h | 3 +
drivers/gpu/drm/i915/display/intel_plane_initial.c | 53 ++
drivers/gpu/drm/i915/display/skl_universal_plane.c | 32 +-
drivers/gpu/drm/xe/display/xe_display.c | 309 +++++++-
drivers/gpu/drm/xe/display/xe_display.h | 2 +
drivers/gpu/drm/xe/display/xe_plane_initial.c | 28 +-
drivers/gpu/drm/xe/xe_device.c | 2 +-
drivers/gpu/drm/xe/xe_ggtt.h | 3 +
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 2 +
32 files changed, 2302 insertions(+), 200 deletions(-)
---
base-commit: 812e4b8966d421afd4df8f794bf15f1a1a3ec7b6
change-id: 20260115-upstream-prep-b29156970a75
Best regards,
--
Juasheem Sultan <[email protected]>