summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCong Tang <congt@codeaurora.org>2017-11-08 17:10:11 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2018-03-20 22:36:40 -0700
commit53a51106b56f07651f545d41e11fe16b6ba0b61c (patch)
tree859d78e5249fef7ffabb9f3e997470f22bdf9e49 /include
parent82c2a635bdad501623bc3791a76b0b1d2aa027f0 (diff)
ASoC: msm: Upgrade ASM Driver to support 32 Channels
HLOS update ASM driver to support 32 channels playback and capture since ADSP firmware has already support on this. With this each MultiMedia Frontend would be able to support 32 channels playback and capture. Signed-off-by: Cong Tang <congt@codeaurora.org> Change-Id: Ie2ada37e612d0096cb623777f43aa9c05989058d
Diffstat (limited to 'include')
-rw-r--r--include/sound/q6asm-v2.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/sound/q6asm-v2.h b/include/sound/q6asm-v2.h
index 285d32e249b8..9df3e77da05b 100644
--- a/include/sound/q6asm-v2.h
+++ b/include/sound/q6asm-v2.h
@@ -114,6 +114,7 @@ enum {
PCM_MEDIA_FORMAT_V2 = 0,
PCM_MEDIA_FORMAT_V3,
PCM_MEDIA_FORMAT_V4,
+ PCM_MEDIA_FORMAT_V5,
};
/* PCM format modes in DSP */
@@ -288,6 +289,9 @@ int q6asm_open_read_v3(struct audio_client *ac, uint32_t format,
int q6asm_open_read_v4(struct audio_client *ac, uint32_t format,
uint16_t bits_per_sample, bool ts_mode);
+int q6asm_open_read_v5(struct audio_client *ac, uint32_t format,
+ uint16_t bits_per_sample, bool ts_mode);
+
int q6asm_open_write(struct audio_client *ac, uint32_t format
/*, uint16_t bits_per_sample*/);
@@ -303,6 +307,8 @@ int q6asm_open_write_v3(struct audio_client *ac, uint32_t format,
int q6asm_open_write_v4(struct audio_client *ac, uint32_t format,
uint16_t bits_per_sample);
+int q6asm_open_write_v5(struct audio_client *ac, uint32_t format,
+ uint16_t bits_per_sample);
int q6asm_stream_open_write_v2(struct audio_client *ac, uint32_t format,
uint16_t bits_per_sample, int32_t stream_id,
bool is_gapless_mode);
@@ -450,6 +456,13 @@ int q6asm_enc_cfg_blk_pcm_format_support_v4(struct audio_client *ac,
uint16_t endianness,
uint16_t mode);
+int q6asm_enc_cfg_blk_pcm_format_support_v5(struct audio_client *ac,
+ uint32_t rate, uint32_t channels,
+ uint16_t bits_per_sample,
+ uint16_t sample_word_size,
+ uint16_t endianness,
+ uint16_t mode);
+
int q6asm_set_encdec_chan_map(struct audio_client *ac,
uint32_t num_channels);
@@ -545,6 +558,15 @@ int q6asm_media_format_block_multi_ch_pcm_v4(struct audio_client *ac,
uint16_t endianness,
uint16_t mode);
+int q6asm_media_format_block_multi_ch_pcm_v5(struct audio_client *ac,
+ uint32_t rate, uint32_t channels,
+ bool use_default_chmap,
+ char *channel_map,
+ uint16_t bits_per_sample,
+ uint16_t sample_word_size,
+ uint16_t endianness,
+ uint16_t mode);
+
int q6asm_media_format_block_aac(struct audio_client *ac,
struct asm_aac_cfg *cfg);
@@ -704,4 +726,5 @@ uint8_t q6asm_get_stream_id_from_token(uint32_t token);
int q6asm_adjust_session_clock(struct audio_client *ac,
uint32_t adjust_time_lsw,
uint32_t adjust_time_msw);
+int q6asm_get_svc_version(uint32_t service_id);
#endif /* __Q6_ASM_H__ */