hal: Define a new combo device for AANC and Fluence
Define a new combo device for AANC and Fluence
Change-Id: I0b67629014e92243ab654c2df6e8c23090048090
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index cf64878..43cc00a 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -284,6 +284,7 @@
[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_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 */
@@ -369,6 +370,7 @@
[SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE] = 119,
[SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE] = 121,
[SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE] = 120,
+ [SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC] = 135,
};
struct snd_device_index {
@@ -454,6 +456,7 @@
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_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_VOICE_FLUENCE_DMIC_AANC)},
};
#define NO_COLS 2
@@ -1756,6 +1759,12 @@
if (out_device & AUDIO_DEVICE_OUT_EARPIECE ||
out_device & AUDIO_DEVICE_OUT_WIRED_HEADPHONE) {
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)) {
snd_device = SND_DEVICE_IN_AANC_HANDSET_MIC;
} else if (my_data->fluence_type == FLUENCE_NONE ||