From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Tue, 16 May 2017 15:25:45 +0300
Subject: drm/omap: fix YUV422 90/270 rotation with mirroring
Git-commit: 2add8d1310eb5b1094e02a7261b6e35df5e65bf3
Patch-mainline: v4.13-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
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@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
drivers/gpu/drm/omapdrm/dss/dispc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -1819,13 +1819,13 @@ static void dispc_ovl_set_rotation_attrs
vidrot = 2;
break;
case DRM_MODE_ROTATE_90:
- vidrot = 3;
+ vidrot = 1;
break;
case DRM_MODE_ROTATE_180:
vidrot = 0;
break;
case DRM_MODE_ROTATE_270:
- vidrot = 1;
+ vidrot = 3;
break;
}
} else {