Merge tag 'backlight-next-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / include / drm / drm_fb_cma_helper.h
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