On Thu, 15 Jan 2026, Juasheem Sultan <[email protected]> wrote: > 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.
The goal is something we obviously share. > 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. - There's just way, *way* too much code duplication. I can't even make myself read through the entire thing because it's all familiar existing stuff, just subtly different. I can't stress this enough. There's so much duplication that I won't take on telling you what needs to be done. It's on you to figure out how to deduplicate. - There's way too much magic values and hacking for a specific configuration. - There's way too much code being added in xe_display.c when the goal is to unify and deduplicate everything under i915/display. All of this needs to happen in the i915/display directory, shared between i915 and xe drivers. - There's way too many random unrelated unexplained things going on here. Things like unused struct members being added, commented out code being added, stuff being first added and then removed later in the series. - There are way too many things being done in individual patches. The "key changes include" lists in commit messages are a pretty big clue. Each patch should do one thing, and one thing only. At times it feels like the changes in single patches aren't even related to each other. All in all, I get the distinct feeling a lot of this is LLM generated, which is something you'd do well to disclose if it's indeed the case. Please see [1] for current discussion on the matter. Again, the goal is something we share, but I honestly fear taking this series as the starting point for that will be counter-productive. I would love to see small, focused patch series tackling existing issues one by one, instead of a giant hack attempting to fix everything at once. BR, Jani. [1] https://lore.kernel.org/r/[email protected] > > 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, -- Jani Nikula, Intel
