xref: /openbmc/linux/drivers/gpu/drm/omapdrm/omap_crtc.h (revision b5561412975633049661436fb3764d96b945eed0)
1*b5561412SLaurent Pinchart /*
2*b5561412SLaurent Pinchart  * omap_crtc.h -- OMAP DRM CRTC
3*b5561412SLaurent Pinchart  *
4*b5561412SLaurent Pinchart  * Copyright (C) 2011 Texas Instruments
5*b5561412SLaurent Pinchart  * Author: Rob Clark <rob@ti.com>
6*b5561412SLaurent Pinchart  *
7*b5561412SLaurent Pinchart  * This program is free software; you can redistribute it and/or modify it
8*b5561412SLaurent Pinchart  * under the terms of the GNU General Public License version 2 as published by
9*b5561412SLaurent Pinchart  * the Free Software Foundation.
10*b5561412SLaurent Pinchart  *
11*b5561412SLaurent Pinchart  * This program is distributed in the hope that it will be useful, but WITHOUT
12*b5561412SLaurent Pinchart  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13*b5561412SLaurent Pinchart  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14*b5561412SLaurent Pinchart  * more details.
15*b5561412SLaurent Pinchart  *
16*b5561412SLaurent Pinchart  * You should have received a copy of the GNU General Public License along with
17*b5561412SLaurent Pinchart  * this program.  If not, see <http://www.gnu.org/licenses/>.
18*b5561412SLaurent Pinchart  */
19*b5561412SLaurent Pinchart 
20*b5561412SLaurent Pinchart #ifndef __OMAPDRM_CRTC_H__
21*b5561412SLaurent Pinchart #define __OMAPDRM_CRTC_H__
22*b5561412SLaurent Pinchart 
23*b5561412SLaurent Pinchart #include <linux/types.h>
24*b5561412SLaurent Pinchart 
25*b5561412SLaurent Pinchart enum omap_channel;
26*b5561412SLaurent Pinchart 
27*b5561412SLaurent Pinchart struct drm_crtc;
28*b5561412SLaurent Pinchart struct drm_device;
29*b5561412SLaurent Pinchart struct drm_plane;
30*b5561412SLaurent Pinchart struct omap_dss_device;
31*b5561412SLaurent Pinchart struct videomode;
32*b5561412SLaurent Pinchart 
33*b5561412SLaurent Pinchart struct videomode *omap_crtc_timings(struct drm_crtc *crtc);
34*b5561412SLaurent Pinchart enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
35*b5561412SLaurent Pinchart void omap_crtc_pre_init(void);
36*b5561412SLaurent Pinchart void omap_crtc_pre_uninit(void);
37*b5561412SLaurent Pinchart struct drm_crtc *omap_crtc_init(struct drm_device *dev,
38*b5561412SLaurent Pinchart 		struct drm_plane *plane, struct omap_dss_device *dssdev);
39*b5561412SLaurent Pinchart int omap_crtc_wait_pending(struct drm_crtc *crtc);
40*b5561412SLaurent Pinchart void omap_crtc_error_irq(struct drm_crtc *crtc, uint32_t irqstatus);
41*b5561412SLaurent Pinchart void omap_crtc_vblank_irq(struct drm_crtc *crtc);
42*b5561412SLaurent Pinchart 
43*b5561412SLaurent Pinchart #endif /* __OMAPDRM_CRTC_H__ */
44