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
77