On Wed, Jan 20, 2016 at 09:05:34PM +0200, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > rotate_pages() checks to see if it got called with a NULL sg, and then > goes to extract it from sg->sgl. It always gets called with a NULL sg > for the first plane, so moving the initial 'sg=st->sgl' assignment out > into intel_rotate_fb_obj_pages() seems less special-casey. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index f95468cd0470..db80ec08cca4 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -3339,11 +3339,6 @@ rotate_pages(const dma_addr_t *in, unsigned int offset, > unsigned int column, row; > unsigned int src_idx; > > - if (!sg) { > - st->nents = 0; > - sg = st->sgl; > - } > - > for (column = 0; column < width; column++) { > src_idx = stride * (height - 1) + column; > for (row = 0; row < height; row++) { > @@ -3405,11 +3400,14 @@ intel_rotate_fb_obj_pages(struct intel_rotation_info *rot_info, > i++; > } > > + st->nents = 0; > + sg = st->sgl; > + > /* Rotate the pages. */ > sg = rotate_pages(page_addr_list, 0, > rot_info->plane[0].width, rot_info->plane[0].height, > rot_info->plane[0].width, > - st, NULL); > + st, sg); > > /* Append the UV plane if NV12. */ > if (rot_info->pixel_format == DRM_FORMAT_NV12) { > @@ -3421,10 +3419,10 @@ intel_rotate_fb_obj_pages(struct intel_rotation_info *rot_info, > > rot_info->uv_start_page = uv_start_page; > > - rotate_pages(page_addr_list, rot_info->uv_start_page, > - rot_info->plane[1].width, rot_info->plane[1].height, > - rot_info->plane[1].width, > - st, sg); > + sg = rotate_pages(page_addr_list, rot_info->uv_start_page, > + rot_info->plane[1].width, rot_info->plane[1].height, > + rot_info->plane[1].width, > + st, sg); > } > > DRM_DEBUG_KMS("Created rotated page mapping for object size %zu (%ux%u tiles, %u pages (%u plane 0)).\n", > -- > 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