ef6441447147399650399b39523dd31a0ab75b50
[pandora-kernel.git] / drivers / staging / omapdrm / omap_priv.h
1 /*
2  * include/drm/omap_priv.h
3  *
4  * Copyright (C) 2011 Texas Instruments
5  * Author: Rob Clark <rob@ti.com>
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 as published by
9  * the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef __OMAP_PRIV_H__
21 #define __OMAP_PRIV_H__
22
23 /* Non-userspace facing APIs
24  */
25
26 /* optional platform data to configure the default configuration of which
27  * pipes/overlays/CRTCs are used.. if this is not provided, then instead the
28  * first CONFIG_DRM_OMAP_NUM_CRTCS are used, and they are each connected to
29  * one manager, with priority given to managers that are connected to
30  * detected devices.  Remaining overlays are used as video planes.  This
31  * should be a good default behavior for most cases, but yet there still
32  * might be times when you wish to do something different.
33  */
34 struct omap_kms_platform_data {
35         /* overlays to use as CRTCs: */
36         int ovl_cnt;
37         const int *ovl_ids;
38
39         /* overlays to use as video planes: */
40         int pln_cnt;
41         const int *pln_ids;
42
43         int mgr_cnt;
44         const int *mgr_ids;
45
46         int dev_cnt;
47         const char **dev_names;
48 };
49
50 struct omap_drm_platform_data {
51         struct omap_kms_platform_data *kms_pdata;
52         struct omap_dmm_platform_data *dmm_pdata;
53 };
54
55 #endif /* __OMAP_DRM_H__ */