summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLai, Patrick <plai@quicinc.com>2009-05-19 21:27:56 -0700
committerShylender Gaddamwar <c_shylen@quicinc.com>2009-06-24 10:49:39 -0700
commit3c0ff1a1375100df87c74c5614ab5e3c41454be7 (patch)
tree42225fab8a5b34d354065aa300e18513b1465763
parent955c88d2aa4fa0d2d7df01c2ea123fae588d297f (diff)
downloadbionic-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.h19
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;
};