xref: /linux/drivers/gpu/drm/sti/sti_drv.h (revision b6ebbac51bedf9e98e837688bc838f400196da5e)
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
46