From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: rodrigo.vivi@intel.com, lucas.demarchi@intel.com,
ville.syrjala@linux.intel.com, maarten.lankhorst@linux.intel.com,
jani.nikula@intel.com
Subject: [PATCH 00/22] drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo
Date: Tue, 17 Sep 2024 19:13:39 +0300 [thread overview]
Message-ID: <cover.1726589119.git.jani.nikula@intel.com> (raw)
The xe Makefile defines -Ddrm_i915_gem_object=xe_bo to build i915
display for xe. This lengthy series removes that hack.
This is based on two ideas:
1) Always use struct drm_gem_object instead of struct
drm_i915_gem_object or xe_bo in code that gets built for both i915
and xe.
2) Add intel_bo_*() abstraction functions for things that need i915 and
xe specific implementations. There's one shared intel_bo.h in i915
display, and separate intel_bo.c in i915 and xe. Also these functions
operate on struct drm_gem_object.
The rest is just gradual conversion and cleanup.
There'll still be some code remaining in i915 display that gets only
built for i915, and continues to use struct drm_i915_gem_object. Maybe
we'll want to continue the conversion with them too.
The most important end result is that there's no longer confusion what
struct drm_i915_gem_object actually means. It means just that, you can't
accidentally use it in xe code, and it's never xe_bo anymore.
BR,
Jani.
Jani Nikula (22):
drm/i915/display: start a buffer object abstraction layer
drm/i915/display: convert intel_atomic_plane.c to struct
drm_gem_object
drm/i915/fb: convert parts of intel_fb.c to struct drm_gem_object
drm/i915/fbdev: convert intel_fbdev.c to struct drm_gem_object
drm/i915/display: convert skl_universal_plane.c to struct
drm_gem_object
drm/i915/fb: convert intel_framebuffer_init() to struct drm_gem_object
drm/i915/fb: convert intel_fb_bo_lookup_valid_bo() to struct
drm_gem_object
drm/i915/fb: convert intel_fb_bo_framebuffer_init() to struct
drm_i915_gem_object
drm/i915/fb: convert intel_fb_bo_framebuffer_fini() to struct
drm_i915_gem_object
drm/xe/display: use correct bo type in intel_fbdev_fb_alloc()
drm/i915/fb: convert intel_framebuffer_create() to struct
drm_gem_object
drm/xe/display: stop using intel_fb_obj() in xe_fb_pin.c
drm/i915/display: add intel_bo_read_from_page() and use it
drm/i915/display: add intel_bo_get/set_frontbuffer() and use them
drm/i915/frontbuffer: convert intel_frontbuffer_get() to struct
drm_gem_object
drm/i915/frontbuffer: convert frontbuffer->obj to struct
drm_gem_object
drm/i915/display: add intel_bo_describe() and use it
drm/i915/fb: remove intel_fb_obj()
drm/i915/display: clean up some gem/ includes
drm/xe/compat: remove a bunch of compat gem headers
drm/xe: remove a number of superfluous compat macros
drm/xe: eradicate -Ddrm_i915_gem_object=xe_bo
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/i9xx_wm.c | 7 +-
.../gpu/drm/i915/display/intel_atomic_plane.c | 12 +--
drivers/gpu/drm/i915/display/intel_bo.c | 59 +++++++++++++
drivers/gpu/drm/i915/display/intel_bo.h | 27 ++++++
drivers/gpu/drm/i915/display/intel_cursor.c | 2 -
drivers/gpu/drm/i915/display/intel_display.c | 12 ++-
drivers/gpu/drm/i915/display/intel_display.h | 4 -
.../drm/i915/display/intel_display_debugfs.c | 6 +-
drivers/gpu/drm/i915/display/intel_dpt.c | 2 +-
drivers/gpu/drm/i915/display/intel_fb.c | 56 ++++++-------
drivers/gpu/drm/i915/display/intel_fb.h | 8 +-
drivers/gpu/drm/i915/display/intel_fb_bo.c | 9 +-
drivers/gpu/drm/i915/display/intel_fb_bo.h | 10 +--
drivers/gpu/drm/i915/display/intel_fb_pin.c | 14 ++--
drivers/gpu/drm/i915/display/intel_fbdev.c | 28 +++----
drivers/gpu/drm/i915/display/intel_fbdev_fb.c | 6 +-
drivers/gpu/drm/i915/display/intel_fbdev_fb.h | 4 +-
.../gpu/drm/i915/display/intel_frontbuffer.c | 63 +++++++-------
.../gpu/drm/i915/display/intel_frontbuffer.h | 5 +-
drivers/gpu/drm/i915/display/intel_overlay.c | 2 +-
.../drm/i915/display/intel_plane_initial.c | 2 +-
.../drm/i915/display/skl_universal_plane.c | 5 +-
.../gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +-
drivers/gpu/drm/i915/pxp/intel_pxp.c | 4 +-
drivers/gpu/drm/i915/pxp/intel_pxp.h | 4 +-
drivers/gpu/drm/xe/Makefile | 2 +-
.../compat-i915-headers/gem/i915_gem_lmem.h | 1 -
.../compat-i915-headers/gem/i915_gem_mman.h | 17 ----
.../compat-i915-headers/gem/i915_gem_object.h | 64 --------------
.../gem/i915_gem_object_frontbuffer.h | 12 ---
.../gem/i915_gem_object_types.h | 11 ---
.../drm/xe/compat-i915-headers/i915_debugfs.h | 14 ----
.../gpu/drm/xe/compat-i915-headers/i915_drv.h | 1 +
.../xe/compat-i915-headers/pxp/intel_pxp.h | 10 +--
drivers/gpu/drm/xe/display/intel_bo.c | 84 +++++++++++++++++++
drivers/gpu/drm/xe/display/intel_fb_bo.c | 19 +++--
drivers/gpu/drm/xe/display/intel_fb_bo.h | 24 ------
drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 12 +--
drivers/gpu/drm/xe/display/xe_fb_pin.c | 12 ++-
drivers/gpu/drm/xe/display/xe_plane_initial.c | 2 +-
drivers/gpu/drm/xe/xe_bo.h | 2 -
drivers/gpu/drm/xe/xe_bo_types.h | 3 -
43 files changed, 341 insertions(+), 303 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_bo.c
create mode 100644 drivers/gpu/drm/i915/display/intel_bo.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_types.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
create mode 100644 drivers/gpu/drm/xe/display/intel_bo.c
delete mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.h
--
2.39.2
next reply other threads:[~2024-09-17 16:14 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-17 16:13 Jani Nikula [this message]
2024-09-17 16:13 ` [PATCH 01/22] drm/i915/display: start a buffer object abstraction layer Jani Nikula
2024-09-17 16:13 ` [PATCH 02/22] drm/i915/display: convert intel_atomic_plane.c to struct drm_gem_object Jani Nikula
2024-09-17 16:13 ` [PATCH 03/22] drm/i915/fb: convert parts of intel_fb.c " Jani Nikula
2024-09-17 18:22 ` Maarten Lankhorst
2024-09-18 6:26 ` Jani Nikula
2024-09-18 6:25 ` [PATCH v2] " Jani Nikula
2024-09-18 9:24 ` Maarten Lankhorst
2024-09-17 16:13 ` [PATCH 04/22] drm/i915/fbdev: convert intel_fbdev.c " Jani Nikula
2024-09-17 16:13 ` [PATCH 05/22] drm/i915/display: convert skl_universal_plane.c " Jani Nikula
2024-09-17 16:13 ` [PATCH 06/22] drm/i915/fb: convert intel_framebuffer_init() " Jani Nikula
2024-09-17 16:13 ` [PATCH 07/22] drm/i915/fb: convert intel_fb_bo_lookup_valid_bo() " Jani Nikula
2024-09-17 16:13 ` [PATCH 08/22] drm/i915/fb: convert intel_fb_bo_framebuffer_init() to struct drm_i915_gem_object Jani Nikula
2024-09-17 16:13 ` [PATCH 09/22] drm/i915/fb: convert intel_fb_bo_framebuffer_fini() " Jani Nikula
2024-09-17 16:13 ` [PATCH 10/22] drm/xe/display: use correct bo type in intel_fbdev_fb_alloc() Jani Nikula
2024-09-19 13:21 ` Lucas De Marchi
2024-09-17 16:13 ` [PATCH 11/22] drm/i915/fb: convert intel_framebuffer_create() to struct drm_gem_object Jani Nikula
2024-09-17 16:13 ` [PATCH 12/22] drm/xe/display: stop using intel_fb_obj() in xe_fb_pin.c Jani Nikula
2024-09-19 13:20 ` Lucas De Marchi
2024-09-17 16:13 ` [PATCH 13/22] drm/i915/display: add intel_bo_read_from_page() and use it Jani Nikula
2024-09-17 16:13 ` [PATCH 14/22] drm/i915/display: add intel_bo_get/set_frontbuffer() and use them Jani Nikula
2024-09-17 16:13 ` [PATCH 15/22] drm/i915/frontbuffer: convert intel_frontbuffer_get() to struct drm_gem_object Jani Nikula
2024-09-17 16:13 ` [PATCH 16/22] drm/i915/frontbuffer: convert frontbuffer->obj " Jani Nikula
2024-09-17 16:13 ` [PATCH 17/22] drm/i915/display: add intel_bo_describe() and use it Jani Nikula
2024-09-17 16:13 ` [PATCH 18/22] drm/i915/fb: remove intel_fb_obj() Jani Nikula
2024-09-17 16:13 ` [PATCH 19/22] drm/i915/display: clean up some gem/ includes Jani Nikula
2024-09-17 16:13 ` [PATCH 20/22] drm/xe/compat: remove a bunch of compat gem headers Jani Nikula
2024-09-19 13:16 ` Lucas De Marchi
2024-09-17 16:14 ` [PATCH 21/22] drm/xe: remove a number of superfluous compat macros Jani Nikula
2024-09-19 13:20 ` Lucas De Marchi
2024-09-17 16:14 ` [PATCH 22/22] drm/xe: eradicate -Ddrm_i915_gem_object=xe_bo Jani Nikula
2024-09-17 21:53 ` Maarten Lankhorst
2024-09-19 13:19 ` Lucas De Marchi
2024-09-17 16:22 ` ✓ CI.Patch_applied: success for drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo Patchwork
2024-09-17 16:22 ` ✗ CI.checkpatch: warning " Patchwork
2024-09-17 16:24 ` ✓ CI.KUnit: success " Patchwork
2024-09-17 16:35 ` ✓ CI.Build: " Patchwork
2024-09-17 16:38 ` ✓ CI.Hooks: " Patchwork
2024-09-17 16:39 ` ✗ CI.checksparse: warning " Patchwork
2024-09-17 16:56 ` ✗ Fi.CI.CHECKPATCH: " Patchwork
2024-09-17 16:56 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-09-17 16:57 ` ✓ CI.BAT: success " Patchwork
2024-09-17 17:04 ` ✓ Fi.CI.BAT: " Patchwork
2024-09-17 18:06 ` ✗ CI.FULL: failure " Patchwork
2024-09-18 6:58 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo (rev2) Patchwork
2024-09-18 6:58 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-09-18 7:05 ` ✓ Fi.CI.BAT: success " Patchwork
2024-09-18 8:09 ` ✓ Fi.CI.IGT: success for drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo Patchwork
2024-09-18 8:58 ` ✓ CI.Patch_applied: success for drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo (rev2) Patchwork
2024-09-18 8:59 ` ✗ CI.checkpatch: warning " Patchwork
2024-09-18 9:04 ` ✓ CI.KUnit: success " Patchwork
2024-09-18 9:21 ` ✓ CI.Build: " Patchwork
2024-09-18 9:23 ` ✓ CI.Hooks: " Patchwork
2024-09-18 9:25 ` ✗ CI.checksparse: warning " Patchwork
2024-09-18 12:28 ` ✓ Fi.CI.IGT: success " Patchwork
2024-09-18 12:34 ` [PATCH 00/22] drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo Jani Nikula
2024-09-18 12:46 ` ✗ CI.FULL: failure for drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo (rev2) Patchwork
2024-09-19 13:42 ` [PATCH 00/22] drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo 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.1726589119.git.jani.nikula@intel.com \
--to=jani.nikula@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=ville.syrjala@linux.intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.