1 /****************************************************************************
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  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI_MDSS_ROTATOR_H_
20 #define _UAPI_MDSS_ROTATOR_H_
21 #include <linux/msm_mdp_ext.h>
22 #define MDSS_ROTATOR_IOCTL_MAGIC 'w'
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define MDSS_ROTATION_OPEN _IOWR(MDSS_ROTATOR_IOCTL_MAGIC, 1, struct mdp_rotation_config *)
25 #define MDSS_ROTATION_CONFIG _IOWR(MDSS_ROTATOR_IOCTL_MAGIC, 2, struct mdp_rotation_config *)
26 #define MDSS_ROTATION_REQUEST _IOWR(MDSS_ROTATOR_IOCTL_MAGIC, 3, struct mdp_rotation_request *)
27 #define MDSS_ROTATION_CLOSE _IOW(MDSS_ROTATOR_IOCTL_MAGIC, 4, unsigned int)
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define MDP_ROTATION_NOP 0x01
30 #define MDP_ROTATION_FLIP_LR 0x02
31 #define MDP_ROTATION_FLIP_UD 0x04
32 #define MDP_ROTATION_90 0x08
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define MDP_ROTATION_180 (MDP_ROTATION_FLIP_LR | MDP_ROTATION_FLIP_UD)
35 #define MDP_ROTATION_270 (MDP_ROTATION_90 | MDP_ROTATION_180)
36 #define MDP_ROTATION_DEINTERLACE 0x10
37 #define MDP_ROTATION_BWC_EN 0x40
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define MDP_ROTATION_SECURE 0x80
40 #define MDSS_ROTATION_REQUEST_VALIDATE 0x01
41 #define MDP_ROTATION_REQUEST_VERSION_1_0 0x00010000
42 #define MDSS_ROTATION_HW_ANY 0xFFFFFFFF
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 struct mdp_rotation_buf_info {
45   uint32_t width;
46   uint32_t height;
47   uint32_t format;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   struct mult_factor comp_ratio;
50 };
51 struct mdp_rotation_config {
52   uint32_t version;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   uint32_t session_id;
55   struct mdp_rotation_buf_info input;
56   struct mdp_rotation_buf_info output;
57   uint32_t frame_rate;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   uint32_t flags;
60   uint32_t reserved[6];
61 };
62 struct mdp_rotation_item {
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   uint32_t flags;
65   struct mdp_rect src_rect;
66   struct mdp_rect dst_rect;
67   struct mdp_layer_buffer input;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   struct mdp_layer_buffer output;
70   uint32_t pipe_idx;
71   uint32_t wb_idx;
72   uint32_t session_id;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   uint32_t reserved[6];
75 };
76 struct mdp_rotation_request {
77   uint32_t version;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   uint32_t flags;
80   uint32_t count;
81   struct mdp_rotation_item __user * list;
82   uint32_t reserved[6];
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 };
85 #endif
86 
87