• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef __MSM_ROTATOR_H__
8 #define __MSM_ROTATOR_H__
9 #include <linux/types.h>
10 #include <linux/msm_mdp.h>
11 #define MSM_ROTATOR_IOCTL_MAGIC 'R'
12 #define MSM_ROTATOR_IOCTL_START _IOWR(MSM_ROTATOR_IOCTL_MAGIC, 1, struct msm_rotator_img_info)
13 #define MSM_ROTATOR_IOCTL_ROTATE _IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info)
14 #define MSM_ROTATOR_IOCTL_FINISH _IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int)
15 #define ROTATOR_VERSION_01 0xA5B4C301
16 enum rotator_clk_type {
17   ROTATOR_CORE_CLK,
18   ROTATOR_PCLK,
19   ROTATOR_IMEM_CLK
20 };
21 struct msm_rotator_img_info {
22   unsigned int session_id;
23   struct msmfb_img src;
24   struct msmfb_img dst;
25   struct mdp_rect src_rect;
26   unsigned int dst_x;
27   unsigned int dst_y;
28   unsigned char rotations;
29   int enable;
30   unsigned int downscale_ratio;
31   unsigned int secure;
32 };
33 struct msm_rotator_data_info {
34   int session_id;
35   struct msmfb_data src;
36   struct msmfb_data dst;
37   unsigned int version_key;
38   struct msmfb_data src_chroma;
39   struct msmfb_data dst_chroma;
40 };
41 struct msm_rot_clocks {
42   const char * clk_name;
43   enum rotator_clk_type clk_type;
44   unsigned int clk_rate;
45 };
46 struct msm_rotator_platform_data {
47   unsigned int number_of_clocks;
48   unsigned int hardware_version_number;
49   struct msm_rot_clocks * rotator_clks;
50   struct msm_bus_scale_pdata * bus_scale_table;
51   char rot_iommu_split_domain;
52 };
53 #endif
54