diff mbox series

[10/12] drm/i915: Relocate intel_{rotation, remapped}_info_size()

Message ID 20250213150220.13580-11-ville.syrjala@linux.intel.com (mailing list archive)
State New
Headers show
Series drm/i915: Hoist some stuff out from intel_display.c | expand

Commit Message

Ville Syrjälä Feb. 13, 2025, 3:02 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Move intel_{rotation,remapped}_info_size() into intel_fb.c as
that seems a slightly better place than intel_display.c. I suppose
these should live somewhere outside the display code as they are
also used by the gem code.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 36 --------------------
 drivers/gpu/drm/i915/display/intel_display.h |  4 ---
 drivers/gpu/drm/i915/display/intel_fb.c      | 36 ++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_fb.h      |  5 +++
 drivers/gpu/drm/i915/i915_vma.c              |  2 +-
 5 files changed, 42 insertions(+), 41 deletions(-)

Comments

Jani Nikula Feb. 13, 2025, 7:21 p.m. UTC | #1
On Thu, 13 Feb 2025, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Move intel_{rotation,remapped}_info_size() into intel_fb.c as
> that seems a slightly better place than intel_display.c. I suppose
> these should live somewhere outside the display code as they are
> also used by the gem code.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 36 --------------------
>  drivers/gpu/drm/i915/display/intel_display.h |  4 ---
>  drivers/gpu/drm/i915/display/intel_fb.c      | 36 ++++++++++++++++++++
>  drivers/gpu/drm/i915/display/intel_fb.h      |  5 +++
>  drivers/gpu/drm/i915/i915_vma.c              |  2 +-
>  5 files changed, 42 insertions(+), 41 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 4800fefd6321..c38c37afc154 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -601,42 +601,6 @@ void intel_disable_transcoder(const struct intel_crtc_state *old_crtc_state)
>  		intel_wait_for_pipe_off(old_crtc_state);
>  }
>  
> -unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info)
> -{
> -	unsigned int size = 0;
> -	int i;
> -
> -	for (i = 0 ; i < ARRAY_SIZE(rot_info->plane); i++)
> -		size += rot_info->plane[i].dst_stride * rot_info->plane[i].width;
> -
> -	return size;
> -}
> -
> -unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info)
> -{
> -	unsigned int size = 0;
> -	int i;
> -
> -	for (i = 0 ; i < ARRAY_SIZE(rem_info->plane); i++) {
> -		unsigned int plane_size;
> -
> -		if (rem_info->plane[i].linear)
> -			plane_size = rem_info->plane[i].size;
> -		else
> -			plane_size = rem_info->plane[i].dst_stride * rem_info->plane[i].height;
> -
> -		if (plane_size == 0)
> -			continue;
> -
> -		if (rem_info->plane_alignment)
> -			size = ALIGN(size, rem_info->plane_alignment);
> -
> -		size += plane_size;
> -	}
> -
> -	return size;
> -}
> -
>  /*
>   * Convert the x/y offsets into a linear offset.
>   * Only valid with 0/180 degree rotation, which is fine since linear
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
> index d3afd134f70e..a7bd82662adf 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -59,8 +59,6 @@ struct intel_link_m_n;
>  struct intel_plane;
>  struct intel_plane_state;
>  struct intel_power_domain_mask;
> -struct intel_remapped_info;
> -struct intel_rotation_info;
>  struct pci_dev;
>  struct work_struct;
>  
> @@ -467,8 +465,6 @@ unsigned int intel_fb_xy_to_linear(int x, int y,
>  				   int plane);
>  void intel_add_fb_offsets(int *x, int *y,
>  			  const struct intel_plane_state *state, int plane);
> -unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info);
> -unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info);
>  bool intel_has_pending_fb_unpin(struct drm_i915_private *dev_priv);
>  void intel_encoder_destroy(struct drm_encoder *encoder);
>  struct drm_display_mode *
> diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
> index 5875af2b61e6..c1923b4c13d6 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb.c
> +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> @@ -1891,6 +1891,42 @@ static void intel_plane_remap_gtt(struct intel_plane_state *plane_state)
>  	}
>  }
>  
> +unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info)
> +{
> +	unsigned int size = 0;
> +	int i;
> +
> +	for (i = 0 ; i < ARRAY_SIZE(rot_info->plane); i++)
> +		size += rot_info->plane[i].dst_stride * rot_info->plane[i].width;
> +
> +	return size;
> +}
> +
> +unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info)
> +{
> +	unsigned int size = 0;
> +	int i;
> +
> +	for (i = 0 ; i < ARRAY_SIZE(rem_info->plane); i++) {
> +		unsigned int plane_size;
> +
> +		if (rem_info->plane[i].linear)
> +			plane_size = rem_info->plane[i].size;
> +		else
> +			plane_size = rem_info->plane[i].dst_stride * rem_info->plane[i].height;
> +
> +		if (plane_size == 0)
> +			continue;
> +
> +		if (rem_info->plane_alignment)
> +			size = ALIGN(size, rem_info->plane_alignment);
> +
> +		size += plane_size;
> +	}
> +
> +	return size;
> +}
> +
>  void intel_fb_fill_view(const struct intel_framebuffer *fb, unsigned int rotation,
>  			struct intel_fb_view *view)
>  {
> diff --git a/drivers/gpu/drm/i915/display/intel_fb.h b/drivers/gpu/drm/i915/display/intel_fb.h
> index 63728520eb06..d04d9274bb71 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb.h
> +++ b/drivers/gpu/drm/i915/display/intel_fb.h
> @@ -19,6 +19,8 @@ struct intel_fb_view;
>  struct intel_framebuffer;
>  struct intel_plane;
>  struct intel_plane_state;
> +struct intel_remapped_info;
> +struct intel_rotation_info;
>  
>  #define INTEL_PLANE_CAP_NONE		0
>  #define INTEL_PLANE_CAP_CCS_RC		BIT(0)
> @@ -80,6 +82,9 @@ bool intel_fb_needs_pot_stride_remap(const struct intel_framebuffer *fb);
>  bool intel_plane_uses_fence(const struct intel_plane_state *plane_state);
>  bool intel_fb_supports_90_270_rotation(const struct intel_framebuffer *fb);
>  
> +unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info);
> +unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info);
> +
>  int intel_fill_fb_info(struct intel_display *display, struct intel_framebuffer *fb);
>  void intel_fb_fill_view(const struct intel_framebuffer *fb, unsigned int rotation,
>  			struct intel_fb_view *view);
> diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
> index 61b49007ecd4..632e316f8b05 100644
> --- a/drivers/gpu/drm/i915/i915_vma.c
> +++ b/drivers/gpu/drm/i915/i915_vma.c
> @@ -26,7 +26,7 @@
>  #include <linux/dma-fence-array.h>
>  #include <drm/drm_gem.h>
>  
> -#include "display/intel_display.h"
> +#include "display/intel_fb.h"

More specific includes from outside of display are always welcome!

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


>  #include "display/intel_frontbuffer.h"
>  #include "gem/i915_gem_lmem.h"
>  #include "gem/i915_gem_object_frontbuffer.h"
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 4800fefd6321..c38c37afc154 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -601,42 +601,6 @@  void intel_disable_transcoder(const struct intel_crtc_state *old_crtc_state)
 		intel_wait_for_pipe_off(old_crtc_state);
 }
 
-unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info)
-{
-	unsigned int size = 0;
-	int i;
-
-	for (i = 0 ; i < ARRAY_SIZE(rot_info->plane); i++)
-		size += rot_info->plane[i].dst_stride * rot_info->plane[i].width;
-
-	return size;
-}
-
-unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info)
-{
-	unsigned int size = 0;
-	int i;
-
-	for (i = 0 ; i < ARRAY_SIZE(rem_info->plane); i++) {
-		unsigned int plane_size;
-
-		if (rem_info->plane[i].linear)
-			plane_size = rem_info->plane[i].size;
-		else
-			plane_size = rem_info->plane[i].dst_stride * rem_info->plane[i].height;
-
-		if (plane_size == 0)
-			continue;
-
-		if (rem_info->plane_alignment)
-			size = ALIGN(size, rem_info->plane_alignment);
-
-		size += plane_size;
-	}
-
-	return size;
-}
-
 /*
  * Convert the x/y offsets into a linear offset.
  * Only valid with 0/180 degree rotation, which is fine since linear
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index d3afd134f70e..a7bd82662adf 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -59,8 +59,6 @@  struct intel_link_m_n;
 struct intel_plane;
 struct intel_plane_state;
 struct intel_power_domain_mask;
-struct intel_remapped_info;
-struct intel_rotation_info;
 struct pci_dev;
 struct work_struct;
 
@@ -467,8 +465,6 @@  unsigned int intel_fb_xy_to_linear(int x, int y,
 				   int plane);
 void intel_add_fb_offsets(int *x, int *y,
 			  const struct intel_plane_state *state, int plane);
-unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info);
-unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info);
 bool intel_has_pending_fb_unpin(struct drm_i915_private *dev_priv);
 void intel_encoder_destroy(struct drm_encoder *encoder);
 struct drm_display_mode *
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
index 5875af2b61e6..c1923b4c13d6 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.c
+++ b/drivers/gpu/drm/i915/display/intel_fb.c
@@ -1891,6 +1891,42 @@  static void intel_plane_remap_gtt(struct intel_plane_state *plane_state)
 	}
 }
 
+unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info)
+{
+	unsigned int size = 0;
+	int i;
+
+	for (i = 0 ; i < ARRAY_SIZE(rot_info->plane); i++)
+		size += rot_info->plane[i].dst_stride * rot_info->plane[i].width;
+
+	return size;
+}
+
+unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info)
+{
+	unsigned int size = 0;
+	int i;
+
+	for (i = 0 ; i < ARRAY_SIZE(rem_info->plane); i++) {
+		unsigned int plane_size;
+
+		if (rem_info->plane[i].linear)
+			plane_size = rem_info->plane[i].size;
+		else
+			plane_size = rem_info->plane[i].dst_stride * rem_info->plane[i].height;
+
+		if (plane_size == 0)
+			continue;
+
+		if (rem_info->plane_alignment)
+			size = ALIGN(size, rem_info->plane_alignment);
+
+		size += plane_size;
+	}
+
+	return size;
+}
+
 void intel_fb_fill_view(const struct intel_framebuffer *fb, unsigned int rotation,
 			struct intel_fb_view *view)
 {
diff --git a/drivers/gpu/drm/i915/display/intel_fb.h b/drivers/gpu/drm/i915/display/intel_fb.h
index 63728520eb06..d04d9274bb71 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.h
+++ b/drivers/gpu/drm/i915/display/intel_fb.h
@@ -19,6 +19,8 @@  struct intel_fb_view;
 struct intel_framebuffer;
 struct intel_plane;
 struct intel_plane_state;
+struct intel_remapped_info;
+struct intel_rotation_info;
 
 #define INTEL_PLANE_CAP_NONE		0
 #define INTEL_PLANE_CAP_CCS_RC		BIT(0)
@@ -80,6 +82,9 @@  bool intel_fb_needs_pot_stride_remap(const struct intel_framebuffer *fb);
 bool intel_plane_uses_fence(const struct intel_plane_state *plane_state);
 bool intel_fb_supports_90_270_rotation(const struct intel_framebuffer *fb);
 
+unsigned int intel_rotation_info_size(const struct intel_rotation_info *rot_info);
+unsigned int intel_remapped_info_size(const struct intel_remapped_info *rem_info);
+
 int intel_fill_fb_info(struct intel_display *display, struct intel_framebuffer *fb);
 void intel_fb_fill_view(const struct intel_framebuffer *fb, unsigned int rotation,
 			struct intel_fb_view *view);
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
index 61b49007ecd4..632e316f8b05 100644
--- a/drivers/gpu/drm/i915/i915_vma.c
+++ b/drivers/gpu/drm/i915/i915_vma.c
@@ -26,7 +26,7 @@ 
 #include <linux/dma-fence-array.h>
 #include <drm/drm_gem.h>
 
-#include "display/intel_display.h"
+#include "display/intel_fb.h"
 #include "display/intel_frontbuffer.h"
 #include "gem/i915_gem_lmem.h"
 #include "gem/i915_gem_object_frontbuffer.h"