Re: [PATCH v2 1/3] drm/xe/display: Expose plane max width/height helpers to global scope

"Hogander, Jouni" <[email protected]> Thu, 23 Jul 2026 08:20:17 +0000
Newsgroups org.freedesktop.lists.intel-gfx,org.freedesktop.lists.intel-xe
Message-ID <[email protected]>
On Wed, 2026-07-22 at 16:24 +0300, Vinod Govindapillai wrote:
> Enabling features like FBC on platforms may depend on a plane's
> maximum supported resolutions or some other arbitrary constant
> values because of hw restrictions. Currently the helpers that
> report a plane's max width and height are private to skl_plane
> / skl_universal_plane. Change the scope to golbal so that
> this can be queried from other areas as well.
> 
> v2: function parameter alignment fixes
> 
> Signed-off-by: Vinod Govindapillai <[email protected]>

Reviewed-by: Jouni Högander <[email protected]>

> ---
>  .../gpu/drm/i915/display/skl_universal_plane.c   | 16 ++++++++------
> --
>  .../gpu/drm/i915/display/skl_universal_plane.h   |  9 +++++++++
>  2 files changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> index 164b7d61c9a3..77d33012bdde 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> @@ -1932,10 +1932,10 @@ static int intel_plane_min_height(struct
> intel_plane *plane,
>  	return 1;
>  }
>  
> -static int intel_plane_max_width(struct intel_plane *plane,
> -				 const struct drm_framebuffer *fb,
> -				 int color_plane,
> -				 unsigned int rotation)
> +int intel_plane_max_width(struct intel_plane *plane,
> +			  const struct drm_framebuffer *fb,
> +			  int color_plane,
> +			  unsigned int rotation)
>  {
>  	if (plane->max_width)
>  		return plane->max_width(fb, color_plane, rotation);
> @@ -1943,10 +1943,10 @@ static int intel_plane_max_width(struct
> intel_plane *plane,
>  		return INT_MAX;
>  }
>  
> -static int intel_plane_max_height(struct intel_plane *plane,
> -				  const struct drm_framebuffer *fb,
> -				  int color_plane,
> -				  unsigned int rotation)
> +int intel_plane_max_height(struct intel_plane *plane,
> +			   const struct drm_framebuffer *fb,
> +			   int color_plane,
> +			   unsigned int rotation)
>  {
>  	if (plane->max_height)
>  		return plane->max_height(fb, color_plane, rotation);
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.h
> b/drivers/gpu/drm/i915/display/skl_universal_plane.h
> index 5e2451c21eeb..ad71105cc55a 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.h
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.h
> @@ -8,6 +8,7 @@
>  
>  #include <linux/types.h>
>  
> +struct drm_framebuffer;
>  struct intel_crtc;
>  struct intel_display;
>  struct intel_initial_plane_config;
> @@ -42,5 +43,13 @@ bool icl_is_hdr_plane(struct intel_display
> *display, enum plane_id plane_id);
>  
>  u32 skl_plane_aux_dist(const struct intel_plane_state *plane_state,
>  		       int color_plane);
> +int intel_plane_max_width(struct intel_plane *plane,
> +			  const struct drm_framebuffer *fb,
> +			  int color_plane,
> +			  unsigned int rotation);
> +int intel_plane_max_height(struct intel_plane *plane,
> +			   const struct drm_framebuffer *fb,
> +			   int color_plane,
> +			   unsigned int rotation);
>  
>  #endif