diff options
author | Rob Clark <rob@ti.com> | 2012-08-15 20:18:01 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-15 22:22:42 (GMT) |
commit | 3c810c613a9d61eb70735cfb85fe5db6e0331bae (patch) | |
tree | 81269a522459356eee349ec9b11cb83cd01065bf /drivers/staging/omapdrm/omap_crtc.c | |
parent | 69af59970bec925d182ca5ebd80e643fdd90b1cc (diff) | |
download | linux-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.c | 10 |
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: |