summaryrefslogtreecommitdiff
path: root/include/drm
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2012-07-02 16:37:47 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-09-18 12:28:21 +0200
commit2e3b3c42f06ff6801b3d7839757bbdb231619083 (patch)
treeb047e7b4a69808a9a87865d71730c9fac0b39ade /include/drm
parentb9d474500546160dd6af35f60cd8bc20edd13807 (diff)
downloadlinux-3.10-2e3b3c42f06ff6801b3d7839757bbdb231619083.tar.gz
linux-3.10-2e3b3c42f06ff6801b3d7839757bbdb231619083.tar.bz2
linux-3.10-2e3b3c42f06ff6801b3d7839757bbdb231619083.zip
DRM: Add DRM KMS/FB CMA helper
This patchset introduces a set of helper function for implementing the KMS framebuffer layer for drivers which use the DRM GEM CMA helper function. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> [Make DRM_KMS_CMA_HELPER a boolean Kconfig option] Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_fb_cma_helper.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/drm/drm_fb_cma_helper.h b/include/drm/drm_fb_cma_helper.h
new file mode 100644
index 00000000000..76c70983754
--- /dev/null
+++ b/include/drm/drm_fb_cma_helper.h
@@ -0,0 +1,27 @@
+#ifndef __DRM_FB_CMA_HELPER_H__
+#define __DRM_FB_CMA_HELPER_H__
+
+struct drm_fbdev_cma;
+struct drm_gem_cma_object;
+
+struct drm_framebuffer;
+struct drm_device;
+struct drm_file;
+struct drm_mode_fb_cmd2;
+
+struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
+ unsigned int preferred_bpp, unsigned int num_crtc,
+ unsigned int max_conn_count);
+void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
+
+void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
+void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
+
+struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
+ struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd);
+
+struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
+ unsigned int plane);
+
+#endif
+