OLD | NEW |
1 /* | 1 /* |
2 * include/video/tegrafb.h | 2 * include/video/tegrafb.h |
3 * | 3 * |
4 * Copyright (C) 2010 Google, Inc. | 4 * Copyright (C) 2010 Google, Inc. |
5 * Author: Erik Gilling <konkers@android.com> | 5 * Author: Erik Gilling <konkers@android.com> |
6 * | 6 * |
7 * This software is licensed under the terms of the GNU General Public | 7 * This software is licensed under the terms of the GNU General Public |
8 * License version 2, as published by the Free Software Foundation, and | 8 * License version 2, as published by the Free Software Foundation, and |
9 * may be copied, distributed, and modified under those terms. | 9 * may be copied, distributed, and modified under those terms. |
10 * | 10 * |
11 * This program is distributed in the hope that it will be useful, | 11 * This program is distributed in the hope that it will be useful, |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 * GNU General Public License for more details. | 14 * GNU General Public License for more details. |
15 * | 15 * |
16 */ | 16 */ |
17 | 17 |
18 #ifndef _LINUX_TEGRAFB_H_ | 18 #ifndef _LINUX_TEGRAFB_H_ |
19 #define _LINUX_TEGRAFB_H_ | 19 #define _LINUX_TEGRAFB_H_ |
20 | 20 |
21 #include <linux/fb.h> | 21 #include <linux/fb.h> |
22 #include <linux/types.h> | 22 #include <linux/types.h> |
23 #include <asm/ioctl.h> | 23 #include <linux/ioctl.h> |
24 | |
25 #define TEGRA_FB_WIN_FMT_P1» » 0 | |
26 #define TEGRA_FB_WIN_FMT_P2» » 1 | |
27 #define TEGRA_FB_WIN_FMT_P4» » 2 | |
28 #define TEGRA_FB_WIN_FMT_P8» » 3 | |
29 #define TEGRA_FB_WIN_FMT_B4G4R4A4» 4 | |
30 #define TEGRA_FB_WIN_FMT_B5G5R5A» 5 | |
31 #define TEGRA_FB_WIN_FMT_B5G6R5»» 6 | |
32 #define TEGRA_FB_WIN_FMT_AB5G5R5» 7 | |
33 #define TEGRA_FB_WIN_FMT_B8G8R8A8» 12 | |
34 #define TEGRA_FB_WIN_FMT_R8G8B8A8» 13 | |
35 #define TEGRA_FB_WIN_FMT_B6x2G6x2R6x2A8»14 | |
36 #define TEGRA_FB_WIN_FMT_R6x2G6x2B6x2A8»15 | |
37 #define TEGRA_FB_WIN_FMT_YCbCr422» 16 | |
38 #define TEGRA_FB_WIN_FMT_YUV422»» 17 | |
39 #define TEGRA_FB_WIN_FMT_YCbCr420P» 18 | |
40 #define TEGRA_FB_WIN_FMT_YUV420P» 19 | |
41 #define TEGRA_FB_WIN_FMT_YCbCr422P» 20 | |
42 #define TEGRA_FB_WIN_FMT_YUV422P» 21 | |
43 #define TEGRA_FB_WIN_FMT_YCbCr422R» 22 | |
44 #define TEGRA_FB_WIN_FMT_YUV422R» 23 | |
45 #define TEGRA_FB_WIN_FMT_YCbCr422RA» 24 | |
46 #define TEGRA_FB_WIN_FMT_YUV422RA» 25 | |
47 | |
48 #define TEGRA_FB_WIN_BLEND_NONE»0 | |
49 #define TEGRA_FB_WIN_BLEND_PREMULT 1 | |
50 #define TEGRA_FB_WIN_BLEND_COVERAGE 2 | |
51 | |
52 /* set index to -1 to ignore window data */ | |
53 struct tegra_fb_windowattr { | |
54 » __s32» index; | |
55 » __u32» buff_id; | |
56 » __u32» blend; | |
57 » __u32» offset; | |
58 » __u32» offset_u; | |
59 » __u32» offset_v; | |
60 » __u32» stride; | |
61 » __u32» stride_uv; | |
62 » __u32» pixformat; | |
63 » __u32» x; | |
64 » __u32» y; | |
65 » __u32» w; | |
66 » __u32» h; | |
67 » __u32» out_x; | |
68 » __u32» out_y; | |
69 » __u32» out_w; | |
70 » __u32» out_h; | |
71 » __u32» z; | |
72 » __u32» pre_syncpt_id; | |
73 » __u32» pre_syncpt_val; | |
74 }; | |
75 | |
76 #define TEGRA_FB_FLIP_N_WINDOWS»» 3 | |
77 | |
78 struct tegra_fb_flip_args { | |
79 » struct tegra_fb_windowattr win[TEGRA_FB_FLIP_N_WINDOWS]; | |
80 » __u32 post_syncpt_id; | |
81 » __u32 post_syncpt_val; | |
82 }; | |
83 | 24 |
84 struct tegra_fb_modedb { | 25 struct tegra_fb_modedb { |
85 struct fb_var_screeninfo *modedb; | 26 struct fb_var_screeninfo *modedb; |
86 __u32 modedb_len; | 27 __u32 modedb_len; |
87 }; | 28 }; |
88 | 29 |
89 #define FBIO_TEGRA_SET_NVMAP_FD _IOW('F', 0x40, __u32) | |
90 #define FBIO_TEGRA_FLIP _IOW('F', 0x41, struct tegra_fb_flip_args) | |
91 #define FBIO_TEGRA_GET_MODEDB _IOWR('F', 0x42, struct tegra_fb_modedb) | 30 #define FBIO_TEGRA_GET_MODEDB _IOWR('F', 0x42, struct tegra_fb_modedb) |
92 | 31 |
93 #endif | 32 #endif |
OLD | NEW |