blob: 78ebe5e30f53ca782c6928266f08989a9fcdac76 [file] [log] [blame]
Benjamin Gaignard9bbf86f2014-07-31 09:39:11 +02001/*
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
Vincent Abriou9e1f05b2015-07-31 11:32:34 +02007#ifndef _STI_DRV_H_
8#define _STI_DRV_H_
Benjamin Gaignard9bbf86f2014-07-31 09:39:11 +02009
10#include <drm/drmP.h>
11
12struct sti_compositor;
13struct 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 */
Vincent Abriou9e1f05b2015-07-31 11:32:34 +020023struct sti_private {
Benjamin Gaignard9bbf86f2014-07-31 09:39:11 +020024 struct sti_compositor *compo;
25 struct drm_property *plane_zorder_property;
26 struct drm_device *drm_dev;
Benjamin Gaignard84601db2016-06-21 15:09:40 +020027 struct drm_fbdev_cma *fbdev;
Benjamin Gaignardde4b00b2015-03-19 13:35:16 +010028
29 struct {
30 struct drm_atomic_state *state;
31 struct work_struct work;
32 struct mutex lock;
33 } commit;
Benjamin Gaignard9bbf86f2014-07-31 09:39:11 +020034};
35
Thierry Redingdcec16e2015-09-24 19:02:40 +020036extern struct platform_driver sti_tvout_driver;
37extern struct platform_driver sti_vtac_driver;
38extern struct platform_driver sti_hqvdp_driver;
39extern struct platform_driver sti_hdmi_driver;
40extern struct platform_driver sti_hda_driver;
41extern struct platform_driver sti_dvo_driver;
42extern struct platform_driver sti_vtg_driver;
43extern struct platform_driver sti_compositor_driver;
44
Benjamin Gaignard9bbf86f2014-07-31 09:39:11 +020045#endif