18611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/****************************************************************************
28611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ****************************************************************************
38611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***
48611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   This header was automatically generated from a Linux kernel header
58611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   of the same name, to make information necessary for userspace to
68611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   call into the kernel available to libc.  It contains only constants,
78611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   structures, and macros generated from the original header, and thus,
88611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   contains no copyrightable information.
98611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***
108611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   To edit the content of this header, modify the corresponding
118611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   source file (e.g. under external/kernel-headers/original/) then
128611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   run bionic/libc/kernel/tools/update_all.py
138611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***
148611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   Any manual change here will be lost the next time this script will
158611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***   be run. You've been warned!
168611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ***
178611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ****************************************************************************
188611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ****************************************************************************/
198611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#ifndef __MSM_ROTATOR_H__
208611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define __MSM_ROTATOR_H__
218611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#include <linux/types.h>
228611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#include <linux/msm_mdp.h>
238611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
248611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define MSM_ROTATOR_IOCTL_MAGIC 'R'
258611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define MSM_ROTATOR_IOCTL_START   _IOWR(MSM_ROTATOR_IOCTL_MAGIC, 1, struct msm_rotator_img_info)
268611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define MSM_ROTATOR_IOCTL_ROTATE   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info)
278611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define MSM_ROTATOR_IOCTL_FINISH   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int)
288611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2976de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed#define MSM_ROTATOR_IOCTL_BUFFER_SYNC   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 4, struct msm_rotator_buf_sync)
308611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#define ROTATOR_VERSION_01 0xA5B4C301
318611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsuenum rotator_clk_type {
328611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ROTATOR_CORE_CLK,
338611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3476de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed ROTATOR_PCLK,
358611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu ROTATOR_IMEM_CLK
368611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
3776de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmedstruct msm_rotator_buf_sync {
3876de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3976de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed uint32_t session_id;
4076de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed uint32_t flags;
4176de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed int acq_fen_fd;
4276de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed int rel_fen_fd;
4376de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4476de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed};
458611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct msm_rotator_img_info {
468611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int session_id;
478611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct msmfb_img src;
4876de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
498611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct msmfb_img dst;
508611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct mdp_rect src_rect;
518611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int dst_x;
528611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int dst_y;
5376de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
548611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned char rotations;
558611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int enable;
568611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int downscale_ratio;
578611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int secure;
5876de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
598611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
608611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct msm_rotator_data_info {
618611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu int session_id;
628611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct msmfb_data src;
6376de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
648611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct msmfb_data dst;
658611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int version_key;
668611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct msmfb_data src_chroma;
678611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct msmfb_data dst_chroma;
6876de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6976de202d7eae6422d5bcba124734a96b8b6b1b01Naseer Ahmed uint32_t wait_for_finish;
708611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
718611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct msm_rot_clocks {
728611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu const char *clk_name;
738611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
748611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu enum rotator_clk_type clk_type;
758611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int clk_rate;
768611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
778611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsustruct msm_rotator_platform_data {
788611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
798611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int number_of_clocks;
808611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu unsigned int hardware_version_number;
818611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu struct msm_rot_clocks *rotator_clks;
828611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu char rot_iommu_split_domain;
838611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
848611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu};
858611d5578ff014a1415b26e75e63aecbc4ad266cBrian Muramatsu#endif
86f0edc3f155a136d87beccd5ecef75c2d4b6f6b64Iliyan Malchev
87