Message ID | 20170104184232.23048-4-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jan 04, 2017 at 08:42:26PM +0200, ville.syrjala@linux.intel.com wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > 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> > --- > drivers/gpu/drm/i915/intel_display.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index f0cb80aba89a..4d514ca1da88 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -2163,6 +2163,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); > @@ -2452,13 +2456,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); > -- > 2.10.2 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f0cb80aba89a..4d514ca1da88 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -2163,6 +2163,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); @@ -2452,13 +2456,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);