Loading hal/msm8916/platform.c +9 −0 Original line number Original line Diff line number Diff line Loading @@ -286,6 +286,7 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = "aanc-fluence-dmic-handset", }; }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -371,6 +372,7 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = 119, [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = 119, [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = 121, [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = 121, [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = 120, [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = 120, [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = 135, }; }; struct snd_device_index { struct snd_device_index { Loading Loading @@ -456,6 +458,7 @@ struct snd_device_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_CAPTURE_VI_FEEDBACK)}, {TO_NAME_INDEX(SND_DEVICE_IN_CAPTURE_VI_FEEDBACK)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC)}, }; }; #define DEEP_BUFFER_PLATFORM_DELAY (29*1000LL) #define DEEP_BUFFER_PLATFORM_DELAY (29*1000LL) Loading Loading @@ -1650,6 +1653,12 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d if (out_device & AUDIO_DEVICE_OUT_EARPIECE || if (out_device & AUDIO_DEVICE_OUT_EARPIECE || out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { if (out_device & AUDIO_DEVICE_OUT_EARPIECE && if (out_device & AUDIO_DEVICE_OUT_EARPIECE && audio_extn_should_use_handset_anc(channel_count) && my_data->fluence_type != FLUENCE_NONE) { snd_device = SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC; adev->acdb_settings |= DMIC_FLAG; ALOGD("Selecting AANC, Fluence combo device"); } else if (out_device & AUDIO_DEVICE_OUT_EARPIECE && audio_extn_should_use_handset_anc(channel_count)) { audio_extn_should_use_handset_anc(channel_count)) { snd_device = SND_DEVICE_IN_AANC_HANDSET_MIC; snd_device = SND_DEVICE_IN_AANC_HANDSET_MIC; } else if (my_data->fluence_type == FLUENCE_NONE || } else if (my_data->fluence_type == FLUENCE_NONE || Loading hal/msm8916/platform.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -140,6 +140,7 @@ enum { SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE, SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC, SND_DEVICE_IN_END, SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, Loading Loading
hal/msm8916/platform.c +9 −0 Original line number Original line Diff line number Diff line Loading @@ -286,6 +286,7 @@ static const char * const device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = "speaker-dmic-broadside", [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = "aanc-fluence-dmic-handset", }; }; /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ /* ACDB IDs (audio DSP path configuration IDs) for each sound device */ Loading Loading @@ -371,6 +372,7 @@ static int acdb_device_table[SND_DEVICE_MAX] = { [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = 119, [SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = 119, [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = 121, [SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = 121, [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = 120, [SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = 120, [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = 135, }; }; struct snd_device_index { struct snd_device_index { Loading Loading @@ -456,6 +458,7 @@ struct snd_device_index snd_device_name_index[SND_DEVICE_MAX] = { {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_SPEAKER_STEREO_DMIC)}, {TO_NAME_INDEX(SND_DEVICE_IN_CAPTURE_VI_FEEDBACK)}, {TO_NAME_INDEX(SND_DEVICE_IN_CAPTURE_VI_FEEDBACK)}, {TO_NAME_INDEX(SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC)}, }; }; #define DEEP_BUFFER_PLATFORM_DELAY (29*1000LL) #define DEEP_BUFFER_PLATFORM_DELAY (29*1000LL) Loading Loading @@ -1650,6 +1653,12 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d if (out_device & AUDIO_DEVICE_OUT_EARPIECE || if (out_device & AUDIO_DEVICE_OUT_EARPIECE || out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) { if (out_device & AUDIO_DEVICE_OUT_EARPIECE && if (out_device & AUDIO_DEVICE_OUT_EARPIECE && audio_extn_should_use_handset_anc(channel_count) && my_data->fluence_type != FLUENCE_NONE) { snd_device = SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC; adev->acdb_settings |= DMIC_FLAG; ALOGD("Selecting AANC, Fluence combo device"); } else if (out_device & AUDIO_DEVICE_OUT_EARPIECE && audio_extn_should_use_handset_anc(channel_count)) { audio_extn_should_use_handset_anc(channel_count)) { snd_device = SND_DEVICE_IN_AANC_HANDSET_MIC; snd_device = SND_DEVICE_IN_AANC_HANDSET_MIC; } else if (my_data->fluence_type == FLUENCE_NONE || } else if (my_data->fluence_type == FLUENCE_NONE || Loading
hal/msm8916/platform.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -140,6 +140,7 @@ enum { SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE, SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE, SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC, SND_DEVICE_IN_END, SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, SND_DEVICE_MAX = SND_DEVICE_IN_END, Loading