1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __DRM_FB_CMA_HELPER_H__
3 #define __DRM_FB_CMA_HELPER_H__
6 struct drm_gem_cma_object
;
8 struct drm_fb_helper_surface_size
;
9 struct drm_framebuffer_funcs
;
10 struct drm_fb_helper_funcs
;
11 struct drm_framebuffer
;
15 struct drm_mode_fb_cmd2
;
17 struct drm_plane_state
;
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
);
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
);
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
,
33 struct drm_gem_cma_object
*drm_fb_cma_get_gem_obj(struct drm_framebuffer
*fb
,
36 dma_addr_t
drm_fb_cma_get_gem_addr(struct drm_framebuffer
*fb
,
37 struct drm_plane_state
*state
,