From b1b77c6c11b64e8b6f621222fc28c6ac145126fd Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Wed, 4 Jan 2017 14:34:45 +0800 Subject: ASoc: msm: add support for mixing data from different COPPs Different COPPs can be mixed into one POPP when recording data. Use ADM_CMD_SET_PSPD_MTMX_STRTR_PARAMS_V5 cmd to support this requirement. Change-Id: If079b586fafe84f7dec7732c7037af2f59f063c7 Signed-off-by: Meng Wang --- include/sound/q6adm-v2.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'include') diff --git a/include/sound/q6adm-v2.h b/include/sound/q6adm-v2.h index 900d2455993a..e689e9357012 100644 --- a/include/sound/q6adm-v2.h +++ b/include/sound/q6adm-v2.h @@ -65,6 +65,20 @@ struct route_payload { unsigned int session_id; }; +struct default_chmixer_param_id_coeff { + uint32_t index; + uint16_t num_output_channels; + uint16_t num_input_channels; +}; + +struct msm_pcm_channel_mixer { + int output_channel; + int input_channels[ADM_MAX_CHANNELS]; + bool enable; + int rule; + int channel_weight[ADM_MAX_CHANNELS][ADM_MAX_CHANNELS]; +}; + int srs_trumedia_open(int port_id, int copp_idx, __s32 srs_tech_id, void *srs_params); @@ -166,4 +180,8 @@ int adm_get_source_tracking(int port_id, int copp_idx, struct source_tracking_param *sourceTrackingData); int adm_swap_speaker_channels(int port_id, int copp_idx, int sample_rate, bool spk_swap); +int adm_programable_channel_mixer(int port_id, int copp_idx, int session_id, + int session_type, + struct msm_pcm_channel_mixer *ch_mixer, + int channel_index); #endif /* __Q6_ADM_V2_H__ */ -- cgit v1.2.3