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