/**************************************************************************** **************************************************************************** *** *** This header was automatically generated from a Linux kernel header *** of the same name, to make information necessary for userspace to *** call into the kernel available to libc. It contains only constants, *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** *** To edit the content of this header, modify the corresponding *** source file (e.g. under external/kernel-headers/original/) then *** run bionic/libc/kernel/tools/update_all.py *** *** Any manual change here will be lost the next time this script will *** be run. You've been warned! *** **************************************************************************** ****************************************************************************/ #ifndef __IAXXX_ODSP_H__ #define __IAXXX_ODSP_H__ #define NAME_MAX_SIZE 256 #define IAXXX_PACKAGE_VER_STR_SIZE_MAX (100) #define IAXXX_PLUGIN_VER_STR_SIZE_MAX (100) #define IAXXX_MAX_PLUGIN_ENDPOINTS (16) #define IAXXX_MAX_VER_STR_SIZE (20) enum { IAXXX_FW_CRASH, IAXXX_FW_IDLE, IAXXX_FW_ACTIVE }; struct iaxxx_plugin_info { uint32_t plg_idx; uint32_t pkg_id; uint32_t block_id; uint32_t inst_id; uint32_t priority; uint32_t config_id; }; struct iaxxx_plugin_param { uint32_t inst_id; uint32_t param_id; uint32_t param_val; uint8_t block_id; }; struct iaxxx_plugin_param_blk { uint32_t inst_id; uint32_t param_size; uint64_t param_blk; uint8_t block_id; uint32_t id; char file_name[NAME_MAX_SIZE]; }; struct iaxxx_plugin_create_cfg { char file_name[NAME_MAX_SIZE]; uint32_t inst_id; uint32_t cfg_size; uint64_t cfg_val; uint8_t block_id; }; struct iaxxx_set_event { uint8_t inst_id; uint32_t event_enable_mask; uint32_t block_id; }; struct iaxxx_evt_trigger { uint16_t src_id; uint16_t evt_id; uint32_t src_opaque; }; struct iaxxx_evt_read_subscription { uint16_t src_id; uint16_t evt_id; uint16_t dst_id; uint32_t dst_opaque; }; struct iaxxx_evt_retrieve_notification { uint16_t src_id; uint16_t evt_id; uint32_t src_opaque; uint32_t dst_opaque; }; struct iaxxx_evt_info { uint16_t src_id; uint16_t event_id; uint16_t dst_id; uint32_t dst_opaque; }; struct iaxxx_get_event { uint16_t event_id; uint32_t data; }; struct iaxxx_pkg_mgmt_info { char pkg_name[NAME_MAX_SIZE]; uint32_t pkg_id; uint32_t proc_id; }; struct iaxxx_plugin_custom_cfg { char file_name[NAME_MAX_SIZE]; uint32_t inst_id; uint8_t block_id; uint32_t param_blk_id; uint32_t custom_config_id; }; struct iaxxx_plugin_error_info { uint8_t block_id; uint32_t error_code; uint8_t error_instance; }; struct iaxxx_plugin_set_param_blk_with_ack_info { uint32_t inst_id; uint8_t block_id; uint32_t param_blk_id; uint32_t set_param_blk_size; uint64_t set_param_blk_buffer; uint64_t response_buffer; uint32_t response_buf_size; uint32_t max_retries; }; struct iaxxx_plugin_status_info { uint32_t inst_id; uint32_t block_id; uint8_t create_status; uint8_t enable_status; uint16_t process_count; uint16_t process_err_count; uint32_t in_frames_consumed; uint32_t out_frames_produced; uint32_t private_memsize; uint8_t frame_notification_mode; uint8_t state_management_mode; }; struct iaxxx_plugin_endpoint_status_info { uint32_t inst_id; uint8_t ep_index; uint8_t direction; uint8_t status; uint8_t frame_status; uint8_t endpoint_status; uint8_t usage; uint8_t mandatory; uint16_t counter; uint8_t op_encoding; uint8_t op_sample_rate; uint16_t op_frame_length; }; struct iaxxx_plugin_get_package_version { uint8_t inst_id; char version[IAXXX_PACKAGE_VER_STR_SIZE_MAX]; uint32_t len; }; struct iaxxx_plugin_get_plugin_version { uint8_t inst_id; char version[IAXXX_PLUGIN_VER_STR_SIZE_MAX]; uint32_t len; }; struct iaxxx_plugin_endpoint_timestamps { uint8_t proc_id; uint64_t timestamps[IAXXX_MAX_PLUGIN_ENDPOINTS]; }; struct iaxxx_proc_execution_status { uint8_t proc_id; uint32_t status; }; struct iaxxx_sys_versions { uint32_t app_ver_num; char app_ver_str[IAXXX_MAX_VER_STR_SIZE]; uint32_t app_ver_str_len; uint32_t rom_ver_num; char rom_ver_str[IAXXX_MAX_VER_STR_SIZE]; uint32_t rom_ver_str_len; }; #define IAXXX_IOCTL_MAGIC 'I' #define ODSP_PLG_CREATE _IO(IAXXX_IOCTL_MAGIC, 0x11) #define ODSP_PLG_RESET _IO(IAXXX_IOCTL_MAGIC, 0x12) #define ODSP_PLG_ENABLE _IO(IAXXX_IOCTL_MAGIC, 0x13) #define ODSP_PLG_DISABLE _IO(IAXXX_IOCTL_MAGIC, 0x14) #define ODSP_PLG_DESTROY _IO(IAXXX_IOCTL_MAGIC, 0x15) #define ODSP_PLG_SET_PARAM _IO(IAXXX_IOCTL_MAGIC, 0x16) #define ODSP_PLG_GET_PARAM _IO(IAXXX_IOCTL_MAGIC, 0x17) #define ODSP_PLG_SET_PARAM_BLK _IO(IAXXX_IOCTL_MAGIC, 0x18) #define ODSP_PLG_SET_CREATE_CFG _IO(IAXXX_IOCTL_MAGIC, 0x19) #define ODSP_PLG_SET_EVENT _IO(IAXXX_IOCTL_MAGIC, 0x1A) #define ODSP_EVENT_SUBSCRIBE _IO(IAXXX_IOCTL_MAGIC, 0x1B) #define ODSP_GET_EVENT _IO(IAXXX_IOCTL_MAGIC, 0x1C) #define ODSP_EVENT_UNSUBSCRIBE _IO(IAXXX_IOCTL_MAGIC, 0x1D) #define ODSP_LOAD_PACKAGE _IO(IAXXX_IOCTL_MAGIC, 0x1E) #define ODSP_UNLOAD_PACKAGE _IO(IAXXX_IOCTL_MAGIC, 0x1F) #define ODSP_PLG_SET_CUSTOM_CFG _IO(IAXXX_IOCTL_MAGIC, 0x20) #define ODSP_PLG_GET_PARAM_BLK _IO(IAXXX_IOCTL_MAGIC, 0x21) #define ODSP_PLG_CREATE_STATIC_PACKAGE _IO(IAXXX_IOCTL_MAGIC, 0x22) #define ODSP_PLG_READ_PLUGIN_ERROR _IO(IAXXX_IOCTL_MAGIC, 0x23) #define ODSP_PLG_SET_PARAM_BLK_WITH_ACK _IO(IAXXX_IOCTL_MAGIC, 0x24) #define ODSP_PLG_GET_STATUS_INFO _IO(IAXXX_IOCTL_MAGIC, 0x25) #define ODSP_PLG_GET_ENDPOINT_STATUS _IO(IAXXX_IOCTL_MAGIC, 0x26) #define ODSP_EVENT_TRIGGER _IO(IAXXX_IOCTL_MAGIC, 0x27) #define ODSP_EVENT_READ_SUBSCRIPTION _IO(IAXXX_IOCTL_MAGIC, 0x28) #define ODSP_EVENT_RETRIEVE_NOTIFICATION _IO(IAXXX_IOCTL_MAGIC, 0x29) #define ODSP_PLG_GET_PACKAGE_VERSION _IO(IAXXX_IOCTL_MAGIC, 0x2A) #define ODSP_PLG_GET_PLUGIN_VERSION _IO(IAXXX_IOCTL_MAGIC, 0x2B) #define ODSP_EVENT_RESET_READ_INDEX _IO(IAXXX_IOCTL_MAGIC, 0x2C) #define ODSP_PLG_GET_ENDPOINT_TIMESTAMPS _IO(IAXXX_IOCTL_MAGIC, 0x2D) #define ODSP_GET_PROC_EXECUTION_STATUS _IO(IAXXX_IOCTL_MAGIC, 0x2E) #define ODSP_GET_SYS_VERSIONS _IO(IAXXX_IOCTL_MAGIC, 0x2F) #define ODSP_GET_SYS_DEVICE_ID _IO(IAXXX_IOCTL_MAGIC, 0x30) #define ODSP_GET_SYS_MODE _IO(IAXXX_IOCTL_MAGIC, 0x31) #define ODSP_GET_FW_STATUS _IO(IAXXX_IOCTL_MAGIC, 0x32) #define ODSP_RESET_FW _IO(IAXXX_IOCTL_MAGIC, 0x33) #endif