[PATCH 7/7] drm/omap: fix YUV422 90/270 rotation with mirroring

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed May 24 06:46:48 UTC 2017


Hi Tomi,

Thank you for the patch.

On Wednesday 17 May 2017 10:56:44 Tomi Valkeinen wrote:
> When rotating 90/270 + mirroring with YUV422, the end result will have
> adjacent pixels swapped. The problem is that
> dispc_ovl_set_rotation_attrs() has wrong rotation values for these
> cases.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
> ---
>  drivers/gpu/drm/omapdrm/dss/dispc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c
> b/drivers/gpu/drm/omapdrm/dss/dispc.c index 80c75e5913cb..7261f87b2a5b
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dispc.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
> @@ -1817,13 +1817,13 @@ static void dispc_ovl_set_rotation_attrs(enum
> omap_plane_id plane, u8 rotation, vidrot = 2;
>  				break;
>  			case DRM_ROTATE_270:
> -				vidrot = 1;
> +				vidrot = 3;
>  				break;
>  			case DRM_ROTATE_180:
>  				vidrot = 0;
>  				break;
>  			case DRM_ROTATE_90:
> -				vidrot = 3;
> +				vidrot = 1;

How about ordering the cases in 0, 90, 180, 270 order ? That would look 
cleaner for both the case label and the vidrot value. I would actually have 
done so in the patch where you replaced OMAP_DSS_ROT_* with DRM_ROTATE_*.

Apart from this,

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

>  				break;
>  			}
>  		} else {

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list