xref: /openbmc/linux/drivers/gpu/drm/omapdrm/omap_fb.h (revision bc05aa6e)
1 /*
2  * omap_fb.h -- OMAP DRM Framebuffer
3  *
4  * Copyright (C) 2011 Texas Instruments
5  * Author: Rob Clark <rob@ti.com>
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 as published by
9  * the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef __OMAPDRM_FB_H__
21 #define __OMAPDRM_FB_H__
22 
23 struct drm_connector;
24 struct drm_device;
25 struct drm_file;
26 struct drm_framebuffer;
27 struct drm_gem_object;
28 struct drm_mode_fb_cmd2;
29 struct drm_plane_state;
30 struct omap_overlay_info;
31 struct seq_file;
32 
33 struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
34 		struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
35 struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev,
36 		const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos);
37 int omap_framebuffer_pin(struct drm_framebuffer *fb);
38 void omap_framebuffer_unpin(struct drm_framebuffer *fb);
39 void omap_framebuffer_update_scanout(struct drm_framebuffer *fb,
40 		struct drm_plane_state *state, struct omap_overlay_info *info);
41 struct drm_connector *omap_framebuffer_get_next_connector(
42 		struct drm_framebuffer *fb, struct drm_connector *from);
43 bool omap_framebuffer_supports_rotation(struct drm_framebuffer *fb);
44 void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m);
45 
46 #endif /* __OMAPDRM_FB_H__ */
47