Commit b90c1ee1 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Move nv12 chroma plane handling into intel_surf_alignment()

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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170307194210.13400-3-ville.syrjala@linux.intel.com
parent d88c4afd
...@@ -2102,6 +2102,10 @@ static unsigned int intel_surf_alignment(const struct drm_framebuffer *fb, ...@@ -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); 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) { switch (fb->modifier) {
case DRM_FORMAT_MOD_NONE: case DRM_FORMAT_MOD_NONE:
return intel_linear_alignment(dev_priv); return intel_linear_alignment(dev_priv);
...@@ -2386,13 +2390,7 @@ u32 intel_compute_tile_offset(int *x, int *y, ...@@ -2386,13 +2390,7 @@ u32 intel_compute_tile_offset(int *x, int *y,
const struct drm_framebuffer *fb = state->base.fb; const struct drm_framebuffer *fb = state->base.fb;
unsigned int rotation = state->base.rotation; unsigned int rotation = state->base.rotation;
int pitch = intel_fb_pitch(fb, plane, rotation); int pitch = intel_fb_pitch(fb, plane, rotation);
u32 alignment; u32 alignment = intel_surf_alignment(fb, plane);
/* AUX_DIST needs only 4K alignment */
if (fb->format->format == DRM_FORMAT_NV12 && plane == 1)
alignment = 4096;
else
alignment = intel_surf_alignment(fb, plane);
return _intel_compute_tile_offset(dev_priv, x, y, fb, plane, pitch, return _intel_compute_tile_offset(dev_priv, x, y, fb, plane, pitch,
rotation, alignment); rotation, alignment);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment