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__MSM_ROTATOR_H__
20#define _UAPI__MSM_ROTATOR_H__
21#include <linux/types.h>
22#include <linux/msm_mdp.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define MSM_ROTATOR_IOCTL_MAGIC 'R'
25#define MSM_ROTATOR_IOCTL_START   _IOWR(MSM_ROTATOR_IOCTL_MAGIC, 1, struct msm_rotator_img_info)
26#define MSM_ROTATOR_IOCTL_ROTATE   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info)
27#define MSM_ROTATOR_IOCTL_FINISH   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int)
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define ROTATOR_VERSION_01 0xA5B4C301
30enum rotator_clk_type {
31 ROTATOR_CORE_CLK,
32 ROTATOR_PCLK,
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 ROTATOR_IMEM_CLK
35};
36struct msm_rotator_img_info {
37 unsigned int session_id;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 struct msmfb_img src;
40 struct msmfb_img dst;
41 struct mdp_rect src_rect;
42 unsigned int dst_x;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 unsigned int dst_y;
45 unsigned char rotations;
46 int enable;
47 unsigned int downscale_ratio;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 unsigned int secure;
50};
51struct msm_rotator_data_info {
52 int session_id;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 struct msmfb_data src;
55 struct msmfb_data dst;
56 unsigned int version_key;
57 struct msmfb_data src_chroma;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 struct msmfb_data dst_chroma;
60};
61struct msm_rot_clocks {
62 const char *clk_name;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 enum rotator_clk_type clk_type;
65 unsigned int clk_rate;
66};
67struct msm_rotator_platform_data {
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 unsigned int number_of_clocks;
70 unsigned int hardware_version_number;
71 struct msm_rot_clocks *rotator_clks;
72 char rot_iommu_split_domain;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74};
75#endif
76