1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef __LINUX_MSM_ADSP_H 13 #define __LINUX_MSM_ADSP_H 14 15 #include <linux/types.h> 16 #include <linux/ioctl.h> 17 18 #define ADSP_IOCTL_MAGIC 'q' 19 20 struct adsp_command_t { 21 uint16_t queue; 22 uint32_t len; 23 uint8_t *data; 24 }; 25 26 struct adsp_event_t { 27 uint16_t type; 28 uint32_t timeout_ms; 29 uint16_t msg_id; 30 uint16_t flags; 31 uint32_t len; 32 uint8_t *data; 33 }; 34 35 #define ADSP_IOCTL_ENABLE _IOR(ADSP_IOCTL_MAGIC, 1, unsigned) 36 37 #define ADSP_IOCTL_DISABLE _IOR(ADSP_IOCTL_MAGIC, 2, unsigned) 38 39 #define ADSP_IOCTL_DISABLE_ACK _IOR(ADSP_IOCTL_MAGIC, 3, unsigned) 40 41 #define ADSP_IOCTL_WRITE_COMMAND _IOR(ADSP_IOCTL_MAGIC, 4, struct adsp_command_t *) 42 43 #define ADSP_IOCTL_GET_EVENT _IOWR(ADSP_IOCTL_MAGIC, 5, struct adsp_event_data_t *) 44 45 #define ADSP_IOCTL_SET_CLKRATE _IOR(ADSP_IOCTL_MAGIC, 6, unsigned) 46 47 #define ADSP_IOCTL_DISABLE_EVENT_RSP _IOR(ADSP_IOCTL_MAGIC, 10, unsigned) 48 49 struct adsp_pmem_info { 50 int fd; 51 void *vaddr; 52 }; 53 54 #define ADSP_IOCTL_REGISTER_PMEM _IOW(ADSP_IOCTL_MAGIC, 13, unsigned) 55 56 #define ADSP_IOCTL_UNREGISTER_PMEM _IOW(ADSP_IOCTL_MAGIC, 14, unsigned) 57 58 #define ADSP_IOCTL_ABORT_EVENT_READ _IOW(ADSP_IOCTL_MAGIC, 15, unsigned) 59 60 #define ADSP_IOCTL_LINK_TASK _IOW(ADSP_IOCTL_MAGIC, 16, unsigned) 61 62 #endif 63 64