16ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh/****************************************************************************
26ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
36ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
46ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   This header was automatically generated from a Linux kernel header
56ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   of the same name, to make information necessary for userspace to
66ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   call into the kernel available to libc.  It contains only constants,
76ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   structures, and macros generated from the original header, and thus,
86ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   contains no copyrightable information.
96ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************/
126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#ifndef __LINUX_MSM_ADSP_H
136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define __LINUX_MSM_ADSP_H
146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/types.h>
166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/ioctl.h>
176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <asm/sizes.h>
186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_MAGIC 'q'
206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct adsp_command_t {
226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint16_t queue;
236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint32_t len;
246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint8_t *data;
256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct adsp_event_t {
286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint16_t type;
296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint32_t timeout_ms;
306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint16_t msg_id;
316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint16_t flags;
326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint32_t len;
336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh uint8_t *data;
346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct adsp_pmem_info_t {
376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int fd;
386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh void *vaddr;
396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_ENABLE   _IOR(ADSP_IOCTL_MAGIC, 1, unsigned)
426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_DISABLE   _IOR(ADSP_IOCTL_MAGIC, 2, unsigned)
446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_DISABLE_ACK   _IOR(ADSP_IOCTL_MAGIC, 3, unsigned)
466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_WRITE_COMMAND   _IOR(ADSP_IOCTL_MAGIC, 4, struct adsp_command_t *)
486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_GET_EVENT   _IOWR(ADSP_IOCTL_MAGIC, 5, struct adsp_event_data_t *)
506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_DISABLE_EVENT_RSP   _IOR(ADSP_IOCTL_MAGIC, 10, unsigned)
526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_REGISTER_PMEM   _IOW(ADSP_IOCTL_MAGIC, 13, struct adsp_pmem_info *)
546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ADSP_IOCTL_ABORT_EVENT_READ   _IOW(ADSP_IOCTL_MAGIC, 15, unsigned)
566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif
58