| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** 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 |