From: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Tue, 16 May 2017 12:48:58 +0300
Subject: drm/omap: pass rotation to dispc
Git-commit: 16f9ede51ff9b37e04fb64dad8b4099c2814c436
Patch-mainline: v4.13-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
The omapdrm driver has not passed the rotation value to the dispc
driver. This doesn't affect RGB formats, but YUV formats don't work
without dispc knowing the orientation.
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/omap_fb.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -193,6 +193,7 @@ void omap_framebuffer_update_scanout(str
omap_gem_rotated_dma_addr(plane->bo, orient, x, y,
&info->paddr);
info->rotation_type = OMAP_DSS_ROT_TILER;
+ info->rotation = state->rotation ?: DRM_MODE_ROTATE_0;
info->screen_width = omap_gem_tiled_stride(plane->bo, orient);
} else {
switch (state->rotation & DRM_MODE_ROTATE_MASK) {
@@ -210,6 +211,7 @@ void omap_framebuffer_update_scanout(str
info->paddr = get_linear_addr(plane, format, 0, x, y);
info->rotation_type = OMAP_DSS_ROT_NONE;
+ info->rotation = DRM_MODE_ROTATE_0;
info->screen_width = plane->pitch;
}