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#include <asm/sizes.h>
18
19#define ADSP_IOCTL_MAGIC 'q'
20
21struct adsp_command_t {
22 uint16_t queue;
23 uint32_t len;
24 uint8_t *data;
25};
26
27struct 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};
35
36struct adsp_pmem_info_t {
37 int fd;
38 void *vaddr;
39};
40
41#define ADSP_IOCTL_ENABLE   _IOR(ADSP_IOCTL_MAGIC, 1, unsigned)
42
43#define ADSP_IOCTL_DISABLE   _IOR(ADSP_IOCTL_MAGIC, 2, unsigned)
44
45#define ADSP_IOCTL_DISABLE_ACK   _IOR(ADSP_IOCTL_MAGIC, 3, unsigned)
46
47#define ADSP_IOCTL_WRITE_COMMAND   _IOR(ADSP_IOCTL_MAGIC, 4, struct adsp_command_t *)
48
49#define ADSP_IOCTL_GET_EVENT   _IOWR(ADSP_IOCTL_MAGIC, 5, struct adsp_event_data_t *)
50
51#define ADSP_IOCTL_DISABLE_EVENT_RSP   _IOR(ADSP_IOCTL_MAGIC, 10, unsigned)
52
53#define ADSP_IOCTL_REGISTER_PMEM   _IOW(ADSP_IOCTL_MAGIC, 13, struct adsp_pmem_info *)
54
55#define ADSP_IOCTL_ABORT_EVENT_READ   _IOW(ADSP_IOCTL_MAGIC, 15, unsigned)
56
57#endif
58