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