intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: jani.nikula@intel.com
Subject: [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling
Date: Mon, 15 Dec 2025 17:28:14 +0200	[thread overview]
Message-ID: <cover.1765812266.git.jani.nikula@intel.com> (raw)

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

 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


             reply	other threads:[~2025-12-15 15:28 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-15 15:28 Jani Nikula [this message]
2025-12-15 15:28 ` [PATCH 01/15] drm/i915: move display/intel_plane_initial.c to i915_initial_plane.c Jani Nikula
2025-12-15 15:28 ` [PATCH 02/15] drm/xe/display: rename xe_plane_initial.c to xe_initial_plane.c Jani Nikula
2025-12-15 15:28 ` [PATCH 03/15] drm/i915: rename intel_plane_initial.h to intel_initial_plane.h Jani Nikula
2025-12-15 15:28 ` [PATCH 04/15] drm/{i915, xe}: move initial plane calls to parent interface Jani Nikula
2025-12-15 15:28 ` [PATCH 05/15] drm/{i915, xe}: deduplicate intel_initial_plane_config() between i915 and xe Jani Nikula
2025-12-15 15:28 ` [PATCH 06/15] drm/{i915, xe}: deduplicate plane_config_fini() " Jani Nikula
2025-12-15 15:28 ` [PATCH 07/15] drm/{i915, xe}: start deduplicating intel_find_initial_plane_obj() " Jani Nikula
2025-12-15 15:28 ` [PATCH 08/15] drm/i915: return plane_state from intel_reuse_initial_plane_obj() Jani Nikula
2025-12-15 15:28 ` [PATCH 09/15] drm/xe: " Jani Nikula
2025-12-15 15:28 ` [PATCH 10/15] drm/i915: further deduplicate intel_find_initial_plane_obj() Jani Nikula
2025-12-15 15:28 ` [PATCH 11/15] drm/{i915, xe}: deduplicate intel_alloc_initial_plane_obj() FB modifier checks Jani Nikula
2025-12-15 15:28 ` [PATCH 12/15] drm/{i915,xe}: deduplicate initial plane setup Jani Nikula
2025-12-15 15:28 ` [PATCH 13/15] drm/{i915, xe}: pass struct drm_plane_state instead of struct drm_crtc to ->setup Jani Nikula
2025-12-15 15:28 ` [PATCH 14/15] drm/{i915, xe}: pass struct drm_device instead of drm_device to ->alloc_obj Jani Nikula
2025-12-15 15:28 ` [PATCH 15/15] drm/i915: drop dependency on struct intel_display from i915 initial plane Jani Nikula
2025-12-15 18:00 ` ✓ i915.CI.BAT: success for drm/{i915, xe}: clean up and deduplicate initial plane handling Patchwork
2025-12-15 23:43 ` ✗ i915.CI.Full: failure " Patchwork
2025-12-19 20:17 ` [PATCH 00/15] " Ville Syrjälä
2025-12-22 13:36   ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1765812266.git.jani.nikula@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).