blob: eaab2d7f03241a8806c2d7ace81413b298b44851 [file] [log] [blame]
Laurent Pinchartb5561412017-10-13 17:59:05 +03001/*
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
25enum omap_channel;
26
27struct drm_crtc;
28struct drm_device;
29struct drm_plane;
30struct omap_dss_device;
31struct videomode;
32
33struct videomode *omap_crtc_timings(struct drm_crtc *crtc);
34enum omap_channel omap_crtc_channel(struct drm_crtc *crtc);
Laurent Pinchart64cb8172018-02-13 14:00:39 +020035void omap_crtc_pre_init(struct omap_drm_private *priv);
Laurent Pinchartb5561412017-10-13 17:59:05 +030036void omap_crtc_pre_uninit(void);
37struct drm_crtc *omap_crtc_init(struct drm_device *dev,
38 struct drm_plane *plane, struct omap_dss_device *dssdev);
39int omap_crtc_wait_pending(struct drm_crtc *crtc);
Laurent Pinchartdfe9cfc2018-02-11 15:07:33 +020040void omap_crtc_error_irq(struct drm_crtc *crtc, u32 irqstatus);
Laurent Pinchartb5561412017-10-13 17:59:05 +030041void omap_crtc_vblank_irq(struct drm_crtc *crtc);
42
43#endif /* __OMAPDRM_CRTC_H__ */