Merge "configs: lahaina: enable concurrent_capture property"
diff --git a/configs/lahaina/audio_platform_info.xml b/configs/lahaina/audio_platform_info.xml
index 80113a1..5535e64 100644
--- a/configs/lahaina/audio_platform_info.xml
+++ b/configs/lahaina/audio_platform_info.xml
@@ -47,6 +47,7 @@
<device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_HEX_MIC" acdb_id="162"/>
<device name="SND_DEVICE_IN_VOCE_RECOG_USB_HEADSET_HEX_MIC" acdb_id="162"/>
<device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
+ <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
</acdb_ids>
<module_ids>
diff --git a/configs/lahaina/audio_platform_info_intcodec.xml b/configs/lahaina/audio_platform_info_intcodec.xml
index eb5fbd6..34fded5 100644
--- a/configs/lahaina/audio_platform_info_intcodec.xml
+++ b/configs/lahaina/audio_platform_info_intcodec.xml
@@ -143,6 +143,7 @@
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
<device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
+ <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
diff --git a/configs/lahaina/audio_platform_info_qrd.xml b/configs/lahaina/audio_platform_info_qrd.xml
index 0980eda..08eeea5 100644
--- a/configs/lahaina/audio_platform_info_qrd.xml
+++ b/configs/lahaina/audio_platform_info_qrd.xml
@@ -143,6 +143,7 @@
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
<device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
<device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
+ <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
diff --git a/configs/lahaina/mixer_paths_cdp.xml b/configs/lahaina/mixer_paths_cdp.xml
index f8e09ad..a3a0ac8 100644
--- a/configs/lahaina/mixer_paths_cdp.xml
+++ b/configs/lahaina/mixer_paths_cdp.xml
@@ -340,30 +340,44 @@
<ctl name="TX_AIF1_CAP Mixer DEC5" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC6" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC7" value="0" />
- <ctl name="TX DEC0 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC0 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX0" value="ZERO" />
<ctl name="TX SMIC MUX0" value="ZERO" />
- <ctl name="TX DEC1 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX1" value="ZERO" />
<ctl name="TX SMIC MUX1" value="ZERO" />
- <ctl name="TX DEC2 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX2" value="ZERO" />
<ctl name="TX SMIC MUX2" value="ZERO" />
- <ctl name="TX DEC3 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC3 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX3" value="ZERO" />
<ctl name="TX SMIC MUX3" value="ZERO" />
- <ctl name="TX DEC4 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC4 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX4" value="ZERO" />
<ctl name="TX SMIC MUX4" value="ZERO" />
- <ctl name="TX DEC5 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC5 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX5" value="ZERO" />
<ctl name="TX SMIC MUX5" value="ZERO" />
- <ctl name="TX DEC6 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC6 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX6" value="ZERO" />
<ctl name="TX SMIC MUX6" value="ZERO" />
- <ctl name="TX DEC7 MUX" value="MSM_DMIC" />
+ <ctl name="TX DEC7 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX7" value="ZERO" />
<ctl name="TX SMIC MUX7" value="ZERO" />
+ <ctl name="ADC1 ChMap" value="ZERO" />
+ <ctl name="ADC2 ChMap" value="ZERO" />
+ <ctl name="ADC3 ChMap" value="ZERO" />
+ <ctl name="ADC4 ChMap" value="ZERO" />
+ <ctl name="HDR12 MUX" value="NO_HDR12" />
+ <ctl name="HDR34 MUX" value="NO_HDR34" />
+ <ctl name="SWR_MIC0 HIFI PortMap" value="ZERO" />
+ <ctl name="SWR_MIC1 HIFI PortMap" value="ZERO" />
+ <ctl name="SWR_MIC2 HIFI PortMap" value="ZERO" />
+ <ctl name="SWR_MIC3 HIFI PortMap" value="ZERO" />
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="0" />
+ <ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="0" />
+ <ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="0" />
+ <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="0" />
<!-- Volume controls -->
<ctl name="WSA_RX0 Digital Volume" value="84" />
@@ -2172,9 +2186,10 @@
<!-- These are actual sound device specific mixer settings -->
<path name="amic1">
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX1" value="ADC0" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="ADC1_MIXER Switch" value="1" />
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
</path>
<path name="amic2">
@@ -2193,62 +2208,67 @@
<path name="amic3">
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX2" value="ADC1" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
+ <ctl name="HDR12 MUX" value="NO_HDR12" />
</path>
<path name="amic4">
<ctl name="TX DEC5 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX5" value="ADC2" />
+ <ctl name="TX SMIC MUX5" value="SWR_MIC2" />
<ctl name="TX_AIF1_CAP Mixer DEC5" value="1" />
<ctl name="ADC3_MIXER Switch" value="1" />
<ctl name="ADC3 MUX" value="INP4" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX1_CH3" />
+ <ctl name="HDR34 MUX" value="NO_HDR34" />
</path>
<path name="amic5">
<ctl name="TX DEC3 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX3" value="ADC3" />
+ <ctl name="TX SMIC MUX3" value="SWR_MIC3" />
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
<ctl name="ADC4_MIXER Switch" value="1" />
<ctl name="ADC4 MUX" value="INP5" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX1_CH4" />
</path>
<path name="dmic1">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC0" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC0" />
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX1_CH1" />
</path>
<path name="dmic2">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC1" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC1" />
+ <ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC1 HIFI PortMap" value="SWRM_TX1_CH2" />
</path>
<path name="dmic3">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC2" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC2" />
+ <ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC2 HIFI PortMap" value="SWRM_TX1_CH3" />
</path>
<path name="dmic4">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC3" />
- </path>
-
- <path name="dmic5">
- <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC4" />
- </path>
-
- <path name="dmic6">
- <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC5" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC3" />
+ <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC3 HIFI PortMap" value="SWRM_TX1_CH4" />
</path>
<path name="speaker">
@@ -2367,11 +2387,11 @@
</path>
<path name="speaker-mic">
- <path name="dmic5" />
+ <path name="dmic4" />
</path>
<path name="speaker-mic-liquid">
- <path name="dmic5" />
+ <path name="dmic4" />
</path>
<path name="speaker-mic-sbc">
@@ -2445,8 +2465,7 @@
</path>
<path name="handset-mic">
- <ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <path name="amic5" />
+ <path name="dmic1" />
</path>
<path name="headphones">
@@ -2664,14 +2683,31 @@
<!-- Dual MIC devices -->
<path name="handset-dmic-endfire">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
- <path name="amic1" />
- <path name="amic3" />
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="TX DEC1 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC2" />
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX1_CH1" />
+ <ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC2 HIFI PortMap" value="SWRM_TX1_CH3" />
</path>
<path name="speaker-dmic-endfire">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
- <path name="amic1" />
- <path name="amic3" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC3" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="TX DEC1 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0" />
+ <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC3 HIFI PortMap" value="SWRM_TX1_CH4" />
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX1_CH1" />
</path>
<path name="dmic-endfire">
@@ -2741,8 +2777,16 @@
</path>
<path name="speaker-dmic-broadside">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
- <path name="amic1" />
- <path name="amic3" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX DEC1 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC3" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC0" />
+ <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC3 HIFI PortMap" value="SWRM_TX1_CH4" />
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX1_CH1" />
</path>
<path name="dmic-broadside">
@@ -2757,9 +2801,21 @@
<!-- Tri MIC devices -->
<path name="three-mic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Three" />
- <path name="amic1" />
- <path name="amic3" />
- <path name="amic4" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
+ <ctl name="TX DEC1 MUX" value="SWR_MIC" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX DEC3 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC11" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC8" />
+ <ctl name="TX SMIC MUX3" value="SWR_MIC10" />
+ <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC3 HIFI PortMap" value="SWRM_TX3_CH4" />
+ <ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX3_CH1" />
+ <ctl name="SWR_MIC2 HIFI PortMap" value="SWRM_TX3_CH3" />
</path>
<path name="speaker-tmic">
@@ -2773,10 +2829,26 @@
<!-- Quad MIC devices -->
<path name="speaker-qmic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Four" />
- <path name="amic1" />
- <path name="amic3" />
- <path name="amic4" />
- <path name="amic5" />
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
+ <ctl name="TX_AIF1_CAP Mixer DEC4" value="1" />
+ <ctl name="TX DEC1 MUX" value="SWR_MIC" />
+ <ctl name="TX DEC2 MUX" value="SWR_MIC" />
+ <ctl name="TX DEC3 MUX" value="SWR_MIC" />
+ <ctl name="TX DEC4 MUX" value="SWR_MIC" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC11" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC8" />
+ <ctl name="TX SMIC MUX3" value="SWR_MIC10" />
+ <ctl name="TX SMIC MUX4" value="SWR_MIC9" />
+ <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="SWR_MIC3 HIFI PortMap" value="SWRM_TX3_CH4" />
+ <ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX3_CH1" />
+ <ctl name="SWR_MIC2 HIFI PortMap" value="SWRM_TX3_CH3" />
+ <ctl name="SWR_MIC1 HIFI PortMap" value="SWRM_TX3_CH2" />
</path>
<path name="speaker-qmic-liquid">
diff --git a/configs/lahaina/sound_trigger_mixer_paths.xml b/configs/lahaina/sound_trigger_mixer_paths.xml
index 2d5b242..e500e0d 100644
--- a/configs/lahaina/sound_trigger_mixer_paths.xml
+++ b/configs/lahaina/sound_trigger_mixer_paths.xml
@@ -261,6 +261,7 @@
<ctl name="VA SMIC MUX0" value="SWR_MIC11" />
<ctl name="SWR_MIC3 HIFI PortMap" value="SWRM_TX3_CH4" />
<ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="VA_DEC0 Volume" value="99" />
</path>
<path name="listen-ape-handset-mic-preproc">
@@ -279,6 +280,8 @@
<ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX3_CH1" />
<ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
<ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="VA_DEC0 Volume" value="99" />
+ <ctl name="VA_DEC1 Volume" value="99" />
</path>
<path name="listen-ape-handset-tmic">
@@ -298,6 +301,9 @@
<ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
<ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
<ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="VA_DEC0 Volume" value="99" />
+ <ctl name="VA_DEC1 Volume" value="99" />
+ <ctl name="VA_DEC2 Volume" value="99" />
</path>
<path name="listen-ape-handset-qmic">
@@ -322,6 +328,10 @@
<ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
<ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="1" />
<ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="1" />
+ <ctl name="VA_DEC0 Volume" value="99" />
+ <ctl name="VA_DEC1 Volume" value="99" />
+ <ctl name="VA_DEC2 Volume" value="99" />
+ <ctl name="VA_DEC3 Volume" value="99" />
</path>
<path name="listen-ape-headset-mic">
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 6818522..04f2268 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -753,12 +753,14 @@
audio_event_info_t event;
int ret;
char value[32], paramstr[MAX_STR_LENGTH_FFV_PARAMS];
- char *kv_pairs = str_parms_to_str(query);
+ char *kv_pairs = NULL;
- if (query == NULL || reply == NULL || kv_pairs == NULL) {
+ if (query == NULL || reply == NULL) {
ALOGD("%s: query is null or reply is null",__func__);
return;
}
+
+ kv_pairs = str_parms_to_str(query);
ALOGD("%s input string<%s>", __func__, kv_pairs);
ret = str_parms_get_str(query, "SVA_EXEC_MODE_STATUS", value,
diff --git a/hal/audio_extn/spkr_protection.c b/hal/audio_extn/spkr_protection.c
index 6187384..ad77b10 100644
--- a/hal/audio_extn/spkr_protection.c
+++ b/hal/audio_extn/spkr_protection.c
@@ -791,6 +791,11 @@
bool spkr2_is_mono_speaker = false;
unsigned int r0_index = 0;
+ /*Do nothing for SPV4.*/
+ if(sp_prop_version == SP_V4) {
+ handle.sp_version = SP_V4;
+ return;
+ }
handle.sp_version = SP_V2;
/*
@@ -828,8 +833,6 @@
if (sp_prop_version < SP_V3 || afe_api_version < AFE_API_VERSION_SUPPORT_SPV3)
handle.sp_version = SP_V2;
- if(sp_prop_version == SP_V4)
- handle.sp_version = SP_V4;
}
static int spkr_calibrate(int t0_spk_1, int t0_spk_2)
@@ -1178,10 +1181,10 @@
afe_api_version = atoi(afe_version_value);
spv4_enable = property_get_bool("persist.vendor.audio.spv4.enable", false);
- if (spv3_enable)
- sp_prop_version = SP_V3;
- else if (spv4_enable)
+ if (spv4_enable)
sp_prop_version = SP_V4;
+ else if (spv3_enable)
+ sp_prop_version = SP_V3;
if(spv4_enable)
handle.sp_version = SP_V4;