1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __DRM_FB_CMA_HELPER_H__ 3 #define __DRM_FB_CMA_HELPER_H__ 4 5 struct drm_fbdev_cma; 6 struct drm_gem_cma_object; 7 8 struct drm_fb_helper_surface_size; 9 struct drm_framebuffer_funcs; 10 struct drm_fb_helper_funcs; 11 struct drm_framebuffer; 12 struct drm_fb_helper; 13 struct drm_device; 14 struct drm_file; 15 struct drm_mode_fb_cmd2; 16 struct drm_plane; 17 struct drm_plane_state; 18 19 int drm_fb_cma_fbdev_init(struct drm_device *dev, unsigned int preferred_bpp, 20 unsigned int max_conn_count); 21 void drm_fb_cma_fbdev_fini(struct drm_device *dev); 22 23 struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev, 24 unsigned int preferred_bpp, unsigned int max_conn_count); 25 void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma); 26 27 void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma); 28 void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma); 29 void drm_fbdev_cma_set_suspend(struct drm_fbdev_cma *fbdev_cma, bool state); 30 void drm_fbdev_cma_set_suspend_unlocked(struct drm_fbdev_cma *fbdev_cma, 31 bool state); 32 33 struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb, 34 unsigned int plane); 35 36 dma_addr_t drm_fb_cma_get_gem_addr(struct drm_framebuffer *fb, 37 struct drm_plane_state *state, 38 unsigned int plane); 39 40 #endif 41 42