From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 04/10] drm/i915: Make plane_config->fb a struct drm_framebuffer*
Date: Fri, 10 Apr 2026 18:48:02 +0300 [thread overview]
Message-ID: <fa77ccf73f2da60f4fcfc7275c03ce63907da8ba@intel.com> (raw)
In-Reply-To: <20260410150449.9699-5-ville.syrjala@linux.intel.com>
On Fri, 10 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> There's no need to use the intel specific struct intel_framebuffer*
> type in the initial plane_config structure. Just make it a
> struct drm_framebuffer*.
I guess a few words on the "why?" would be nice. I mean they're still
pointers to struct intel_framebuffer objects, and could be
container_of'd back.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/i9xx_plane.c | 2 +-
> drivers/gpu/drm/i915/display/intel_display_types.h | 2 +-
> drivers/gpu/drm/i915/display/intel_initial_plane.c | 10 +++++-----
> drivers/gpu/drm/i915/display/skl_universal_plane.c | 2 +-
> drivers/gpu/drm/i915/i915_initial_plane.c | 6 +++---
> drivers/gpu/drm/xe/display/xe_initial_plane.c | 2 +-
> 6 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/i9xx_plane.c b/drivers/gpu/drm/i915/display/i9xx_plane.c
> index 9c16753a1f3b..70734d32a409 100644
> --- a/drivers/gpu/drm/i915/display/i9xx_plane.c
> +++ b/drivers/gpu/drm/i915/display/i9xx_plane.c
> @@ -1240,7 +1240,7 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
> fb->width, fb->height, fb->format->cpp[0] * 8,
> base, fb->pitches[0], plane_config->size);
>
> - plane_config->fb = intel_fb;
> + plane_config->fb = &intel_fb->base;
> }
>
> bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index eaa37b8d9584..82c7e03427ff 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -755,7 +755,7 @@ struct intel_plane_state {
> };
>
> struct intel_initial_plane_config {
> - struct intel_framebuffer *fb;
> + struct drm_framebuffer *fb;
> struct i915_vma *vma;
> int size;
> u32 base;
> diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
> index 4f51083dbd11..911d67dceba9 100644
> --- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
> +++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
> @@ -55,9 +55,9 @@ static struct drm_gem_object *
> intel_alloc_initial_plane_obj(struct intel_display *display,
> struct intel_initial_plane_config *plane_config)
> {
> - struct intel_framebuffer *fb = plane_config->fb;
> + struct drm_framebuffer *fb = plane_config->fb;
>
> - switch (fb->base.modifier) {
> + switch (fb->modifier) {
> case DRM_FORMAT_MOD_LINEAR:
> case I915_FORMAT_MOD_X_TILED:
> case I915_FORMAT_MOD_Y_TILED:
> @@ -65,7 +65,7 @@ intel_alloc_initial_plane_obj(struct intel_display *display,
> break;
> default:
> drm_dbg_kms(display->drm, "Unsupported modifier for initial FB: 0x%llx\n",
> - fb->base.modifier);
> + fb->modifier);
> return NULL;
> }
>
> @@ -93,7 +93,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
> return;
>
> if (intel_alloc_initial_plane_obj(display, plane_config)) {
> - fb = &plane_config->fb->base;
> + fb = plane_config->fb;
> vma = plane_config->vma;
> } else {
> const struct intel_plane_state *other_plane_state;
> @@ -149,7 +149,7 @@ static void plane_config_fini(struct intel_display *display,
> struct intel_initial_plane_config *plane_config)
> {
> if (plane_config->fb) {
> - struct drm_framebuffer *fb = &plane_config->fb->base;
> + struct drm_framebuffer *fb = plane_config->fb;
>
> /* We may only have the stub and not a full framebuffer */
> if (drm_framebuffer_read_refcount(fb))
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> index 7a9d494334b5..00c863e378a1 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> @@ -3206,7 +3206,7 @@ skl_get_initial_plane_config(struct intel_crtc *crtc,
> fb->width, fb->height, fb->format->cpp[0] * 8,
> base, fb->pitches[0], plane_config->size);
>
> - plane_config->fb = intel_fb;
> + plane_config->fb = &intel_fb->base;
> return;
>
> error:
> diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
> index 6df57db9b62a..5cb1adde67b6 100644
> --- a/drivers/gpu/drm/i915/i915_initial_plane.c
> +++ b/drivers/gpu/drm/i915/i915_initial_plane.c
> @@ -137,7 +137,7 @@ initial_plane_vma(struct drm_i915_private *i915,
> i915_gem_object_set_cache_coherency(obj, HAS_WT(i915) ?
> I915_CACHE_WT : I915_CACHE_NONE);
>
> - tiling = intel_fb_modifier_to_tiling(plane_config->fb->base.modifier);
> + tiling = intel_fb_modifier_to_tiling(plane_config->fb->modifier);
>
> switch (tiling) {
> case I915_TILING_NONE:
> @@ -145,7 +145,7 @@ initial_plane_vma(struct drm_i915_private *i915,
> case I915_TILING_X:
> case I915_TILING_Y:
> obj->tiling_and_stride =
> - plane_config->fb->base.pitches[0] |
> + plane_config->fb->pitches[0] |
> tiling;
> break;
> default:
> @@ -223,7 +223,7 @@ i915_alloc_initial_plane_obj(struct drm_device *drm,
> {
> struct drm_i915_private *i915 = to_i915(drm);
> struct drm_mode_fb_cmd2 mode_cmd = {};
> - struct drm_framebuffer *fb = &plane_config->fb->base;
> + struct drm_framebuffer *fb = plane_config->fb;
> struct i915_vma *vma;
>
> vma = initial_plane_vma(i915, plane_config);
> diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
> index 1c7a4e8c390c..8f2d0244c03f 100644
> --- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
> +++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
> @@ -115,7 +115,7 @@ xe_alloc_initial_plane_obj(struct drm_device *drm,
> {
> struct xe_device *xe = to_xe_device(drm);
> struct drm_mode_fb_cmd2 mode_cmd = { 0 };
> - struct drm_framebuffer *fb = &plane_config->fb->base;
> + struct drm_framebuffer *fb = plane_config->fb;
> struct xe_bo *bo;
>
> mode_cmd.pixel_format = fb->format->format;
--
Jani Nikula, Intel
next prev parent reply other threads:[~2026-04-10 15:48 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-10 15:04 [PATCH 00/10] drm/i915: Some fixes/cleanups to the BIOS FB stuff Ville Syrjala
2026-04-10 15:04 ` [PATCH 01/10] drm/i915: Introduce sanity to the plane_config pointer vs. array thing Ville Syrjala
2026-04-10 15:40 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 02/10] drm/i915: Remove 'mem' and 'phy_base' from struct intel_initial_plane_config Ville Syrjala
2026-04-10 15:43 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 03/10] drm/i915: Don't pass the whole plane_config to initial_plane_phys() Ville Syrjala
2026-04-10 15:45 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 04/10] drm/i915: Make plane_config->fb a struct drm_framebuffer* Ville Syrjala
2026-04-10 15:48 ` Jani Nikula [this message]
2026-04-10 15:04 ` [PATCH 05/10] drm/i915: Move initial plane vblank wait into display code Ville Syrjala
2026-04-10 15:53 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 06/10] drm/i915: Use a 1 second timeout for the polling vblank wait Ville Syrjala
2026-04-10 15:54 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 07/10] drm/i915: Reject tile4 BIOS FB Ville Syrjala
2026-04-10 15:55 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 08/10] drm/i915: Reject X/Y tiled BIOS FB if we don't have fenced regions Ville Syrjala
2026-04-10 15:56 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 09/10] drm/i915: Completely reject DPT BIOS FBs Ville Syrjala
2026-04-10 16:00 ` Jani Nikula
2026-04-10 15:04 ` [PATCH 10/10] drm/i915: Reject BIOS FB rotation in common code Ville Syrjala
2026-04-10 16:01 ` Jani Nikula
2026-04-10 15:12 ` ✓ CI.KUnit: success for drm/i915: Some fixes/cleanups to the BIOS FB stuff Patchwork
2026-04-10 16:41 ` ✓ Xe.CI.BAT: " Patchwork
2026-04-11 3:46 ` ✓ Xe.CI.FULL: " Patchwork
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=fa77ccf73f2da60f4fcfc7275c03ce63907da8ba@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox