Linux-libre 4.4.228-gnu
[librecmc/linux-libre.git] / drivers / gpu / drm / sti / sti_drv.h
1 /*
2  * Copyright (C) STMicroelectronics SA 2014
3  * Author: Benjamin Gaignard <benjamin.gaignard@st.com> for STMicroelectronics.
4  * License terms:  GNU General Public License (GPL), version 2
5  */
6
7 #ifndef _STI_DRV_H_
8 #define _STI_DRV_H_
9
10 #include <drm/drmP.h>
11
12 struct sti_compositor;
13 struct sti_tvout;
14
15 /**
16  * STI drm private structure
17  * This structure is stored as private in the drm_device
18  *
19  * @compo:                 compositor
20  * @plane_zorder_property: z-order property for CRTC planes
21  * @drm_dev:               drm device
22  */
23 struct sti_private {
24         struct sti_compositor *compo;
25         struct drm_property *plane_zorder_property;
26         struct drm_device *drm_dev;
27
28         struct {
29                 struct drm_atomic_state *state;
30                 struct work_struct work;
31                 struct mutex lock;
32         } commit;
33 };
34
35 extern struct platform_driver sti_tvout_driver;
36 extern struct platform_driver sti_vtac_driver;
37 extern struct platform_driver sti_hqvdp_driver;
38 extern struct platform_driver sti_hdmi_driver;
39 extern struct platform_driver sti_hda_driver;
40 extern struct platform_driver sti_dvo_driver;
41 extern struct platform_driver sti_vtg_driver;
42 extern struct platform_driver sti_compositor_driver;
43
44 #endif