On Wed, Jan 20, 2016 at 09:05:23PM +0200, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Pass stride in addition to width and height to rotate_pages(). For now > width and stride are the same, but once framebuffer offsets enter the > scene that may no longer be the case. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index a3ea6b15c762..d547eecac242 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -3333,6 +3333,7 @@ i915_gem_obj_lookup_or_create_ggtt_vma(struct drm_i915_gem_object *obj, > static struct scatterlist * > rotate_pages(const dma_addr_t *in, unsigned int offset, > unsigned int width, unsigned int height, > + unsigned int stride, > struct sg_table *st, struct scatterlist *sg) > { > unsigned int column, row; > @@ -3344,7 +3345,7 @@ rotate_pages(const dma_addr_t *in, unsigned int offset, > } > > for (column = 0; column < width; column++) { > - src_idx = width * (height - 1) + column; > + src_idx = stride * (height - 1) + column; > for (row = 0; row < height; row++) { > st->nents++; > /* We don't need the pages, but need to initialize > @@ -3355,7 +3356,7 @@ rotate_pages(const dma_addr_t *in, unsigned int offset, > sg_dma_address(sg) = in[offset + src_idx]; > sg_dma_len(sg) = PAGE_SIZE; > sg = sg_next(sg); > - src_idx -= width; > + src_idx -= stride; > } > } > > @@ -3408,6 +3409,7 @@ intel_rotate_fb_obj_pages(struct i915_ggtt_view *ggtt_view, > /* Rotate the pages. */ > sg = rotate_pages(page_addr_list, 0, > rot_info->width_pages, rot_info->height_pages, > + rot_info->width_pages, > st, NULL); > > /* Append the UV plane if NV12. */ > @@ -3423,6 +3425,7 @@ intel_rotate_fb_obj_pages(struct i915_ggtt_view *ggtt_view, > rotate_pages(page_addr_list, uv_start_page, > rot_info->width_pages_uv, > rot_info->height_pages_uv, > + rot_info->width_pages_uv, > st, sg); > } > > -- > 2.4.10 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx