13fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/****************************************************************************
23fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ****************************************************************************
33fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***
43fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   This header was automatically generated from a Linux kernel header
53fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   of the same name, to make information necessary for userspace to
63fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   call into the kernel available to libc.  It contains only constants,
73fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   structures, and macros generated from the original header, and thus,
83fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   contains no copyrightable information.
93fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***
103fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   To edit the content of this header, modify the corresponding
113fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   source file (e.g. under external/kernel-headers/original/) then
123fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   run bionic/libc/kernel/tools/update_all.py
133fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***
143fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   Any manual change here will be lost the next time this script will
153fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***   be run. You've been warned!
163fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ***
173fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ****************************************************************************
183fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani ****************************************************************************/
193fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#ifndef __LINUX_MSM_GEMINI_H
203fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define __LINUX_MSM_GEMINI_H
213fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#include <linux/types.h>
223fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#include <linux/ioctl.h>
233fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
243fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_MAGIC 'g'
253fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_GET_HW_VERSION   _IOW(MSM_GMN_IOCTL_MAGIC, 1, struct msm_gemini_hw_cmd *)
263fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_RESET   _IOW(MSM_GMN_IOCTL_MAGIC, 2, struct msm_gemini_ctrl_cmd *)
273fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_STOP   _IOW(MSM_GMN_IOCTL_MAGIC, 3, struct msm_gemini_hw_cmds *)
283fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
293fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_START   _IOW(MSM_GMN_IOCTL_MAGIC, 4, struct msm_gemini_hw_cmds *)
303fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_INPUT_BUF_ENQUEUE   _IOW(MSM_GMN_IOCTL_MAGIC, 5, struct msm_gemini_buf *)
313fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_INPUT_GET   _IOW(MSM_GMN_IOCTL_MAGIC, 6, struct msm_gemini_buf *)
323fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_INPUT_GET_UNBLOCK   _IOW(MSM_GMN_IOCTL_MAGIC, 7, int)
333fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
343fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_OUTPUT_BUF_ENQUEUE   _IOW(MSM_GMN_IOCTL_MAGIC, 8, struct msm_gemini_buf *)
353fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_OUTPUT_GET   _IOW(MSM_GMN_IOCTL_MAGIC, 9, struct msm_gemini_buf *)
363fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_OUTPUT_GET_UNBLOCK   _IOW(MSM_GMN_IOCTL_MAGIC, 10, int)
373fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_EVT_GET   _IOW(MSM_GMN_IOCTL_MAGIC, 11, struct msm_gemini_ctrl_cmd *)
383fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
393fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_EVT_GET_UNBLOCK   _IOW(MSM_GMN_IOCTL_MAGIC, 12, int)
403fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_HW_CMD   _IOW(MSM_GMN_IOCTL_MAGIC, 13, struct msm_gemini_hw_cmd *)
413fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_HW_CMDS   _IOW(MSM_GMN_IOCTL_MAGIC, 14, struct msm_gemini_hw_cmds *)
423fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GMN_IOCTL_TEST_DUMP_REGION   _IOW(MSM_GMN_IOCTL_MAGIC, 15, unsigned long)
433fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
443fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_MODE_REALTIME_ENCODE 0
453fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_MODE_OFFLINE_ENCODE 1
463fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_MODE_REALTIME_ROTATION 2
473fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_MODE_OFFLINE_ROTATION 3
483fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
493fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudanistruct msm_gemini_ctrl_cmd {
503fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t type;
513fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t len;
523fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani void *value;
533fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
543fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani};
553fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_EVT_RESET 0
563fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_EVT_FRAMEDONE 1
573fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_EVT_ERR 2
583fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
593fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudanistruct msm_gemini_buf {
603fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t type;
613fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani int fd;
623fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani void *vaddr;
633fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
643fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t y_off;
653fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t y_len;
663fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t framedone_len;
673fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t cbcr_off;
683fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
693fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t cbcr_len;
703fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t num_of_mcu_rows;
713fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t offset;
723fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani};
733fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
743fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_HW_CMD_TYPE_READ 0
753fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_HW_CMD_TYPE_WRITE 1
763fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_HW_CMD_TYPE_WRITE_OR 2
773fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_HW_CMD_TYPE_UWAIT 3
783fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
793fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_HW_CMD_TYPE_MWAIT 4
803fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_HW_CMD_TYPE_MDELAY 5
813fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#define MSM_GEMINI_HW_CMD_TYPE_UDELAY 6
823fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudanistruct msm_gemini_hw_cmd {
833fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
843fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t type:4;
853fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t n:12;
863fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t offset:16;
873fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t mask;
883fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
893fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani union {
903fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t data;
913fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t *pdata;
923fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani };
933fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
943fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani};
953fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudanistruct msm_gemini_hw_cmds {
963fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani uint32_t m;
973fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani struct msm_gemini_hw_cmd hw_cmd[1];
983fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
993fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani};
1003fc3b7fd94b7c787a0f22a638c91d88d35bb9071Ajay Dudani#endif
101