Merge "hal: Check for multiple offload usecases"
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 ||
diff --git a/hal/msm8916/platform.h b/hal/msm8916/platform.h
index 61987c6..a0cf5dc 100644
--- a/hal/msm8916/platform.h
+++ b/hal/msm8916/platform.h
@@ -138,6 +138,7 @@
SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE,
SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE,
SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE,
+ SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC,
SND_DEVICE_IN_END,
SND_DEVICE_MAX = SND_DEVICE_IN_END,
diff --git a/hal/msm8974/hw_info.c b/hal/msm8974/hw_info.c
index f7d19f4..57dcc22 100644
--- a/hal/msm8974/hw_info.c
+++ b/hal/msm8974/hw_info.c
@@ -119,6 +119,18 @@
SND_DEVICE_IN_QUAD_MIC,
};
+static const snd_device_t tomtom_DB_variant_devices[] = {
+ SND_DEVICE_OUT_SPEAKER,
+ SND_DEVICE_OUT_SPEAKER_EXTERNAL_1,
+ SND_DEVICE_OUT_SPEAKER_EXTERNAL_2,
+ SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1,
+ SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2,
+ SND_DEVICE_OUT_VOICE_SPEAKER,
+ SND_DEVICE_IN_VOICE_SPEAKER_MIC,
+ SND_DEVICE_IN_HANDSET_MIC,
+ SND_DEVICE_IN_HANDSET_MIC_EXTERNAL
+};
+
static const snd_device_t taiko_apq8084_sbc_variant_devices[] = {
SND_DEVICE_IN_HANDSET_MIC,
SND_DEVICE_IN_SPEAKER_MIC,
@@ -226,6 +238,12 @@
hw_info->snd_devices = (snd_device_t *)tomtom_liquid_variant_devices;
hw_info->num_snd_devices = ARRAY_SIZE(tomtom_liquid_variant_devices);
strlcpy(hw_info->dev_extn, "-liquid", sizeof(hw_info->dev_extn));
+ } else if (!strcmp(snd_card_name, "msm8994-tomtom-db-snd-card")) {
+ strlcpy(hw_info->type, " dragon-board", sizeof(hw_info->type));
+ strlcpy(hw_info->name, "msm8994", sizeof(hw_info->name));
+ hw_info->snd_devices = (snd_device_t *)tomtom_DB_variant_devices;
+ hw_info->num_snd_devices = ARRAY_SIZE(tomtom_DB_variant_devices);
+ strlcpy(hw_info->dev_extn, "-db", sizeof(hw_info->dev_extn));
} else {
ALOGW("%s: Not an 8994 device", __func__);
}