Merge tag 'drm-misc-fixes-2017-11-13' of git://anongit.freedesktop.org/drm/drm-misc...
[sfrench/cifs-2.6.git] / include / drm / drm_fb_cma_helper.h
1 #ifndef __DRM_FB_CMA_HELPER_H__
2 #define __DRM_FB_CMA_HELPER_H__
3
4 struct drm_fbdev_cma;
5 struct drm_gem_cma_object;
6
7 struct drm_fb_helper_surface_size;
8 struct drm_framebuffer_funcs;
9 struct drm_fb_helper_funcs;
10 struct drm_framebuffer;
11 struct drm_fb_helper;
12 struct drm_device;
13 struct drm_file;
14 struct drm_mode_fb_cmd2;
15 struct drm_plane;
16 struct drm_plane_state;
17
18 struct drm_fbdev_cma *drm_fbdev_cma_init_with_funcs(struct drm_device *dev,
19         unsigned int preferred_bpp, unsigned int max_conn_count,
20         const struct drm_framebuffer_funcs *funcs);
21 struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
22         unsigned int preferred_bpp, unsigned int max_conn_count);
23 void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
24
25 void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
26 void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
27 void drm_fbdev_cma_set_suspend(struct drm_fbdev_cma *fbdev_cma, bool state);
28 void drm_fbdev_cma_set_suspend_unlocked(struct drm_fbdev_cma *fbdev_cma,
29                                         bool state);
30
31 struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
32         unsigned int plane);
33
34 dma_addr_t drm_fb_cma_get_gem_addr(struct drm_framebuffer *fb,
35                                    struct drm_plane_state *state,
36                                    unsigned int plane);
37
38 #ifdef CONFIG_DEBUG_FS
39 struct seq_file;
40
41 int drm_fb_cma_debugfs_show(struct seq_file *m, void *arg);
42 #endif
43
44 #endif
45