Blob Blame History Raw
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 {