blob: c35521880b1a142afbff9eeef5db010666e1ea24 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef _MSM_MDP_H_
13#define _MSM_MDP_H_
Ben Cheng4b29af02012-03-07 16:14:53 -080014
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080015#include <linux/types.h>
Ben Cheng4b29af02012-03-07 16:14:53 -080016
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017#define MSMFB_IOCTL_MAGIC 'm'
18#define MSMFB_GRP_DISP _IOW(MSMFB_IOCTL_MAGIC, 1, unsigned int)
19#define MSMFB_BLIT _IOW(MSMFB_IOCTL_MAGIC, 2, unsigned int)
Ben Cheng4b29af02012-03-07 16:14:53 -080020
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021enum {
22 MDP_RGB_565,
23 MDP_XRGB_8888,
24 MDP_Y_CBCR_H2V2,
25 MDP_ARGB_8888,
26 MDP_RGB_888,
27 MDP_Y_CRCB_H2V2,
28 MDP_YCRYCB_H2V1,
29 MDP_Y_CRCB_H2V1,
30 MDP_Y_CBCR_H2V1,
31 MDP_RGBA_8888,
32 MDP_BGRA_8888,
Dima Zavinfcb10792009-08-19 18:48:57 -070033 MDP_RGBX_8888,
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034 MDP_IMGTYPE_LIMIT
35};
Ben Cheng4b29af02012-03-07 16:14:53 -080036
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080037enum {
38 PMEM_IMG,
39 FB_IMG,
40};
Ben Cheng4b29af02012-03-07 16:14:53 -080041
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080042#define MDP_ROT_NOP 0
43#define MDP_FLIP_LR 0x1
44#define MDP_FLIP_UD 0x2
45#define MDP_ROT_90 0x4
46#define MDP_ROT_180 (MDP_FLIP_UD|MDP_FLIP_LR)
47#define MDP_ROT_270 (MDP_ROT_90|MDP_FLIP_UD|MDP_FLIP_LR)
48#define MDP_DITHER 0x8
Mathias Agopiana80a1dc2009-03-27 17:59:32 -070049#define MDP_BLUR 0x10
Dima Zavin916edf22009-09-20 19:11:02 -070050#define MDP_BLEND_FG_PREMULT 0x20000
Ben Cheng4b29af02012-03-07 16:14:53 -080051
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080052#define MDP_TRANSP_NOP 0xffffffff
53#define MDP_ALPHA_NOP 0xff
Ben Cheng4b29af02012-03-07 16:14:53 -080054
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080055struct mdp_rect {
56 uint32_t x;
57 uint32_t y;
58 uint32_t w;
59 uint32_t h;
60};
Ben Cheng4b29af02012-03-07 16:14:53 -080061
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080062struct mdp_img {
63 uint32_t width;
64 uint32_t height;
65 uint32_t format;
66 uint32_t offset;
67 int memory_id;
68};
Ben Cheng4b29af02012-03-07 16:14:53 -080069
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080070struct mdp_blit_req {
71 struct mdp_img src;
72 struct mdp_img dst;
73 struct mdp_rect src_rect;
74 struct mdp_rect dst_rect;
75 uint32_t alpha;
76 uint32_t transp_mask;
77 uint32_t flags;
78};
Ben Cheng4b29af02012-03-07 16:14:53 -080079
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080080struct mdp_blit_req_list {
81 uint32_t count;
82 struct mdp_blit_req req[];
83};
Ben Cheng4b29af02012-03-07 16:14:53 -080084
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080085#endif
Ben Cheng4b29af02012-03-07 16:14:53 -080086