ASoc-msm: Modify ASM drivers to invoke ION APIs
Create ION client and allocate buffers based on
the client handle and free the buffers when no
more needed
Change-Id: I00be9dbd3e8f5eff286d8f1bc0d61656866bf360
Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>
diff --git a/include/sound/q6asm.h b/include/sound/q6asm.h
index d08f528..0fabc5b 100644
--- a/include/sound/q6asm.h
+++ b/include/sound/q6asm.h
@@ -15,6 +15,9 @@
#include <mach/qdsp6v2/apr.h>
#include <mach/msm_subsystem_map.h>
#include <sound/apr_audio.h>
+#ifdef CONFIG_MSM_MULTIMEDIA_USE_ION
+#include <linux/ion.h>
+#endif
#define IN 0x000
#define OUT 0x001
@@ -94,10 +97,15 @@
struct audio_buffer {
dma_addr_t phys;
void *data;
- struct msm_mapped_buffer *mem_buffer;
uint32_t used;
uint32_t size;/* size of buffer */
uint32_t actual_size; /* actual number of bytes read by DSP */
+#ifdef CONFIG_MSM_MULTIMEDIA_USE_ION
+ struct ion_handle *handle;
+ struct ion_client *client;
+#else
+ struct msm_mapped_buffer *mem_buffer;
+#endif
};
struct audio_aio_write_param {