summaryrefslogtreecommitdiffstats
path: root/drivers/staging/omapdrm/omap_drv.h
diff options
context:
space:
mode:
authorRob Clark2012-01-16 19:51:16 +0100
committerGreg Kroah-Hartman2012-02-08 23:14:11 +0100
commitbb5c2d9aaaa26a55e684c175c431df95aa178233 (patch)
tree4441d1b8c9f04577ff21fa578fa16aad667cc9e6 /drivers/staging/omapdrm/omap_drv.h
parentstaging: drm/omap: drm API update: addfb2 (diff)
downloadkernel-qcow2-linux-bb5c2d9aaaa26a55e684c175c431df95aa178233.tar.gz
kernel-qcow2-linux-bb5c2d9aaaa26a55e684c175c431df95aa178233.tar.xz
kernel-qcow2-linux-bb5c2d9aaaa26a55e684c175c431df95aa178233.zip
staging: drm/omap: add drm_plane support
Because framebuffer layer and overlay scanout video pipes are basically thing in OMAP display subsystem (the only difference being that the first video pipe does not support scaling or YUV formats), much of the CRTC code is pulled into the plane implementation, and a private plane object is used by the CRTC object. This avoids code duplication between the plane and CRTC. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/omapdrm/omap_drv.h')
-rw-r--r--drivers/staging/omapdrm/omap_drv.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/staging/omapdrm/omap_drv.h b/drivers/staging/omapdrm/omap_drv.h
index 4ad2ae55ec43..e2b1b553e8b6 100644
--- a/drivers/staging/omapdrm/omap_drv.h
+++ b/drivers/staging/omapdrm/omap_drv.h
@@ -42,6 +42,8 @@
struct omap_drm_private {
unsigned int num_crtcs;
struct drm_crtc *crtcs[8];
+ unsigned int num_planes;
+ struct drm_plane *planes[8];
unsigned int num_encoders;
struct drm_encoder *encoders[8];
unsigned int num_connectors;
@@ -62,7 +64,11 @@ void omap_fbdev_free(struct drm_device *dev);
struct drm_crtc *omap_crtc_init(struct drm_device *dev,
struct omap_overlay *ovl, int id);
-struct omap_overlay *omap_crtc_get_overlay(struct drm_crtc *crtc);
+
+struct drm_plane *omap_plane_init(struct drm_device *dev,
+ struct omap_overlay *ovl, unsigned int possible_crtcs,
+ bool priv);
+int omap_plane_dpms(struct drm_plane *plane, int mode);
struct drm_encoder *omap_encoder_init(struct drm_device *dev,
struct omap_overlay_manager *mgr);