public inbox for intel-xe@lists.freedesktop.org
 help / color / mirror / Atom feed
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

  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