]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915: Split gen2 vs. gen3 .max_stride()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 6 May 2024 12:57:10 +0000 (15:57 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 10 May 2024 16:39:12 +0000 (19:39 +0300)
Plane .max_stride() is already a vfunc so having one made
up of two branches based on the display version is silly.
Split i9xx_plane_max_stride() into gen2 vs. gen3 variants
so  that we get rid of said check.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240506125718.26001-2-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/i9xx_plane.c

index 3442264443e5a8f87f7dd0b18c305463f1b396aa..21303fa4f08f84e9019f3723093d665a75fd682e 100644 (file)
@@ -741,23 +741,25 @@ i965_plane_max_stride(struct intel_plane *plane,
 }
 
 static unsigned int
-i9xx_plane_max_stride(struct intel_plane *plane,
+i915_plane_max_stride(struct intel_plane *plane,
                      u32 pixel_format, u64 modifier,
                      unsigned int rotation)
 {
-       struct drm_i915_private *dev_priv = to_i915(plane->base.dev);
+       if (modifier == I915_FORMAT_MOD_X_TILED)
+               return 8 * 1024;
+       else
+               return 16 * 1024;
+}
 
-       if (DISPLAY_VER(dev_priv) >= 3) {
-               if (modifier == I915_FORMAT_MOD_X_TILED)
-                       return 8*1024;
-               else
-                       return 16*1024;
-       } else {
-               if (plane->i9xx_plane == PLANE_C)
-                       return 4*1024;
-               else
-                       return 8*1024;
-       }
+static unsigned int
+i8xx_plane_max_stride(struct intel_plane *plane,
+                     u32 pixel_format, u64 modifier,
+                     unsigned int rotation)
+{
+       if (plane->i9xx_plane == PLANE_C)
+               return 4 * 1024;
+       else
+               return 8 * 1024;
 }
 
 static const struct drm_plane_funcs i965_plane_funcs = {
@@ -854,8 +856,10 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
        if (HAS_GMCH(dev_priv)) {
                if (DISPLAY_VER(dev_priv) >= 4)
                        plane->max_stride = i965_plane_max_stride;
+               else if (DISPLAY_VER(dev_priv) == 3)
+                       plane->max_stride = i915_plane_max_stride;
                else
-                       plane->max_stride = i9xx_plane_max_stride;
+                       plane->max_stride = i8xx_plane_max_stride;
        } else {
                if (IS_BROADWELL(dev_priv) || IS_HASWELL(dev_priv))
                        plane->max_stride = hsw_primary_max_stride;