drm: Update generic, ttm and radeon code to Linux 4.9
[dragonfly.git] / sys / dev / drm / 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
16 struct drm_fbdev_cma *drm_fbdev_cma_init_with_funcs(struct drm_device *dev,
17         unsigned int preferred_bpp, unsigned int num_crtc,
18         unsigned int max_conn_count, const struct drm_fb_helper_funcs *funcs);
19 struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
20         unsigned int preferred_bpp, unsigned int num_crtc,
21         unsigned int max_conn_count);
22 void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
23
24 void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
25 void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
26 void drm_fbdev_cma_set_suspend(struct drm_fbdev_cma *fbdev_cma, int state);
27 int drm_fbdev_cma_create_with_funcs(struct drm_fb_helper *helper,
28         struct drm_fb_helper_surface_size *sizes,
29         const struct drm_framebuffer_funcs *funcs);
30
31 void drm_fb_cma_destroy(struct drm_framebuffer *fb);
32 int drm_fb_cma_create_handle(struct drm_framebuffer *fb,
33         struct drm_file *file_priv, unsigned int *handle);
34
35 struct drm_framebuffer *drm_fb_cma_create_with_funcs(struct drm_device *dev,
36         struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd,
37         const struct drm_framebuffer_funcs *funcs);
38 struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
39         struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd);
40
41 struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
42         unsigned int plane);
43
44 #ifdef CONFIG_DEBUG_FS
45 struct seq_file;
46
47 int drm_fb_cma_debugfs_show(struct seq_file *m, void *arg);
48 #endif
49
50 #endif
51