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 */
44struct 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};
51struct 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};
62struct 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};
76struct 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