blob: 30ddc20841c343a6b1c904864107e6b4a4d732a0 [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 Gaignardde4b00b2015-03-19 13:35:16 +010027
28 struct {
29 struct drm_atomic_state *state;
30 struct work_struct work;
31 struct mutex lock;
32 } commit;
Benjamin Gaignard9bbf86f2014-07-31 09:39:11 +020033};
34
Thierry Redingdcec16e2015-09-24 19:02:40 +020035extern struct platform_driver sti_tvout_driver;
36extern struct platform_driver sti_vtac_driver;
37extern struct platform_driver sti_hqvdp_driver;
38extern struct platform_driver sti_hdmi_driver;
39extern struct platform_driver sti_hda_driver;
40extern struct platform_driver sti_dvo_driver;
41extern struct platform_driver sti_vtg_driver;
42extern struct platform_driver sti_compositor_driver;
43
Benjamin Gaignard9bbf86f2014-07-31 09:39:11 +020044#endif