msm_rotator.h revision 76de202d7eae6422d5bcba124734a96b8b6b1b01
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 __MSM_ROTATOR_H__
20#define __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 MSM_ROTATOR_IOCTL_BUFFER_SYNC   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 4, struct msm_rotator_buf_sync)
30#define ROTATOR_VERSION_01 0xA5B4C301
31enum rotator_clk_type {
32 ROTATOR_CORE_CLK,
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 ROTATOR_PCLK,
35 ROTATOR_IMEM_CLK
36};
37struct msm_rotator_buf_sync {
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 uint32_t session_id;
40 uint32_t flags;
41 int acq_fen_fd;
42 int rel_fen_fd;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44};
45struct msm_rotator_img_info {
46 unsigned int session_id;
47 struct msmfb_img src;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 struct msmfb_img dst;
50 struct mdp_rect src_rect;
51 unsigned int dst_x;
52 unsigned int dst_y;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 unsigned char rotations;
55 int enable;
56 unsigned int downscale_ratio;
57 unsigned int secure;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59};
60struct msm_rotator_data_info {
61 int session_id;
62 struct msmfb_data src;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 struct msmfb_data dst;
65 unsigned int version_key;
66 struct msmfb_data src_chroma;
67 struct msmfb_data dst_chroma;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 uint32_t wait_for_finish;
70};
71struct msm_rot_clocks {
72 const char *clk_name;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 enum rotator_clk_type clk_type;
75 unsigned int clk_rate;
76};
77struct msm_rotator_platform_data {
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 unsigned int number_of_clocks;
80 unsigned int hardware_version_number;
81 struct msm_rot_clocks *rotator_clks;
82 char rot_iommu_split_domain;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84};
85#endif
86
87