On Mon, Dec 15, 2025 at 05:28:14PM +0200, Jani Nikula wrote:
> The i915 and xe initial plane handling deviate at a too high level,
> leading to lots of duplication between the two. This series starts to
> clean it up by moving it to display parent interface, and deduplicating
> piecemeal.
>
> This is intentionally done in small chunks to ease review and catch
> regressions (hopefully none).
>
> There's still more to be done, e.g. it's pointless to have both i915 and
> xe call intel_framebuffer_init(), but there's some error path stuff to
> figure out before doing this. And I ran out of steam a bit, and the
> series got pretty long already.
>
> Anyway, by reducing duplication, the series highlights the differences
> between i915 and xe.
>
> BR,
> Jani.
>
>
> Jani Nikula (15):
> drm/i915: move display/intel_plane_initial.c to i915_initial_plane.c
> drm/xe/display: rename xe_plane_initial.c to xe_initial_plane.c
> drm/i915: rename intel_plane_initial.h to intel_initial_plane.h
> drm/{i915,xe}: move initial plane calls to parent interface
> drm/{i915,xe}: deduplicate intel_initial_plane_config() between i915
> and xe
> drm/{i915,xe}: deduplicate plane_config_fini() between i915 and xe
> drm/{i915,xe}: start deduplicating intel_find_initial_plane_obj()
> between i915 and xe
> drm/i915: return plane_state from intel_reuse_initial_plane_obj()
> drm/xe: return plane_state from intel_reuse_initial_plane_obj()
> drm/i915: further deduplicate intel_find_initial_plane_obj()
> drm/{i915,xe}: deduplicate intel_alloc_initial_plane_obj() FB modifier
> checks
> drm/{i915,xe}: deduplicate initial plane setup
> drm/{i915,xe}: pass struct drm_plane_state instead of struct drm_crtc
> to ->setup
> drm/{i915,xe}: pass struct drm_device instead of drm_device to
> ->alloc_obj
> drm/i915: drop dependency on struct intel_display from i915 initial
> plane
Everything looked quite reasonable. Series is
Reviewed-by: Ville Syrjälä <[email protected]>
>
> drivers/gpu/drm/i915/Makefile | 3 +-
> drivers/gpu/drm/i915/display/intel_display.c | 8 +-
> .../drm/i915/display/intel_display_driver.c | 2 +-
> .../drm/i915/display/intel_initial_plane.c | 193 ++++++++
> ..._plane_initial.h => intel_initial_plane.h} | 6 +-
> .../drm/i915/display/intel_plane_initial.c | 442 ------------------
> drivers/gpu/drm/i915/i915_driver.c | 2 +
> drivers/gpu/drm/i915/i915_initial_plane.c | 290 ++++++++++++
> drivers/gpu/drm/i915/i915_initial_plane.h | 9 +
> drivers/gpu/drm/xe/Makefile | 3 +-
> drivers/gpu/drm/xe/display/xe_display.c | 2 +
> drivers/gpu/drm/xe/display/xe_initial_plane.c | 189 ++++++++
> drivers/gpu/drm/xe/display/xe_initial_plane.h | 9 +
> drivers/gpu/drm/xe/display/xe_plane_initial.c | 321 -------------
> include/drm/intel/display_parent_interface.h | 17 +
> 15 files changed, 723 insertions(+), 773 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/display/intel_initial_plane.c
> rename drivers/gpu/drm/i915/display/{intel_plane_initial.h =>
> intel_initial_plane.h} (60%)
> delete mode 100644 drivers/gpu/drm/i915/display/intel_plane_initial.c
> create mode 100644 drivers/gpu/drm/i915/i915_initial_plane.c
> create mode 100644 drivers/gpu/drm/i915/i915_initial_plane.h
> create mode 100644 drivers/gpu/drm/xe/display/xe_initial_plane.c
> create mode 100644 drivers/gpu/drm/xe/display/xe_initial_plane.h
> delete mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
>
> --
> 2.47.3
--
Ville Syrjälä
Intel