Merge "configs: sdm710: Update xml files with acdb id and flags"
diff --git a/configs/trinket/audio_platform_info.xml b/configs/trinket/audio_platform_info.xml
index 3cf6979..ff03dd2 100644
--- a/configs/trinket/audio_platform_info.xml
+++ b/configs/trinket/audio_platform_info.xml
@@ -105,8 +105,8 @@
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
</pcm_ids>
<config_params>
- <param key="spkr_1_tz_name" value="wsatz.13"/>
- <param key="spkr_2_tz_name" value="wsatz.14"/>
+ <param key="spkr_1_tz_name" value="wsatz.11"/>
+ <param key="spkr_2_tz_name" value="wsatz.12"/>
<!-- In the below value string, the value indicates default mono -->
<!-- speaker. It can be set to either left or right -->
<param key="mono_speaker" value="right"/>
diff --git a/configs/trinket/audio_platform_info_intcodec.xml b/configs/trinket/audio_platform_info_intcodec.xml
index 43fd6fb..4796cfb 100644
--- a/configs/trinket/audio_platform_info_intcodec.xml
+++ b/configs/trinket/audio_platform_info_intcodec.xml
@@ -69,7 +69,7 @@
<config_params>
<!-- In the below value string, the value indicates default mono -->
<!-- speaker. It can be set to either left or right -->
- <param key="mono_speaker" value="left"/>
+ <param key="mono_speaker" value="right"/>
<param key="spkr_1_tz_name" value="wsatz.11"/>
<param key="true_32_bit" value="true"/>
<param key="native_audio_mode" value="true"/>
diff --git a/configs/trinket/mixer_paths_idp.xml b/configs/trinket/mixer_paths_idp.xml
index fe241a5..105f1e7 100644
--- a/configs/trinket/mixer_paths_idp.xml
+++ b/configs/trinket/mixer_paths_idp.xml
@@ -1646,6 +1646,10 @@
<path name="audio-playback-voip bt-sco" />
</path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
<path name="audio-playback-voip afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
</path>
diff --git a/configs/trinket/mixer_paths_qrd.xml b/configs/trinket/mixer_paths_qrd.xml
index b391524..7039dbb 100644
--- a/configs/trinket/mixer_paths_qrd.xml
+++ b/configs/trinket/mixer_paths_qrd.xml
@@ -1637,6 +1637,10 @@
<path name="audio-playback-voip bt-sco" />
</path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
<path name="audio-playback-voip afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
</path>
diff --git a/configs/trinket/mixer_paths_tasha.xml b/configs/trinket/mixer_paths_tasha.xml
index 4eb7152..ca8235f 100644
--- a/configs/trinket/mixer_paths_tasha.xml
+++ b/configs/trinket/mixer_paths_tasha.xml
@@ -1875,6 +1875,10 @@
<path name="audio-playback-voip bt-sco" />
</path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
<path name="audio-playback-voip afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -2215,7 +2219,7 @@
<ctl name="SpkrLeft COMP Switch" value="1" />
<ctl name="SpkrLeft BOOST Switch" value="1" />
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
- <ctl name="EAR SPKR PA Gain" value="G_6_DB" />
+ <ctl name="EAR SPKR PA Gain" value="G_3_DB" />
</path>
<path name="handset-mic">
diff --git a/configs/trinket/mixer_paths_tashalite.xml b/configs/trinket/mixer_paths_tashalite.xml
index c3368a6..35b2f76 100644
--- a/configs/trinket/mixer_paths_tashalite.xml
+++ b/configs/trinket/mixer_paths_tashalite.xml
@@ -1875,6 +1875,10 @@
<path name="audio-playback-voip bt-sco" />
</path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
<path name="audio-playback-voip afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -2215,7 +2219,7 @@
<ctl name="SpkrLeft COMP Switch" value="1" />
<ctl name="SpkrLeft BOOST Switch" value="1" />
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
- <ctl name="EAR SPKR PA Gain" value="G_6_DB" />
+ <ctl name="EAR SPKR PA Gain" value="G_3_DB" />
</path>
<path name="handset-mic">
diff --git a/configs/trinket/mixer_paths_tavil.xml b/configs/trinket/mixer_paths_tavil.xml
index 6cac29c..c339d6a 100644
--- a/configs/trinket/mixer_paths_tavil.xml
+++ b/configs/trinket/mixer_paths_tavil.xml
@@ -1722,6 +1722,10 @@
<path name="audio-playback-voip bt-sco" />
</path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
<path name="audio-playback-voip afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
</path>
diff --git a/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml b/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml
new file mode 100644
index 0000000..eefbd59
--- /dev/null
+++ b/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+
+<mixer>
+ <!-- These are the initial mixer settings -->
+ <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="0" />
+ <ctl name="LSM1 Port" value="None" />
+ <ctl name="LSM2 Port" value="None" />
+ <ctl name="LSM3 Port" value="None" />
+ <ctl name="LSM4 Port" value="None" />
+ <ctl name="LSM5 Port" value="None" />
+ <ctl name="LSM6 Port" value="None" />
+ <ctl name="LSM7 Port" value="None" />
+ <ctl name="LSM8 Port" value="None" />
+ <ctl name="SLIMBUS_5_TX LSM Function" value="None" />
+ <ctl name="MADONOFF Switch" value="0" />
+ <ctl name="MAD Input" value="DMIC1" />
+ <ctl name="MAD_BROADCAST Switch" value="0" />
+ <ctl name="TX13 INP MUX" value="CDC_DEC_5" />
+ <ctl name="AIF4_MAD Mixer SLIM TX12" value="0" />
+ <ctl name="AIF4_MAD Mixer SLIM TX13" value="0" />
+ <ctl name="CPE AFE MAD Enable" value="0"/>
+ <ctl name="CLK MODE" value="EXTERNAL" />
+ <ctl name="EC BUF MUX INP" value="ZERO" />
+ <ctl name="ADC MUX1" value="DMIC" />
+ <ctl name="DMIC MUX1" value="ZERO" />
+
+ <path name="listen-voice-wakeup-1">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM1 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM1 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-2">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM2 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM2 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+ <path name="listen-voice-wakeup-3">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM3 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM3 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+ <path name="listen-voice-wakeup-4">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM4 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM4 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+ <path name="listen-voice-wakeup-5">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM5 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM5 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+ <path name="listen-voice-wakeup-6">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM6 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM6 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+ <path name="listen-voice-wakeup-7">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM7 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM7 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+ <path name="listen-voice-wakeup-8">
+ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
+ <ctl name="LSM8 Port" value="SLIMBUS_5_TX" />
+ <ctl name="LSM8 Mixer SLIMBUS_5_TX" value="1" />
+ </path>
+
+ <path name="listen-cpe-handset-mic">
+ <ctl name="MADONOFF Switch" value="1" />
+ <ctl name="TX13 INP MUX" value="CPE_TX_PP" />
+ <ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
+ <ctl name="MAD Input" value="DMIC2" />
+ <ctl name="CPE AFE MAD Enable" value="1"/>
+ </path>
+
+ <path name="listen-cpe-handset-mic-ecpp">
+ <ctl name="CLK MODE" value="INTERNAL" />
+ <ctl name="EC BUF MUX INP" value="DEC1" />
+ <ctl name="ADC MUX1" value="DMIC" />
+ <ctl name="DMIC MUX1" value="DMIC2" />
+ </path>
+
+ <!-- path name used for low bandwidth FTRT codec interface -->
+ <path name="listen-cpe-handset-mic low-speed-intf">
+ <ctl name="MADONOFF Switch" value="1" />
+ <ctl name="AIF4_MAD Mixer SLIM TX12" value="1" />
+ <ctl name="MAD Input" value="DMIC2" />
+ <ctl name="CPE AFE MAD Enable" value="1"/>
+ </path>
+
+ <path name="listen-ape-handset-mic">
+ <ctl name="MAD_BROADCAST Switch" value="1" />
+ <ctl name="TX13 INP MUX" value="MAD_BRDCST" />
+ <ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
+ <ctl name="MAD Input" value="DMIC2" />
+ </path>
+
+</mixer>
diff --git a/configs/trinket/sound_trigger_platform_info.xml b/configs/trinket/sound_trigger_platform_info.xml
index 27c5c38..4096a5b 100644
--- a/configs/trinket/sound_trigger_platform_info.xml
+++ b/configs/trinket/sound_trigger_platform_info.xml
@@ -66,7 +66,7 @@
<param DEVICE_HANDSET_QMIC_APE="137" />
<param DEVICE_HEADSET_MIC_CPE="139" />
<param DEVICE_HANDSET_DMIC_APE="149" />
- <param DEVICE_HANDSET_DMIC_CPE="153" />
+ <param DEVICE_HANDSET_DMIC_CPE="148" />
<param DEVICE_HANDSET_TMIC_APE="157" />
</acdb_ids>
<!-- Multiple sound_model_config tags can be listed, each with unique -->
diff --git a/configs/trinket/trinket.mk b/configs/trinket/trinket.mk
index 103516d..bcf970f 100644
--- a/configs/trinket/trinket.mk
+++ b/configs/trinket/trinket.mk
@@ -86,6 +86,7 @@
hardware/qcom/audio/configs/trinket/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
hardware/qcom/audio/configs/trinket/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
hardware/qcom/audio/configs/trinket/sound_trigger_mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_qrd.xml \
+ hardware/qcom/audio/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9335.xml \
hardware/qcom/audio/configs/trinket/mixer_paths_idp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_idp.xml \
hardware/qcom/audio/configs/trinket/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
hardware/qcom/audio/configs/trinket/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml \
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index e48cf47..a900ecd 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2013 The Android Open Source Project
@@ -7707,15 +7707,19 @@
int platform_get_ec_ref_loopback_snd_device(int channel_count)
{
- snd_device_t snd_device;
+ snd_device_t snd_device = SND_DEVICE_NONE;
- if (channel_count == 1)
- snd_device = SND_DEVICE_IN_EC_REF_LOOPBACK_MONO;
- else if (channel_count == 2)
- snd_device = SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO;
- else
- snd_device = SND_DEVICE_NONE;
-
+ switch(channel_count) {
+ case 1:
+ snd_device = SND_DEVICE_IN_EC_REF_LOOPBACK_MONO;
+ break;
+ case 2:
+ snd_device = SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO;
+ break;
+ default:
+ snd_device = SND_DEVICE_NONE;
+ break;
+ }
return snd_device;
}
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 913ddb6..229b385 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -397,7 +397,7 @@
{PLAYBACK_INTERACTIVE_STRM_DEVICE7, PLAYBACK_INTERACTIVE_STRM_DEVICE7},
[USECASE_AUDIO_PLAYBACK_INTERACTIVE_STREAM8] =
{PLAYBACK_INTERACTIVE_STRM_DEVICE8, PLAYBACK_INTERACTIVE_STRM_DEVICE8},
-
+ [USECASE_AUDIO_EC_REF_LOOPBACK] = {-1, -1}, /* pcm id updated from platform info file */
};
/* Array to store sound devices */
@@ -558,6 +558,10 @@
[SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = "unprocessed-three-mic",
[SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = "unprocessed-quad-mic",
[SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = "unprocessed-headset-mic",
+ [SND_DEVICE_IN_HANDSET_6MIC] = "handset-6mic",
+ [SND_DEVICE_IN_HANDSET_8MIC] = "handset-8mic",
+ [SND_DEVICE_IN_EC_REF_LOOPBACK_MONO] = "ec-ref-loopback-mono",
+ [SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO] = "ec-ref-loopback-stereo",
[SND_DEVICE_IN_HANDSET_GENERIC_QMIC] = "quad-mic",
[SND_DEVICE_IN_INCALL_REC_RX] = "incall-rec-rx",
[SND_DEVICE_IN_INCALL_REC_TX] = "incall-rec-tx",
@@ -741,6 +745,10 @@
[SND_DEVICE_IN_UNPROCESSED_THREE_MIC] = 145,
[SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = 146,
[SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = 147,
+ [SND_DEVICE_IN_HANDSET_6MIC] = 4,
+ [SND_DEVICE_IN_HANDSET_8MIC] = 4,
+ [SND_DEVICE_IN_EC_REF_LOOPBACK_MONO] = 4,
+ [SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO] = 4,
[SND_DEVICE_IN_HANDSET_GENERIC_QMIC] = 150,
};
@@ -897,6 +905,10 @@
{TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_THREE_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_QUAD_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_6MIC)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_8MIC)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_EC_REF_LOOPBACK_MONO)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO)},
{TO_NAME_INDEX(SND_DEVICE_IN_HANDSET_GENERIC_QMIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_RX)},
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_TX)},
@@ -948,6 +960,7 @@
{TO_NAME_INDEX(USECASE_AUDIO_SPKR_CALIB_TX)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_AFE_PROXY)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_AFE_PROXY)},
+ {TO_NAME_INDEX(USECASE_AUDIO_EC_REF_LOOPBACK)},
{TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_SILENCE)},
{TO_NAME_INDEX(USECASE_INCALL_MUSIC_UPLINK)},
{TO_NAME_INDEX(USECASE_INCALL_MUSIC_UPLINK2)},
@@ -1928,6 +1941,8 @@
{
// support max to mono, example if max count is 3, usecase supports Three, dual and mono mic
switch (my_data->max_mic_count) {
+ case 6:
+ my_data->source_mic_type |= SOURCE_HEX_MIC;
case 4:
my_data->source_mic_type |= SOURCE_QUAD_MIC;
case 3:
@@ -2189,7 +2204,9 @@
be_dai_name_table = NULL;
property_get("ro.vendor.audio.sdk.fluencetype", my_data->fluence_cap, "");
- if (!strncmp("fluencepro", my_data->fluence_cap, sizeof("fluencepro"))) {
+ if (!strncmp("fluenceffv", my_data->fluence_cap, sizeof("fluenceffv"))) {
+ my_data->fluence_type = FLUENCE_HEX_MIC | FLUENCE_QUAD_MIC | FLUENCE_DUAL_MIC;
+ } else if (!strncmp("fluencepro", my_data->fluence_cap, sizeof("fluencepro"))) {
my_data->fluence_type = FLUENCE_QUAD_MIC | FLUENCE_DUAL_MIC;
if (property_get_bool("persist.vendor.audio.fluence.tmic.enabled",false)) {
@@ -2459,6 +2476,7 @@
/* Read one time ssr property */
audio_extn_ssr_update_enabled();
+ audio_extn_ffv_update_enabled();
audio_extn_spkr_prot_init(adev);
@@ -2768,6 +2786,10 @@
if (snd_device >= SND_DEVICE_MIN && snd_device < SND_DEVICE_MAX) {
strlcpy(device_name, device_table[snd_device], DEVICE_NAME_MAX_SIZE);
hw_info_append_hw_type(my_data->hw_info, snd_device, device_name);
+
+ if ((snd_device == SND_DEVICE_IN_EC_REF_LOOPBACK_MONO) ||
+ (snd_device == SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO))
+ audio_extn_ffv_append_ec_ref_dev_name(device_name);
} else {
strlcpy(device_name, "", DEVICE_NAME_MAX_SIZE);
return -EINVAL;
@@ -2935,7 +2957,9 @@
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- if (my_data->fluence_type == FLUENCE_QUAD_MIC) {
+ if (my_data->fluence_type == FLUENCE_HEX_MIC) {
+ strlcpy(value, "hexmic", len);
+ } else if (my_data->fluence_type == FLUENCE_QUAD_MIC) {
strlcpy(value, "quadmic", len);
} else if (my_data->fluence_type == FLUENCE_TRI_MIC) {
strlcpy(value, "trimic", len);
@@ -4648,7 +4672,11 @@
if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC &&
channel_count == 1 ) {
if(my_data->fluence_in_audio_rec) {
- if ((my_data->fluence_type & FLUENCE_QUAD_MIC) &&
+ if ((my_data->fluence_type & FLUENCE_HEX_MIC) &&
+ (my_data->source_mic_type & SOURCE_HEX_MIC) &&
+ (audio_extn_ffv_get_stream() == adev->active_input)) {
+ snd_device = audio_extn_ffv_get_capture_snd_device();
+ } else if ((my_data->fluence_type & FLUENCE_QUAD_MIC) &&
(my_data->source_mic_type & SOURCE_QUAD_MIC)) {
snd_device = SND_DEVICE_IN_HANDSET_QMIC;
platform_set_echo_reference(adev, true, out_device);
@@ -5270,6 +5298,7 @@
audio_extn_hfp_set_parameters(adev, parms);
perf_lock_set_params(platform, parms, value, len);
true_32_bit_set_params(parms, value, len);
+ audio_extn_ffv_set_parameters(my_data->adev, parms);
done:
ALOGV("%s: exit with code(%d)", __func__, ret);
if(kv_pairs != NULL)
@@ -7690,6 +7719,24 @@
return ret;
}
+int platform_get_ec_ref_loopback_snd_device(int channel_count)
+{
+ snd_device_t snd_device = SND_DEVICE_NONE;
+
+ switch(channel_count) {
+ case 1:
+ snd_device = SND_DEVICE_IN_EC_REF_LOOPBACK_MONO;
+ break;
+ case 2:
+ snd_device = SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO;
+ break;
+ default:
+ snd_device = SND_DEVICE_NONE;
+ break;
+ }
+ return snd_device;
+}
+
int platform_set_sidetone(struct audio_device *adev,
snd_device_t out_snd_device,
bool enable,