diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2017-05-16 08:25:45 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2017-06-02 04:09:33 -0400 |
commit | 2add8d1310eb5b1094e02a7261b6e35df5e65bf3 (patch) | |
tree | e608834e38e325f79e697b4908fb99cfea055ebb | |
parent | c4df6e4277503f0d05e261c3cae0c282fdca4437 (diff) |
drm/omap: fix YUV422 90/270 rotation with mirroring
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>
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/dispc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c index 18e9dff2f1b2..fd7504b37e3b 100644 --- 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(enum omap_plane_id plane, u8 rotation, | |||
1819 | vidrot = 2; | 1819 | vidrot = 2; |
1820 | break; | 1820 | break; |
1821 | case DRM_MODE_ROTATE_90: | 1821 | case DRM_MODE_ROTATE_90: |
1822 | vidrot = 3; | 1822 | vidrot = 1; |
1823 | break; | 1823 | break; |
1824 | case DRM_MODE_ROTATE_180: | 1824 | case DRM_MODE_ROTATE_180: |
1825 | vidrot = 0; | 1825 | vidrot = 0; |
1826 | break; | 1826 | break; |
1827 | case DRM_MODE_ROTATE_270: | 1827 | case DRM_MODE_ROTATE_270: |
1828 | vidrot = 1; | 1828 | vidrot = 3; |
1829 | break; | 1829 | break; |
1830 | } | 1830 | } |
1831 | } else { | 1831 | } else { |