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