xref: /linux/drivers/gpu/drm/omapdrm/omap_crtc.h (revision 856e7c4b619af622d56b3b454f7bec32a170ac99)
1 /*
2  * omap_crtc.h -- OMAP DRM CRTC
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_CRTC_H__
21 #define __OMAPDRM_CRTC_H__
22 
23 #include <linux/types.h>
24 
25 enum omap_channel;
26 
27 struct drm_crtc;
28 struct drm_device;
29 struct drm_plane;
30 struct omap_dss_device;
31 struct videomode;
32 
33 struct videomode *omap_crtc_timings(struct drm_crtc *crtc);
34 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
35 void omap_crtc_pre_init(struct omap_drm_private *priv);
36 void omap_crtc_pre_uninit(void);
37 struct drm_crtc *omap_crtc_init(struct drm_device *dev,
38 		struct drm_plane *plane, struct omap_dss_device *dssdev);
39 int omap_crtc_wait_pending(struct drm_crtc *crtc);
40 void omap_crtc_error_irq(struct drm_crtc *crtc, u32 irqstatus);
41 void omap_crtc_vblank_irq(struct drm_crtc *crtc);
42 
43 #endif /* __OMAPDRM_CRTC_H__ */
44