xref: /linux/drivers/gpu/drm/omapdrm/omap_crtc.h (revision 4be5e8648b0c287aefc6ac3f3a0b12c696054f43)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * omap_crtc.h -- OMAP DRM CRTC
4  *
5  * Copyright (C) 2011 Texas Instruments
6  * Author: Rob Clark <rob@ti.com>
7  */
8 
9 #ifndef __OMAPDRM_CRTC_H__
10 #define __OMAPDRM_CRTC_H__
11 
12 #include <linux/types.h>
13 
14 enum omap_channel;
15 
16 struct drm_crtc;
17 struct drm_device;
18 struct drm_plane;
19 struct omap_drm_pipeline;
20 struct omap_dss_device;
21 struct videomode;
22 
23 struct videomode *omap_crtc_timings(struct drm_crtc *crtc);
24 enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
25 void omap_crtc_pre_init(struct omap_drm_private *priv);
26 void omap_crtc_pre_uninit(struct omap_drm_private *priv);
27 struct drm_crtc *omap_crtc_init(struct drm_device *dev,
28 				struct omap_drm_pipeline *pipe,
29 				struct drm_plane *plane);
30 int omap_crtc_wait_pending(struct drm_crtc *crtc);
31 void omap_crtc_error_irq(struct drm_crtc *crtc, u32 irqstatus);
32 void omap_crtc_vblank_irq(struct drm_crtc *crtc);
33 void omap_crtc_framedone_irq(struct drm_crtc *crtc, uint32_t irqstatus);
34 void omap_crtc_flush(struct drm_crtc *crtc);
35 
36 #endif /* __OMAPDRM_CRTC_H__ */
37