]> rtime.felk.cvut.cz Git - vajnamar/linux-xlnx.git/blob - drivers/gpu/drm/xilinx/xilinx_vtc.h
drm: xilinx: vtc: exporting interrupt APIs
[vajnamar/linux-xlnx.git] / drivers / gpu / drm / xilinx / xilinx_vtc.h
1 /*
2  * Video Timing Controller Header for Xilinx DRM KMS
3  *
4  *  Copyright (C) 2013 Xilinx, Inc.
5  *
6  *  Author: Hyun Woo Kwon <hyunk@xilinx.com>
7  *
8  * This software is licensed under the terms of the GNU General Public
9  * License version 2, as published by the Free Software Foundation, and
10  * may be copied, distributed, and modified under those terms.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  */
17
18 #ifndef _XILINX_VTC_H_
19 #define _XILINX_VTC_H_
20
21 struct xilinx_vtc;
22
23 struct videomode;
24
25 void xilinx_vtc_config_sig(struct xilinx_vtc *vtc,
26                            struct videomode *vm);
27 void xilinx_vtc_enable_vblank_intr(struct xilinx_vtc *vtc,
28                                    void (*fn)(void *), void *data);
29 void xilinx_vtc_disable_vblank_intr(struct xilinx_vtc *vtc);
30 void xilinx_vtc_reset(struct xilinx_vtc *vtc);
31 void xilinx_vtc_enable(struct xilinx_vtc *vtc);
32 void xilinx_vtc_disable(struct xilinx_vtc *vtc);
33
34 struct device;
35 struct device_node;
36
37 struct xilinx_vtc *xilinx_vtc_probe(struct device *dev,
38                                     struct device_node *node);
39 void xilinx_vtc_vblank_enable(struct xilinx_vtc *vtc);
40 void xilinx_vtc_vblank_disable(struct xilinx_vtc *vtc);
41 u32 xilinx_vtc_intr_get(struct xilinx_vtc *vtc);
42 void xilinx_vtc_intr_clear(struct xilinx_vtc *vtc, u32 intr);
43
44 #endif /* _XILINX_VTC_H_ */