summaryrefslogtreecommitdiff
path: root/drivers/staging/omapdrm/omap_crtc.c
diff options
context:
space:
mode:
authorRob Clark <rob@ti.com>2012-08-15 20:18:01 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-08-15 22:22:42 (GMT)
commit3c810c613a9d61eb70735cfb85fe5db6e0331bae (patch)
tree81269a522459356eee349ec9b11cb83cd01065bf /drivers/staging/omapdrm/omap_crtc.c
parent69af59970bec925d182ca5ebd80e643fdd90b1cc (diff)
downloadlinux-fsl-qoriq-3c810c613a9d61eb70735cfb85fe5db6e0331bae.tar.xz
staging: drm/omap: add rotation properties
Use tiled buffers for rotated/reflected scanout, with CRTC and plane properties as the interface for userspace to configure rotation. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/omapdrm/omap_crtc.c')
-rw-r--r--drivers/staging/omapdrm/omap_crtc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/staging/omapdrm/omap_crtc.c b/drivers/staging/omapdrm/omap_crtc.c
index 62e0022..98a10bc 100644
--- a/drivers/staging/omapdrm/omap_crtc.c
+++ b/drivers/staging/omapdrm/omap_crtc.c
@@ -191,10 +191,18 @@ static int omap_crtc_page_flip_locked(struct drm_crtc *crtc,
return 0;
}
+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);
+ return omap_plane_set_property(omap_crtc->plane, property, val);
+}
+
static const struct drm_crtc_funcs omap_crtc_funcs = {
.set_config = drm_crtc_helper_set_config,
.destroy = omap_crtc_destroy,
.page_flip = omap_crtc_page_flip_locked,
+ .set_property = omap_crtc_set_property,
};
static const struct drm_crtc_helper_funcs omap_crtc_helper_funcs = {
@@ -231,6 +239,8 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,
drm_crtc_init(dev, crtc, &omap_crtc_funcs);
drm_crtc_helper_add(crtc, &omap_crtc_helper_funcs);
+ omap_plane_install_properties(omap_crtc->plane, &crtc->base);
+
return crtc;
fail: