blob: be62bd321e759a13b16441a00ebd877cd820b6b6 [file] [log] [blame]
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +02001#ifndef __DRM_FB_CMA_HELPER_H__
2#define __DRM_FB_CMA_HELPER_H__
3
4struct drm_fbdev_cma;
5struct drm_gem_cma_object;
6
7struct drm_framebuffer;
8struct drm_device;
9struct drm_file;
10struct drm_mode_fb_cmd2;
11
12struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
13 unsigned int preferred_bpp, unsigned int num_crtc,
14 unsigned int max_conn_count);
15void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
16
17void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
18void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
19
20struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
Ville Syrjälä1eb83452015-11-11 19:11:29 +020021 struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd);
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +020022
23struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
24 unsigned int plane);
25
Rob Clark6f646092012-12-10 10:46:43 -060026#ifdef CONFIG_DEBUG_FS
Rob Clark6f646092012-12-10 10:46:43 -060027int drm_fb_cma_debugfs_show(struct seq_file *m, void *arg);
28#endif
29
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +020030#endif
31