[PATCH 2/2] drm/omap: invert dimensions on crtc when rotated

Rob Clark rob.clark at linaro.org
Tue Sep 4 09:36:20 PDT 2012


From: Rob Clark <rob at ti.com>

If rotated 90 or 270, we need to invert the dimensions used by drm
core for calculating if the dimensions of an attached fb are correct.

Signed-off-by: Rob Clark <rob at ti.com>
---
 drivers/staging/omapdrm/omap_crtc.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/staging/omapdrm/omap_crtc.c b/drivers/staging/omapdrm/omap_crtc.c
index 98a10bc..dade3de 100644
--- a/drivers/staging/omapdrm/omap_crtc.c
+++ b/drivers/staging/omapdrm/omap_crtc.c
@@ -195,6 +195,13 @@ static int omap_crtc_set_property(struct drm_crtc *crtc,
 		struct drm_property *property, uint64_t val)
 {
 	struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
+	struct omap_drm_private *priv = crtc->dev->dev_private;
+
+	if (property == priv->rotation_prop) {
+		crtc->invert_dimensions =
+				!!(val & ((1LL << DRM_ROTATE_90) | (1LL << DRM_ROTATE_270)));
+	}
+
 	return omap_plane_set_property(omap_crtc->plane, property, val);
 }
 
-- 
1.7.9.5



More information about the dri-devel mailing list