summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVidyakumar Athota <vathota@codeaurora.org>2017-08-17 20:40:40 -0700
committerVidyakumar Athota <vathota@codeaurora.org>2017-08-21 10:56:56 -0700
commite4faef1e35f316f78d218323c12d0bbcec51d98e (patch)
tree3e46431dbdd325f6cece50adb1b2d3403749a025 /include
parenta49bb61510b938152025049730fa922c5da950a1 (diff)
ASoC: msm: qdspv2: add an API to destroy ion client
Currently ion fd is used to extract ion handle to free ion client. ION FD is not valid if user-space application is crashed so ion handle is returned to the client during msm_audio_ion_phys_assign() API which is used to destroy ion client in msm_audio_ion_phys_free() API. Change-Id: Idcc4ca838741aac26662a679117af9d9c935e630 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/msm_audio_ion.h10
-rw-r--r--include/sound/q6asm-v2.h3
2 files changed, 10 insertions, 3 deletions
diff --git a/include/linux/msm_audio_ion.h b/include/linux/msm_audio_ion.h
index ff2fd04a3b6c..9e77ac317c28 100644
--- a/include/linux/msm_audio_ion.h
+++ b/include/linux/msm_audio_ion.h
@@ -50,6 +50,12 @@ int msm_audio_ion_free_legacy(struct ion_client *client,
struct ion_handle *handle);
u32 msm_audio_populate_upper_32_bits(ion_phys_addr_t pa);
-int msm_audio_ion_phys_assign(const char *name, int fd, ion_phys_addr_t *paddr,
- size_t *pa_len, u8 assign_type);
+int msm_audio_ion_phys_assign(const char *name, struct ion_client **client,
+ struct ion_handle **handle,
+ int fd, ion_phys_addr_t *paddr,
+ size_t *pa_len, u8 assign_type);
+int msm_audio_ion_phys_free(struct ion_client *client,
+ struct ion_handle *handle,
+ ion_phys_addr_t *paddr,
+ size_t *pa_len, u8 assign_type);
#endif /* _LINUX_MSM_AUDIO_ION_H */
diff --git a/include/sound/q6asm-v2.h b/include/sound/q6asm-v2.h
index dcf7dcb4f6e4..56b4ae493ada 100644
--- a/include/sound/q6asm-v2.h
+++ b/include/sound/q6asm-v2.h
@@ -639,7 +639,8 @@ int q6asm_send_audio_effects_params(struct audio_client *ac, char *params,
int q6asm_send_stream_cmd(struct audio_client *ac,
struct msm_adsp_event_data *data);
-int q6asm_audio_map_shm_fd(struct audio_client *ac, int fd);
+int q6asm_audio_map_shm_fd(struct audio_client *ac, struct ion_client **client,
+ struct ion_handle **handle, int fd);
int q6asm_send_rtic_event_ack(struct audio_client *ac,
void *param, uint32_t params_length);