41b676e03f
Add functions drm_fb_cma_fbdev_init(), drm_fb_cma_fbdev_fini() and drm_fb_cma_fbdev_init_with_funcs(). These functions relies on the fact that the drm_fb_helper struct is stored in dev->drm_fb_helper_private so drivers don't need to store it. Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20171115142001.45358-3-noralf@tronnes.org
48 lines
1.6 KiB
C
48 lines
1.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __DRM_FB_CMA_HELPER_H__
|
|
#define __DRM_FB_CMA_HELPER_H__
|
|
|
|
struct drm_fbdev_cma;
|
|
struct drm_gem_cma_object;
|
|
|
|
struct drm_fb_helper_surface_size;
|
|
struct drm_framebuffer_funcs;
|
|
struct drm_fb_helper_funcs;
|
|
struct drm_framebuffer;
|
|
struct drm_fb_helper;
|
|
struct drm_device;
|
|
struct drm_file;
|
|
struct drm_mode_fb_cmd2;
|
|
struct drm_plane;
|
|
struct drm_plane_state;
|
|
|
|
int drm_fb_cma_fbdev_init_with_funcs(struct drm_device *dev,
|
|
unsigned int preferred_bpp, unsigned int max_conn_count,
|
|
const struct drm_framebuffer_funcs *funcs);
|
|
int drm_fb_cma_fbdev_init(struct drm_device *dev, unsigned int preferred_bpp,
|
|
unsigned int max_conn_count);
|
|
void drm_fb_cma_fbdev_fini(struct drm_device *dev);
|
|
|
|
struct drm_fbdev_cma *drm_fbdev_cma_init_with_funcs(struct drm_device *dev,
|
|
unsigned int preferred_bpp, unsigned int max_conn_count,
|
|
const struct drm_framebuffer_funcs *funcs);
|
|
struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev,
|
|
unsigned int preferred_bpp, unsigned int max_conn_count);
|
|
void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
|
|
|
|
void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
|
|
void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
|
|
void drm_fbdev_cma_set_suspend(struct drm_fbdev_cma *fbdev_cma, bool state);
|
|
void drm_fbdev_cma_set_suspend_unlocked(struct drm_fbdev_cma *fbdev_cma,
|
|
bool state);
|
|
|
|
struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
|
|
unsigned int plane);
|
|
|
|
dma_addr_t drm_fb_cma_get_gem_addr(struct drm_framebuffer *fb,
|
|
struct drm_plane_state *state,
|
|
unsigned int plane);
|
|
|
|
#endif
|
|
|