GNU Linux-libre 4.19.245-gnu1
[releases.git] / drivers / gpu / drm / omapdrm / omap_fb.h
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 bool omap_framebuffer_supports_rotation(struct drm_framebuffer *fb);
42 void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m);
43
44 #endif /* __OMAPDRM_FB_H__ */