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_drm_pipeline;
31 struct omap_dss_device;
32 struct videomode;
33 
34 struct videomode *omap_crtc_timings(struct drm_crtc *crtc);
35 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
36 void omap_crtc_pre_init(struct omap_drm_private *priv);
37 void omap_crtc_pre_uninit(struct omap_drm_private *priv);
38 struct drm_crtc *omap_crtc_init(struct drm_device *dev,
39 				struct omap_drm_pipeline *pipe,
40 				struct drm_plane *plane);
41 int omap_crtc_wait_pending(struct drm_crtc *crtc);
42 void omap_crtc_error_irq(struct drm_crtc *crtc, u32 irqstatus);
43 void omap_crtc_vblank_irq(struct drm_crtc *crtc);
44 
45 #endif /* __OMAPDRM_CRTC_H__ */
46