diff options
author | Lai, Patrick <plai@quicinc.com> | 2009-05-19 21:27:56 -0700 |
---|---|---|
committer | Shylender Gaddamwar <c_shylen@quicinc.com> | 2009-06-24 10:49:39 -0700 |
commit | 3c0ff1a1375100df87c74c5614ab5e3c41454be7 (patch) | |
tree | 42225fab8a5b34d354065aa300e18513b1465763 | |
parent | 955c88d2aa4fa0d2d7df01c2ea123fae588d297f (diff) | |
download | bionic-3c0ff1a1375100df87c74c5614ab5e3c41454be7.zip bionic-3c0ff1a1375100df87c74c5614ab5e3c41454be7.tar.gz bionic-3c0ff1a1375100df87c74c5614ab5e3c41454be7.tar.bz2 |
bionic: msm: audio: Add asynchronous I/O interface definition
Add asynchronous I/O interface definition so user-space application
can pass input/output buffer and get buffer_done message
asynchronously
Signed-off-by: Patrick Lai <plai@quicinc.com>
-rw-r--r-- | libc/kernel/common/linux/msm_audio.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/msm_audio.h b/libc/kernel/common/linux/msm_audio.h index a632cb4..a5b29d8 100644 --- a/libc/kernel/common/linux/msm_audio.h +++ b/libc/kernel/common/linux/msm_audio.h @@ -33,6 +33,10 @@ #define AUDIO_PLAY_DTMF _IOW(AUDIO_IOCTL_MAGIC, 12, unsigned) #define AUDIO_GET_EVENT _IOR(AUDIO_IOCTL_MAGIC, 13, unsigned) #define AUDIO_ABORT_GET_EVENT _IOW(AUDIO_IOCTL_MAGIC, 14, unsigned) +#define AUDIO_REGISTER_PMEM _IOW(AUDIO_IOCTL_MAGIC, 15, unsigned) +#define AUDIO_DEREGISTER_PMEM _IOW(AUDIO_IOCTL_MAGIC, 16, unsigned) +#define AUDIO_ASYNC_WRITE _IOW(AUDIO_IOCTL_MAGIC, 17, unsigned) +#define AUDIO_ASYNC_READ _IOW(AUDIO_IOCTL_MAGIC, 18, unsigned) #define AUDIO_GET_PCM_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 30, unsigned) #define AUDIO_SET_PCM_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 31, unsigned) #define AUDIO_SWITCH_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 32, unsigned) @@ -82,6 +86,18 @@ struct msm_audio_stats { uint32_t unused[2]; }; +struct msm_audio_pmem_info { + int fd; + void *vaddr; +}; + +struct msm_audio_aio_buf { + void *buf_addr; + uint32_t buf_len; + uint32_t data_len; + void *private_data; +}; + #define SND_IOCTL_MAGIC 's' #define SND_MUTE_UNMUTED 0 @@ -130,8 +146,11 @@ struct msm_audio_pcm_config { #define AUDIO_EVENT_SUSPEND 0 #define AUDIO_EVENT_RESUME 1 +#define AUDIO_EVENT_WRITE_DONE 2 +#define AUDIO_EVENT_READ_DONE 3 union msm_audio_event_payload { + struct msm_audio_aio_buf aio_buf; int reserved; }; |