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

Reply via email to