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
Subject: Re: [PATCH 00/22] drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo
Date: Wed, 18 Sep 2024 15:34:45 +0300 [thread overview]
Message-ID: <87jzf9b0nu.fsf@intel.com> (raw)
In-Reply-To: <cover.1726589119.git.jani.nikula@intel.com>
On Tue, 17 Sep 2024, Jani Nikula <jani.nikula@intel.com> wrote:
> 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.
Rodrigo, Lucas, ack for merging this via drm-intel-next?
BR,
Jani.
>
>
> 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
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-09-18 12:34 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-17 16:13 [PATCH 00/22] drm/i915 & drm/xe: kill off -Ddrm_i915_gem_object=xe_bo Jani Nikula
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 ` Jani Nikula [this message]
2024-09-18 12:46 ` ✗ CI.FULL: failure " 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=87jzf9b0nu.fsf@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.