On Wed, Jan 20, 2016 at 09:05:34PM +0200, [email protected] wrote:
> From: Ville Syrjälä <[email protected]>
> 
> 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ä <[email protected]>

Reviewed-by: Daniel Vetter <[email protected]>

> ---
>  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
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to