diff options
| author | Vidyakumar Athota <vathota@codeaurora.org> | 2017-08-17 20:40:40 -0700 |
|---|---|---|
| committer | Vidyakumar Athota <vathota@codeaurora.org> | 2017-08-21 10:56:56 -0700 |
| commit | e4faef1e35f316f78d218323c12d0bbcec51d98e (patch) | |
| tree | 3e46431dbdd325f6cece50adb1b2d3403749a025 /include | |
| parent | a49bb61510b938152025049730fa922c5da950a1 (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.h | 10 | ||||
| -rw-r--r-- | include/sound/q6asm-v2.h | 3 |
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); |
