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
15 #include <linux/types.h>
16 #include <linux/ioctl.h>
17 #include <asm/sizes.h>
19 #define ADSP_IOCTL_MAGIC 'q'
21 struct adsp_command_t {
22 uint16_t queue;
23 uint32_t len;
24 uint8_t *data;
25 };
27 struct adsp_event_t {
28 uint16_t type;
29 uint32_t timeout_ms;
30 uint16_t msg_id;
31 uint16_t flags;
32 uint32_t len;
33 uint8_t *data;
34 };
36 struct adsp_pmem_info_t {
37 int fd;
38 void *vaddr;
39 };
41 #define ADSP_IOCTL_ENABLE _IOR(ADSP_IOCTL_MAGIC, 1, unsigned)
43 #define ADSP_IOCTL_DISABLE _IOR(ADSP_IOCTL_MAGIC, 2, unsigned)
45 #define ADSP_IOCTL_DISABLE_ACK _IOR(ADSP_IOCTL_MAGIC, 3, unsigned)
47 #define ADSP_IOCTL_WRITE_COMMAND _IOR(ADSP_IOCTL_MAGIC, 4, struct adsp_command_t *)
49 #define ADSP_IOCTL_GET_EVENT _IOWR(ADSP_IOCTL_MAGIC, 5, struct adsp_event_data_t *)
51 #define ADSP_IOCTL_DISABLE_EVENT_RSP _IOR(ADSP_IOCTL_MAGIC, 10, unsigned)
53 #define ADSP_IOCTL_REGISTER_PMEM _IOW(ADSP_IOCTL_MAGIC, 13, struct adsp_pmem_info *)
55 #define ADSP_IOCTL_ABORT_EVENT_READ _IOW(ADSP_IOCTL_MAGIC, 15, unsigned)
57 #endif