]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
drm/i915: Move nv12 chroma plane handling into intel_surf_alignment()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 7 Mar 2017 19:42:07 +0000 (21:42 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 8 Mar 2017 14:43:36 +0000 (16:43 +0200)
Let's try to keep the alignment requirements in one place, and so
towards that end let's move the AUX_DIST alignment handling into
intel_surf_alignment() alongside the main surface alignment stuff.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170307194210.13400-3-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/intel_display.c

index d4dc9c0a8e70eb779ec68cba64fc9b3c4fcdd97e..e4474efe84f2f4ff4f4e06c27b7c059bade067ea 100644 (file)
@@ -2102,6 +2102,10 @@ static unsigned int intel_surf_alignment(const struct drm_framebuffer *fb,
 {
        struct drm_i915_private *dev_priv = to_i915(fb->dev);
 
+       /* AUX_DIST needs only 4K alignment */
+       if (fb->format->format == DRM_FORMAT_NV12 && plane == 1)
+               return 4096;
+
        switch (fb->modifier) {
        case DRM_FORMAT_MOD_NONE:
                return intel_linear_alignment(dev_priv);
@@ -2386,13 +2390,7 @@ u32 intel_compute_tile_offset(int *x, int *y,
        const struct drm_framebuffer *fb = state->base.fb;
        unsigned int rotation = state->base.rotation;
        int pitch = intel_fb_pitch(fb, plane, rotation);
-       u32 alignment;
-
-       /* AUX_DIST needs only 4K alignment */
-       if (fb->format->format == DRM_FORMAT_NV12 && plane == 1)
-               alignment = 4096;
-       else
-               alignment = intel_surf_alignment(fb, plane);
+       u32 alignment = intel_surf_alignment(fb, plane);
 
        return _intel_compute_tile_offset(dev_priv, x, y, fb, plane, pitch,
                                          rotation, alignment);