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