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 02/16] drm/i915: Move intel_fb_pin_params to the parent interface
Date: Fri, 24 Apr 2026 12:19:17 +0300 [thread overview]
Message-ID: <6fc7e55124ebc0b04f9f6a368376689abf54429e@intel.com> (raw)
In-Reply-To: <20260423165346.20884-3-ville.syrjala@linux.intel.com>
On Thu, 23 Apr 2026, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> strut intel_fb_pin_params will be an important part of the fb_pin
> interface, so move the definition to the parent interface file.
>
> Or maybe we should have a separate header for this kind of stuff
> since the users of the parent interface will need the struct
> definition but not the parent interface vfunc struct definitions?
Yeah, another hard one. I've tried to keep the interface definition
clear of other type definitions, and in particular to use types that are
readily available in generic drm headers. Or opaque pointers.
I think let's see how bad it gets. We're bound to need a few structs
specific to this interface, like struct intel_fb_pin_params. If it's
just a few structs, and they don't need to include the world for their
definition, let's just keep them here. But if it starts to look like
there'll be plenty, and they need a bunch of dependencies, let's split
them out. It's not a big deal to do that later.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_fb_pin.h | 12 +-----------
> drivers/gpu/drm/i915/display/intel_fbdev.c | 1 +
> include/drm/intel/display_parent_interface.h | 12 ++++++++++++
> 3 files changed, 14 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fb_pin.h b/drivers/gpu/drm/i915/display/intel_fb_pin.h
> index 805e23067004..84530f20d7d1 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb_pin.h
> +++ b/drivers/gpu/drm/i915/display/intel_fb_pin.h
> @@ -10,21 +10,11 @@
>
> struct drm_gem_object;
> struct i915_vma;
> +struct intel_fb_pin_params;
> struct intel_plane_state;
> struct i915_gtt_view;
> struct iosys_map;
>
> -struct intel_fb_pin_params {
> - const struct i915_gtt_view *view;
> - unsigned int alignment;
> - unsigned int phys_alignment;
> - unsigned int vtd_guard;
> - bool needs_cpu_lmem_access;
> - bool needs_low_address;
> - bool needs_physical;
> - bool needs_fence;
> -};
> -
> struct i915_vma *
> intel_fb_pin_to_ggtt(struct drm_gem_object *obj,
> const struct intel_fb_pin_params *pin_params,
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
> index ce4082da30e8..aa2701795caa 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> @@ -38,6 +38,7 @@
> #include <linux/vga_switcheroo.h>
>
> #include <drm/clients/drm_client_setup.h>
> +#include <drm/intel/display_parent_interface.h>
> #include <drm/drm_crtc.h>
> #include <drm/drm_crtc_helper.h>
> #include <drm/drm_fb_helper.h>
> diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
> index ee2e9572bfca..b363d6a85dfe 100644
> --- a/include/drm/intel/display_parent_interface.h
> +++ b/include/drm/intel/display_parent_interface.h
> @@ -16,6 +16,7 @@ struct drm_mode_fb_cmd2;
> struct drm_plane_state;
> struct drm_scanout_buffer;
> struct fb_info;
> +struct i915_gtt_view;
> struct i915_vma;
> struct intel_dpt;
> struct intel_dsb_buffer;
> @@ -29,6 +30,17 @@ struct ref_tracker;
> struct seq_file;
> struct vm_area_struct;
>
> +struct intel_fb_pin_params {
> + const struct i915_gtt_view *view;
> + unsigned int alignment;
> + unsigned int phys_alignment;
> + unsigned int vtd_guard;
> + bool needs_cpu_lmem_access;
> + bool needs_low_address;
> + bool needs_physical;
> + bool needs_fence;
> +};
> +
> /* Keep struct definitions sorted */
>
> struct intel_display_bo_interface {
--
Jani Nikula, Intel
next prev parent reply other threads:[~2026-04-24 9:19 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-23 16:53 [PATCH 00/16] drm/i915: Introduce 'fb_pin' parent interface Ville Syrjala
2026-04-23 16:53 ` [PATCH 01/16] drm/i915: Introduce intel_parent_fb_pin_get_map() Ville Syrjala
2026-04-24 9:14 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 02/16] drm/i915: Move intel_fb_pin_params to the parent interface Ville Syrjala
2026-04-24 9:19 ` Jani Nikula [this message]
2026-04-23 16:53 ` [PATCH 03/16] drm/i915: Move the i915_dpt_offset()==0 assert Ville Syrjala
2026-04-24 9:19 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 04/16] drm/i915: Reorganize intel_plane_pin_fb() a bit Ville Syrjala
2026-04-24 9:55 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 05/16] drm/i915: Introduce i915_fb_pin_dpt_(un)pin() Ville Syrjala
2026-04-24 9:56 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 06/16] drm/i915: Introduce i915_fb_pin_ggtt_(un)pin() Ville Syrjala
2026-04-24 9:59 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 07/16] drm/xe: Move the FORCE_WC assert into __xe_pin_fb_vma() Ville Syrjala
2026-04-24 10:02 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 08/16] drm/xe: Kill the fbdev vma reuse hack Ville Syrjala
2026-04-24 10:06 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 09/16] drm/xe: Reorganize intel_plane_pin_fb() a bit Ville Syrjala
2026-04-24 10:07 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 10/16] drm/xe: Introduce xe_fb_pin_dpt_(un)pin() Ville Syrjala
2026-04-24 10:12 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 11/16] drm/xe: Introduce xe_fb_pin_ggtt_(un)pin() Ville Syrjala
2026-04-24 10:13 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 12/16] drm/xe: Restructure reuse_vma() Ville Syrjala
2026-04-24 10:30 ` Jani Nikula
2026-04-30 16:19 ` [PATCH v2 " Ville Syrjala
2026-04-23 16:53 ` [PATCH 13/16] drm/i915: Introduce the main fb_pin parent interface Ville Syrjala
2026-04-24 10:48 ` Jani Nikula
2026-04-24 10:55 ` Ville Syrjälä
2026-04-23 16:53 ` [PATCH 14/16] drm/i915/fbdev: Use intel_parent_fb_pin_ggtt_(un)pin() Ville Syrjala
2026-04-24 12:54 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 15/16] drm/xe: Use xe_fb_pin_ggtt_pin() for the initial FB pin Ville Syrjala
2026-04-24 12:58 ` Jani Nikula
2026-04-23 16:53 ` [PATCH 16/16] drm/i915: Consolidate the intel_plane_(un)pin_fb() implementations Ville Syrjala
2026-04-24 13:30 ` Jani Nikula
2026-04-27 12:08 ` Ville Syrjälä
2026-04-23 17:01 ` ✗ CI.checkpatch: warning for drm/i915: Introduce 'fb_pin' parent interface Patchwork
2026-04-23 17:02 ` ✓ CI.KUnit: success " Patchwork
2026-04-30 18:10 ` ✗ CI.checkpatch: warning for drm/i915: Introduce 'fb_pin' parent interface (rev2) Patchwork
2026-04-30 18:11 ` ✓ CI.KUnit: success " Patchwork
2026-04-30 19:15 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-05-01 6:29 ` ✓ Xe.CI.FULL: success " 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=6fc7e55124ebc0b04f9f6a368376689abf54429e@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