forked from Minki/linux
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: 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
This commit is contained in:
parent
d88c4afddc
commit
b90c1ee17b
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user