15bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/****************************************************************************
25bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ****************************************************************************
35bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***
45bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   This header was automatically generated from a Linux kernel header
55bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   of the same name, to make information necessary for userspace to
65bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   call into the kernel available to libc.  It contains only constants,
75bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   structures, and macros generated from the original header, and thus,
85bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   contains no copyrightable information.
95bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***
105bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   To edit the content of this header, modify the corresponding
115bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   source file (e.g. under external/kernel-headers/original/) then
125bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   run bionic/libc/kernel/tools/update_all.py
135bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***
145bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   Any manual change here will be lost the next time this script will
155bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***   be run. You've been warned!
165bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ***
175bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ****************************************************************************
185bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ****************************************************************************/
195bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#ifndef __MSM_ROTATOR_H__
205bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#define __MSM_ROTATOR_H__
215bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#include <linux/types.h>
225bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#include <linux/msm_mdp.h>
235bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
245bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#define MSM_ROTATOR_IOCTL_MAGIC 'R'
255bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#define MSM_ROTATOR_IOCTL_START   _IOWR(MSM_ROTATOR_IOCTL_MAGIC, 1, struct msm_rotator_img_info)
265bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#define MSM_ROTATOR_IOCTL_ROTATE   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 2, struct msm_rotator_data_info)
275bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#define MSM_ROTATOR_IOCTL_FINISH   _IOW(MSM_ROTATOR_IOCTL_MAGIC, 3, int)
285bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
295bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#define ROTATOR_VERSION_01 0xA5B4C301
305bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilsonenum rotator_clk_type {
315bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ROTATOR_CORE_CLK,
325bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ROTATOR_PCLK,
335bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
345bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson ROTATOR_IMEM_CLK
355bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson};
365bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilsonstruct msm_rotator_img_info {
375bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int session_id;
385bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
395bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct msmfb_img src;
405bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct msmfb_img dst;
415bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct mdp_rect src_rect;
425bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int dst_x;
435bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
445bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int dst_y;
455bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned char rotations;
465bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson int enable;
475bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int downscale_ratio;
485bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
495bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int secure;
505bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson};
515bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilsonstruct msm_rotator_data_info {
525bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson int session_id;
535bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
545bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct msmfb_data src;
555bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct msmfb_data dst;
565bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int version_key;
575bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct msmfb_data src_chroma;
585bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
595bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct msmfb_data dst_chroma;
605bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson};
615bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilsonstruct msm_rot_clocks {
625bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson const char *clk_name;
635bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
645bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson enum rotator_clk_type clk_type;
655bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int clk_rate;
665bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson};
675bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilsonstruct msm_rotator_platform_data {
685bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
695bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int number_of_clocks;
705bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson unsigned int hardware_version_number;
715bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson struct msm_rot_clocks *rotator_clks;
725bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson char rot_iommu_split_domain;
735bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
745bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson};
755bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson#endif
765bccd2d0d6de8ffd0c244c1b66ef5a9ac9409404Simon Wilson
77