Loading hal/msm8916/platform.c +35 −39 Original line number Original line Diff line number Diff line Loading @@ -579,12 +579,12 @@ static struct audio_effect_config effect_config_table[GET_IN_DEVICE_INDEX(SND_DE 0x10EAF, 0x02}, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, }; }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -4242,7 +4242,6 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading @@ -4260,19 +4259,18 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, } } adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_SPEAKER_MIC_AEC_NS; snd_device = SND_DEVICE_IN_SPEAKER_MIC; } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_HANDSET_MIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_MIC; } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_HEADSET_MIC_FLUENCE; snd_device = SND_DEVICE_IN_HEADSET_MIC_FLUENCE; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } return snd_device; return snd_device; } } Loading @@ -4284,7 +4282,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE && adev->active_input->enable_aec && if (adev->active_input->enable_aec && adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { Loading Loading @@ -4317,8 +4315,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_aec) { adev->active_input->enable_aec) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading Loading @@ -4350,8 +4347,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading hal/msm8916/platform.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -398,6 +398,7 @@ enum { #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_FV5ECNS_DM 0x10F0A #define TX_VOICE_FV5ECNS_DM 0x10F0A #define TX_VOICE_SMECNS_V2 0x10F31 #define AUDIO_MAKE_STRING_FROM_ENUM(X) { #X, X } #define AUDIO_MAKE_STRING_FROM_ENUM(X) { #X, X } Loading hal/msm8974/platform.c +38 −42 Original line number Original line Diff line number Diff line Loading @@ -561,12 +561,12 @@ static struct audio_effect_config effect_config_table[GET_IN_DEVICE_INDEX(SND_DE 0x10EAF, 0x02}, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, }; }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -4026,7 +4026,6 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading @@ -4044,7 +4043,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, } } adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_SPEAKER_MIC_AEC_NS; snd_device = SND_DEVICE_IN_SPEAKER_MIC; } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if ((my_data->fluence_type & FLUENCE_TRI_MIC) && if ((my_data->fluence_type & FLUENCE_TRI_MIC) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { (my_data->source_mic_type & SOURCE_THREE_MIC)) { Loading @@ -4055,12 +4054,11 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_HANDSET_MIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_MIC; } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_HEADSET_MIC_FLUENCE; snd_device = SND_DEVICE_IN_HEADSET_MIC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } return snd_device; return snd_device; } } Loading @@ -4072,7 +4070,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE && adev->active_input->enable_aec && if (adev->active_input->enable_aec && adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { Loading Loading @@ -4109,8 +4107,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_aec) { adev->active_input->enable_aec) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading Loading @@ -4146,8 +4143,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading hal/msm8974/platform.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -518,6 +518,7 @@ enum { #define TX_VOICE_FLUENCE_PROV2 0x10F17 #define TX_VOICE_FLUENCE_PROV2 0x10F17 #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_SMECNS_V2 0x10F31 #define TX_VOICE_FV5ECNS_DM 0x10F0A #define TX_VOICE_FV5ECNS_DM 0x10F0A #define LIB_CSD_CLIENT "libcsd-client.so" #define LIB_CSD_CLIENT "libcsd-client.so" Loading Loading
hal/msm8916/platform.c +35 −39 Original line number Original line Diff line number Diff line Loading @@ -579,12 +579,12 @@ static struct audio_effect_config effect_config_table[GET_IN_DEVICE_INDEX(SND_DE 0x10EAF, 0x02}, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, }; }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -4242,7 +4242,6 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading @@ -4260,19 +4259,18 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, } } adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_SPEAKER_MIC_AEC_NS; snd_device = SND_DEVICE_IN_SPEAKER_MIC; } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_HANDSET_MIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_MIC; } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_HEADSET_MIC_FLUENCE; snd_device = SND_DEVICE_IN_HEADSET_MIC_FLUENCE; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } return snd_device; return snd_device; } } Loading @@ -4284,7 +4282,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE && adev->active_input->enable_aec && if (adev->active_input->enable_aec && adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { Loading Loading @@ -4317,8 +4315,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_aec) { adev->active_input->enable_aec) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading Loading @@ -4350,8 +4347,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading
hal/msm8916/platform.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -398,6 +398,7 @@ enum { #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_FV5ECNS_DM 0x10F0A #define TX_VOICE_FV5ECNS_DM 0x10F0A #define TX_VOICE_SMECNS_V2 0x10F31 #define AUDIO_MAKE_STRING_FROM_ENUM(X) { #X, X } #define AUDIO_MAKE_STRING_FROM_ENUM(X) { #X, X } Loading
hal/msm8974/platform.c +38 −42 Original line number Original line Diff line number Diff line Loading @@ -561,12 +561,12 @@ static struct audio_effect_config effect_config_table[GET_IN_DEVICE_INDEX(SND_DE 0x10EAF, 0x02}, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_SPEAKER_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_DMIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_DM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_AEC] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_AEC] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x01}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC_AEC_NS)][EFFECT_NS] = {TX_VOICE_FV5ECNS_SM, 0x0, 0x10EAF, 0x02}, [GET_IN_DEVICE_INDEX(SND_DEVICE_IN_HANDSET_MIC)][EFFECT_NS] = {TX_VOICE_SMECNS_V2, 0x0, 0x10EAF, 0x02}, }; }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -4026,7 +4026,6 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading @@ -4044,7 +4043,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, } } adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_SPEAKER_MIC_AEC_NS; snd_device = SND_DEVICE_IN_SPEAKER_MIC; } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { } else if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if ((my_data->fluence_type & FLUENCE_TRI_MIC) && if ((my_data->fluence_type & FLUENCE_TRI_MIC) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { (my_data->source_mic_type & SOURCE_THREE_MIC)) { Loading @@ -4055,12 +4054,11 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_DMIC_AEC_NS; adev->acdb_settings |= DMIC_FLAG; adev->acdb_settings |= DMIC_FLAG; } else } else snd_device = SND_DEVICE_IN_HANDSET_MIC_AEC_NS; snd_device = SND_DEVICE_IN_HANDSET_MIC; } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { } else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) { snd_device = SND_DEVICE_IN_HEADSET_MIC_FLUENCE; snd_device = SND_DEVICE_IN_HEADSET_MIC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } return snd_device; return snd_device; } } Loading @@ -4072,7 +4070,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, struct audio_device *adev = my_data->adev; struct audio_device *adev = my_data->adev; snd_device_t snd_device = SND_DEVICE_NONE; snd_device_t snd_device = SND_DEVICE_NONE; if (my_data->fluence_type != FLUENCE_NONE && adev->active_input->enable_aec && if (adev->active_input->enable_aec && adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { Loading Loading @@ -4109,8 +4107,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_aec) { adev->active_input->enable_aec) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading Loading @@ -4146,8 +4143,7 @@ static snd_device_t get_snd_device_for_voice_comm(struct platform_data *my_data, snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; snd_device = SND_DEVICE_IN_USB_HEADSET_MIC_AEC; } } platform_set_echo_reference(adev, true, out_device); platform_set_echo_reference(adev, true, out_device); } else if (my_data->fluence_type != FLUENCE_NONE && } else if (adev->active_input->enable_ns) { adev->active_input->enable_ns) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (my_data->fluence_in_spkr_mode) { if (my_data->fluence_in_spkr_mode) { if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && if ((my_data->fluence_type & FLUENCE_QUAD_MIC) && Loading
hal/msm8974/platform.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -518,6 +518,7 @@ enum { #define TX_VOICE_FLUENCE_PROV2 0x10F17 #define TX_VOICE_FLUENCE_PROV2 0x10F17 #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_DM_FV5_BROADSIDE 0x10F18 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_FV5ECNS_SM 0x10F09 #define TX_VOICE_SMECNS_V2 0x10F31 #define TX_VOICE_FV5ECNS_DM 0x10F0A #define TX_VOICE_FV5ECNS_DM 0x10F0A #define LIB_CSD_CLIENT "libcsd-client.so" #define LIB_CSD_CLIENT "libcsd-client.so" Loading