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 52