GNU Linux-libre 4.9.326-gnu1
[releases.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         struct drm_fbdev_cma *fbdev;
28
29         struct {
30                 struct drm_atomic_state *state;
31                 struct work_struct work;
32                 struct mutex lock;
33         } commit;
34 };
35
36 extern struct platform_driver sti_tvout_driver;
37 extern struct platform_driver sti_vtac_driver;
38 extern struct platform_driver sti_hqvdp_driver;
39 extern struct platform_driver sti_hdmi_driver;
40 extern struct platform_driver sti_hda_driver;
41 extern struct platform_driver sti_dvo_driver;
42 extern struct platform_driver sti_vtg_driver;
43 extern struct platform_driver sti_compositor_driver;
44
45 #endif