drm/i915/fbc: Relocate intel_fbc_override_cfb_stride()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 24 Nov 2021 11:36:36 +0000 (13:36 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 3 Dec 2021 10:49:43 +0000 (12:49 +0200)
Move intel_fbc_override_cfb_stride() next to its cousins.
Helps with later patches.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211124113652.22090-5-ville.syrjala@linux.intel.com
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
drivers/gpu/drm/i915/display/intel_fbc.c

index 8bde3681b96edab3c0639963b9a5ae270b688e35..6368dddf977c0638f1c73b4a043f234c5f62b418 100644 (file)
@@ -142,6 +142,27 @@ static unsigned int intel_fbc_cfb_size(struct intel_fbc *fbc,
        return lines * intel_fbc_cfb_stride(fbc, cache);
 }
 
+static u16 intel_fbc_override_cfb_stride(struct intel_fbc *fbc,
+                                        const struct intel_fbc_state_cache *cache)
+{
+       unsigned int stride = _intel_fbc_cfb_stride(cache);
+       unsigned int stride_aligned = intel_fbc_cfb_stride(fbc, cache);
+
+       /*
+        * Override stride in 64 byte units per 4 line segment.
+        *
+        * Gen9 hw miscalculates cfb stride for linear as
+        * PLANE_STRIDE*512 instead of PLANE_STRIDE*64, so
+        * we always need to use the override there.
+        */
+       if (stride != stride_aligned ||
+           (DISPLAY_VER(fbc->i915) == 9 &&
+            cache->fb.modifier == DRM_FORMAT_MOD_LINEAR))
+               return stride_aligned * 4 / 64;
+
+       return 0;
+}
+
 static u32 i8xx_fbc_ctl(struct intel_fbc *fbc)
 {
        const struct intel_fbc_reg_params *params = &fbc->params;
@@ -950,27 +971,6 @@ static bool intel_fbc_cfb_size_changed(struct intel_fbc *fbc)
                fbc->compressed_fb.size * fbc->limit;
 }
 
-static u16 intel_fbc_override_cfb_stride(struct intel_fbc *fbc,
-                                        const struct intel_fbc_state_cache *cache)
-{
-       unsigned int stride = _intel_fbc_cfb_stride(cache);
-       unsigned int stride_aligned = intel_fbc_cfb_stride(fbc, cache);
-
-       /*
-        * Override stride in 64 byte units per 4 line segment.
-        *
-        * Gen9 hw miscalculates cfb stride for linear as
-        * PLANE_STRIDE*512 instead of PLANE_STRIDE*64, so
-        * we always need to use the override there.
-        */
-       if (stride != stride_aligned ||
-           (DISPLAY_VER(fbc->i915) == 9 &&
-            cache->fb.modifier == DRM_FORMAT_MOD_LINEAR))
-               return stride_aligned * 4 / 64;
-
-       return 0;
-}
-
 static bool intel_fbc_can_enable(struct intel_fbc *fbc)
 {
        struct drm_i915_private *i915 = fbc->i915;