Merge "configs: sdm845: Fix mixer path names for VoIP playback"
diff --git a/Android.mk b/Android.mk
index 5101724..e590854 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,4 +1,4 @@
-ifneq ($(filter mpq8092 msm8960 msm8226 msm8x26 msm8610 msm8974 msm8x74 apq8084 msm8916 msm8994 msm8992 msm8909 msm8996 msm8952 msm8937 thorium msm8953 msmgold msm8998 sdm660 sdm845 msmpeafowl apq8098_latv,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter mpq8092 msm8960 msm8226 msm8x26 msm8610 msm8974 msm8x74 apq8084 msm8916 msm8994 msm8992 msm8909 msm8996 msm8952 msm8937 thorium msm8953 msmgold msm8998 sdm660 sdm845 sdm670 apq8098_latv,$(TARGET_BOARD_PLATFORM)),)
MY_LOCAL_PATH := $(call my-dir)
diff --git a/configs/msm8937/audio_policy_configuration.xml b/configs/msm8937/audio_policy_configuration.xml
index 73f9198..b2b26a2 100644
--- a/configs/msm8937/audio_policy_configuration.xml
+++ b/configs/msm8937/audio_policy_configuration.xml
@@ -260,7 +260,7 @@
<route type="mix" sink="Telephony Tx"
sources="voice_tx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
+ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
<route type="mix" sink="surround_sound"
sources="Built-In Mic,Built-In Back Mic"/>
<route type="mix" sink="voice_rx"
diff --git a/configs/msm8953/audio_policy_configuration.xml b/configs/msm8953/audio_policy_configuration.xml
index cfaa3e2..424a436 100644
--- a/configs/msm8953/audio_policy_configuration.xml
+++ b/configs/msm8953/audio_policy_configuration.xml
@@ -271,7 +271,7 @@
<route type="mix" sink="Telephony Tx"
sources="voice_tx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
+ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
<route type="mix" sink="surround_sound"
sources="Built-In Mic,Built-In Back Mic"/>
<route type="mix" sink="record_24"
diff --git a/configs/msm8996/audio_policy_configuration.xml b/configs/msm8996/audio_policy_configuration.xml
index 7b8dbae..815f071 100644
--- a/configs/msm8996/audio_policy_configuration.xml
+++ b/configs/msm8996/audio_policy_configuration.xml
@@ -271,7 +271,7 @@
<route type="mix" sink="Telephony Tx"
sources="voice_tx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
+ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
<route type="mix" sink="surround_sound"
sources="Built-In Mic,Built-In Back Mic"/>
<route type="mix" sink="record_24"
diff --git a/configs/msm8998/audio_policy_configuration.xml b/configs/msm8998/audio_policy_configuration.xml
index ff0820e..e084bba 100644
--- a/configs/msm8998/audio_policy_configuration.xml
+++ b/configs/msm8998/audio_policy_configuration.xml
@@ -335,7 +335,7 @@
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,Telephony Rx"/>
+ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,Telephony Rx"/>
<route type="mix" sink="surround_sound"
sources="Built-In Mic,Built-In Back Mic"/>
<route type="mix" sink="record_24"
diff --git a/configs/sdm660/audio_policy_configuration.xml b/configs/sdm660/audio_policy_configuration.xml
index 09a4bb9..9a67a32 100644
--- a/configs/sdm660/audio_policy_configuration.xml
+++ b/configs/sdm660/audio_policy_configuration.xml
@@ -326,7 +326,7 @@
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,Telephony Rx"/>
+ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,Telephony Rx"/>
<route type="mix" sink="surround_sound"
sources="Built-In Mic,Built-In Back Mic"/>
<route type="mix" sink="record_24"
diff --git a/configs/msmpeafowl/audio_effects.conf b/configs/sdm670/audio_effects.conf
similarity index 100%
rename from configs/msmpeafowl/audio_effects.conf
rename to configs/sdm670/audio_effects.conf
diff --git a/configs/msmpeafowl/audio_output_policy.conf b/configs/sdm670/audio_output_policy.conf
similarity index 100%
rename from configs/msmpeafowl/audio_output_policy.conf
rename to configs/sdm670/audio_output_policy.conf
diff --git a/configs/msmpeafowl/audio_platform_info.xml b/configs/sdm670/audio_platform_info.xml
similarity index 100%
rename from configs/msmpeafowl/audio_platform_info.xml
rename to configs/sdm670/audio_platform_info.xml
diff --git a/configs/msmpeafowl/audio_platform_info_i2s.xml b/configs/sdm670/audio_platform_info_i2s.xml
similarity index 100%
rename from configs/msmpeafowl/audio_platform_info_i2s.xml
rename to configs/sdm670/audio_platform_info_i2s.xml
diff --git a/configs/msmpeafowl/audio_platform_info_intcodec.xml b/configs/sdm670/audio_platform_info_intcodec.xml
similarity index 98%
rename from configs/msmpeafowl/audio_platform_info_intcodec.xml
rename to configs/sdm670/audio_platform_info_intcodec.xml
index 7ef1e4c..d04ced2 100644
--- a/configs/msmpeafowl/audio_platform_info_intcodec.xml
+++ b/configs/sdm670/audio_platform_info_intcodec.xml
@@ -65,8 +65,8 @@
<!-- 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"/>
- <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"/>
<param key="true_32_bit" value="true"/>
<param key="native_audio_mode" value="true"/>
<param key="hfp_pcm_dev_id" value="39"/>
diff --git a/configs/msmpeafowl/audio_policy.conf b/configs/sdm670/audio_policy.conf
similarity index 100%
rename from configs/msmpeafowl/audio_policy.conf
rename to configs/sdm670/audio_policy.conf
diff --git a/configs/msmpeafowl/audio_policy_configuration.xml b/configs/sdm670/audio_policy_configuration.xml
similarity index 100%
rename from configs/msmpeafowl/audio_policy_configuration.xml
rename to configs/sdm670/audio_policy_configuration.xml
diff --git a/configs/msmpeafowl/audio_tuning_mixer.txt b/configs/sdm670/audio_tuning_mixer.txt
similarity index 100%
rename from configs/msmpeafowl/audio_tuning_mixer.txt
rename to configs/sdm670/audio_tuning_mixer.txt
diff --git a/configs/msmpeafowl/audio_tuning_mixer_tasha.txt b/configs/sdm670/audio_tuning_mixer_tasha.txt
similarity index 100%
rename from configs/msmpeafowl/audio_tuning_mixer_tasha.txt
rename to configs/sdm670/audio_tuning_mixer_tasha.txt
diff --git a/configs/msmpeafowl/audio_tuning_mixer_tavil.txt b/configs/sdm670/audio_tuning_mixer_tavil.txt
similarity index 100%
rename from configs/msmpeafowl/audio_tuning_mixer_tavil.txt
rename to configs/sdm670/audio_tuning_mixer_tavil.txt
diff --git a/configs/msmpeafowl/graphite_ipc_platform_info.xml b/configs/sdm670/graphite_ipc_platform_info.xml
similarity index 100%
rename from configs/msmpeafowl/graphite_ipc_platform_info.xml
rename to configs/sdm670/graphite_ipc_platform_info.xml
diff --git a/configs/msmpeafowl/listen_platform_info.xml b/configs/sdm670/listen_platform_info.xml
similarity index 100%
rename from configs/msmpeafowl/listen_platform_info.xml
rename to configs/sdm670/listen_platform_info.xml
diff --git a/configs/msmpeafowl/mixer_paths.xml b/configs/sdm670/mixer_paths.xml
similarity index 100%
rename from configs/msmpeafowl/mixer_paths.xml
rename to configs/sdm670/mixer_paths.xml
diff --git a/configs/msmpeafowl/mixer_paths_i2s.xml b/configs/sdm670/mixer_paths_i2s.xml
similarity index 100%
rename from configs/msmpeafowl/mixer_paths_i2s.xml
rename to configs/sdm670/mixer_paths_i2s.xml
diff --git a/configs/msmpeafowl/mixer_paths_mtp.xml b/configs/sdm670/mixer_paths_mtp.xml
similarity index 99%
rename from configs/msmpeafowl/mixer_paths_mtp.xml
rename to configs/sdm670/mixer_paths_mtp.xml
index 145a1dd..b08059c 100644
--- a/configs/msmpeafowl/mixer_paths_mtp.xml
+++ b/configs/sdm670/mixer_paths_mtp.xml
@@ -1600,7 +1600,7 @@
</path>
<path name="handset">
- <ctl name="EAR SPKR PA Gain" value="G_6_DB" />
+ <ctl name="EAR SPKR PA Gain" value="G_3_DB" />
<path name="speaker-mono" />
</path>
@@ -1612,7 +1612,7 @@
</path>
<path name="handset-mic-cdp">
- <path name="adc1" />
+ <path name="dmic2" />
</path>
<path name="handset-mic-sbc">
diff --git a/configs/msmpeafowl/mixer_paths_tasha.xml b/configs/sdm670/mixer_paths_tasha.xml
similarity index 95%
rename from configs/msmpeafowl/mixer_paths_tasha.xml
rename to configs/sdm670/mixer_paths_tasha.xml
index 2971282..be2f56b 100644
--- a/configs/msmpeafowl/mixer_paths_tasha.xml
+++ b/configs/sdm670/mixer_paths_tasha.xml
@@ -530,6 +530,13 @@
<!-- ssr qmic -->
<ctl name="AIF1_CAP Mixer SLIM TX10" value="0" />
<!-- ssr qmic end-->
+ <!-- vbat related data -->
+ <ctl name="GSM mode Enable" value="OFF" />
+ <ctl name="RX INT5 VBAT LO3 VBAT Enable" value="0" />
+ <ctl name="RX INT6 VBAT LO4 VBAT Enable" value="0" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="0" />
+ <ctl name="RX INT8 VBAT SPKRR VBAT Enable" value="0" />
+ <!-- vbat related data end-->
<!-- audio record compress-->
<ctl name="MultiMedia8 Mixer SLIM_0_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
@@ -564,6 +571,33 @@
<ctl name="GSM mode Enable" value="ON" />
</path>
+ <path name="echo-reference speaker-vbat-mono">
+ <ctl name="AIF3_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="SLIM TX1 MUX" value="RX_MIX_TX1" />
+ <ctl name="RX MIX TX1 MUX" value="RX_MIX_VBAT7" />
+ <ctl name="SLIM_1_TX Channels" value="One" />
+ <ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ </path>
+
+ <path name="echo-reference speaker-vbat-mono-2">
+ <ctl name="AIF3_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="SLIM TX2 MUX" value="RX_MIX_TX2" />
+ <ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
+ <ctl name="SLIM_1_TX Channels" value="One" />
+ <ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ </path>
+
+ <path name="echo-reference speaker-vbat">
+ <ctl name="AIF3_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF3_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="SLIM TX1 MUX" value="RX_MIX_TX1" />
+ <ctl name="SLIM TX2 MUX" value="RX_MIX_TX2" />
+ <ctl name="RX MIX TX1 MUX" value="RX_MIX_VBAT7" />
+ <ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
+ <ctl name="SLIM_1_TX Channels" value="Two" />
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ </path>
+
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
</path>
@@ -1536,6 +1570,16 @@
<ctl name="Voip_Tx Mixer USB_AUDIO_TX_Voip" value="1" />
</path>
+ <path name="compress-voip-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="compress-voip-call"/>
+ </path>
+
+ <path name="compress-voip-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="compress-voip-call"/>
+ </path>
+
<path name="vowlan-call">
<ctl name="SLIM_0_RX_Voice Mixer VoWLAN" value="1" />
<ctl name="VoWLAN_Tx Mixer SLIM_0_TX_VoWLAN" value="1" />
@@ -1571,6 +1615,16 @@
<ctl name="VoWLAN_Tx Mixer USB_AUDIO_TX_VoWLAN" value="1" />
</path>
+ <path name="vowlan-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="vowlan-call"/>
+ </path>
+
+ <path name="vowlan-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="vowlan-call"/>
+ </path>
+
<path name="voicemmode1-call">
<ctl name="SLIM_0_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
@@ -1606,6 +1660,16 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="voicemmode1-call"/>
+ </path>
+
+ <path name="voicemmode1-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="voicemmode1-call"/>
+ </path>
+
<path name="voicemmode2-call">
<ctl name="SLIM_0_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
@@ -1641,6 +1705,16 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="voicemmode2-call"/>
+ </path>
+
+ <path name="voicemmode2-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="voicemmode2-call"/>
+ </path>
+
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
@@ -1828,6 +1902,22 @@
<path name="speaker" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="RX INT8 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ <ctl name="RX INT8 VBAT SPKRR VBAT Enable" value="1" />
+ </path>
+
<path name="sidetone-iir">
<ctl name="IIR0 Enable Band1" value="1" />
<ctl name="IIR0 Enable Band2" value="1" />
@@ -1898,6 +1988,22 @@
<path name="vi-feedback-mono-2">
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ <ctl name="RX INT8 VBAT SPKRR VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="RX INT8 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
<path name="handset">
<ctl name="COMP7 Switch" value="1" />
<ctl name="SLIM RX0 MUX" value="AIF_MIX1_PB" />
@@ -2036,6 +2142,14 @@
<path name="speaker-mic" />
</path>
+ <path name="voice-speaker-vbat">
+ <path name="speaker-vbat-mono" />
+ </path>
+
+ <path name="voice-speaker-2-vbat">
+ <path name="speaker-vbat-mono-2" />
+ </path>
+
<path name="voice-headphones">
<path name="headphones" />
<ctl name="RX HPH Mode" value="CLS_H_LP" />
diff --git a/configs/msmpeafowl/mixer_paths_tashalite.xml b/configs/sdm670/mixer_paths_tashalite.xml
similarity index 95%
rename from configs/msmpeafowl/mixer_paths_tashalite.xml
rename to configs/sdm670/mixer_paths_tashalite.xml
index 33cb226..65dec6a 100644
--- a/configs/msmpeafowl/mixer_paths_tashalite.xml
+++ b/configs/sdm670/mixer_paths_tashalite.xml
@@ -530,6 +530,13 @@
<!-- ssr qmic -->
<ctl name="AIF1_CAP Mixer SLIM TX10" value="0" />
<!-- ssr qmic end-->
+ <!-- vbat related data -->
+ <ctl name="GSM mode Enable" value="OFF" />
+ <ctl name="RX INT5 VBAT LO3 VBAT Enable" value="0" />
+ <ctl name="RX INT6 VBAT LO4 VBAT Enable" value="0" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="0" />
+ <ctl name="RX INT8 VBAT SPKRR VBAT Enable" value="0" />
+ <!-- vbat related data end-->
<!-- audio record compress-->
<ctl name="MultiMedia8 Mixer SLIM_0_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
@@ -564,6 +571,33 @@
<ctl name="GSM mode Enable" value="ON" />
</path>
+ <path name="echo-reference speaker-vbat-mono">
+ <ctl name="AIF3_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="SLIM TX1 MUX" value="RX_MIX_TX1" />
+ <ctl name="RX MIX TX1 MUX" value="RX_MIX_VBAT7" />
+ <ctl name="SLIM_1_TX Channels" value="One" />
+ <ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ </path>
+
+ <path name="echo-reference speaker-vbat-mono-2">
+ <ctl name="AIF3_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="SLIM TX2 MUX" value="RX_MIX_TX2" />
+ <ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
+ <ctl name="SLIM_1_TX Channels" value="One" />
+ <ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ </path>
+
+ <path name="echo-reference speaker-vbat">
+ <ctl name="AIF3_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF3_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="SLIM TX1 MUX" value="RX_MIX_TX1" />
+ <ctl name="SLIM TX2 MUX" value="RX_MIX_TX2" />
+ <ctl name="RX MIX TX1 MUX" value="RX_MIX_VBAT7" />
+ <ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
+ <ctl name="SLIM_1_TX Channels" value="Two" />
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ </path>
+
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
</path>
@@ -1536,6 +1570,16 @@
<ctl name="Voip_Tx Mixer USB_AUDIO_TX_Voip" value="1" />
</path>
+ <path name="compress-voip-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="compress-voip-call"/>
+ </path>
+
+ <path name="compress-voip-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="compress-voip-call"/>
+ </path>
+
<path name="vowlan-call">
<ctl name="SLIM_0_RX_Voice Mixer VoWLAN" value="1" />
<ctl name="VoWLAN_Tx Mixer SLIM_0_TX_VoWLAN" value="1" />
@@ -1571,6 +1615,16 @@
<ctl name="VoWLAN_Tx Mixer USB_AUDIO_TX_VoWLAN" value="1" />
</path>
+ <path name="vowlan-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="vowlan-call"/>
+ </path>
+
+ <path name="vowlan-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="vowlan-call"/>
+ </path>
+
<path name="voicemmode1-call">
<ctl name="SLIM_0_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
@@ -1606,6 +1660,16 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="voicemmode1-call"/>
+ </path>
+
+ <path name="voicemmode1-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="voicemmode1-call"/>
+ </path>
+
<path name="voicemmode2-call">
<ctl name="SLIM_0_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
@@ -1641,6 +1705,16 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call voice-speaker-vbat">
+ <path name="echo-reference speaker-vbat-mono" />
+ <path name="voicemmode2-call"/>
+ </path>
+
+ <path name="voicemmode2-call voice-speaker-2-vbat">
+ <path name="echo-reference speaker-vbat-mono-2" />
+ <path name="voicemmode2-call"/>
+ </path>
+
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
@@ -1828,6 +1902,22 @@
<path name="speaker" />
</path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2" />
+ <ctl name="RX INT8 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
+ <path name="speaker-vbat">
+ <path name="speaker" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ <ctl name="RX INT8 VBAT SPKRR VBAT Enable" value="1" />
+ </path>
+
<path name="sidetone-iir">
<ctl name="IIR0 Enable Band1" value="1" />
<ctl name="IIR0 Enable Band2" value="1" />
@@ -1898,6 +1988,22 @@
<path name="vi-feedback-mono-2">
</path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ <ctl name="RX INT8 VBAT SPKRR VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected" />
+ <ctl name="RX INT7 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected" />
+ <ctl name="RX INT8 VBAT SPKRL VBAT Enable" value="1" />
+ </path>
+
<path name="handset">
<ctl name="COMP7 Switch" value="1" />
<ctl name="SLIM RX0 MUX" value="AIF_MIX1_PB" />
@@ -2036,6 +2142,14 @@
<path name="speaker-mic" />
</path>
+ <path name="voice-speaker-vbat">
+ <path name="speaker-vbat-mono" />
+ </path>
+
+ <path name="voice-speaker-2-vbat">
+ <path name="speaker-vbat-mono-2" />
+ </path>
+
<path name="voice-headphones">
<path name="headphones" />
<ctl name="RX HPH Mode" value="CLS_H_LP" />
diff --git a/configs/msmpeafowl/mixer_paths_tavil.xml b/configs/sdm670/mixer_paths_tavil.xml
similarity index 99%
rename from configs/msmpeafowl/mixer_paths_tavil.xml
rename to configs/sdm670/mixer_paths_tavil.xml
index 03b10f1..8a8783b 100644
--- a/configs/msmpeafowl/mixer_paths_tavil.xml
+++ b/configs/sdm670/mixer_paths_tavil.xml
@@ -485,8 +485,8 @@
<ctl name="IIR0 Band3" id ="1" value="0" />
<ctl name="IIR0 Band3" id ="2" value="0" />
<ctl name="IIR0 Band3" id ="3" value="0" />
- <ctl name="IIR0 Band3" id ="4" value="268435456" />
- <ctl name="IIR0 Band4" id ="0" value="0" />
+ <ctl name="IIR0 Band3" id ="4" value="0" />
+ <ctl name="IIR0 Band4" id ="0" value="268435456" />
<ctl name="IIR0 Band4" id ="1" value="0" />
<ctl name="IIR0 Band4" id ="2" value="0" />
<ctl name="IIR0 Band4" id ="3" value="0" />
diff --git a/configs/msmpeafowl/msmpeafowl.mk b/configs/sdm670/sdm670.mk
similarity index 71%
rename from configs/msmpeafowl/msmpeafowl.mk
rename to configs/sdm670/sdm670.mk
index 389d7ca..7efcc2f 100644
--- a/configs/msmpeafowl/msmpeafowl.mk
+++ b/configs/sdm670/sdm670.mk
@@ -75,36 +75,36 @@
device/qcom/common/media/audio_policy.conf:system/etc/audio_policy.conf
else
PRODUCT_COPY_FILES += \
- hardware/qcom/audio/configs/msmpeafowl/audio_policy.conf:system/etc/audio_policy.conf
+ hardware/qcom/audio/configs/sdm670/audio_policy.conf:system/etc/audio_policy.conf
endif
PRODUCT_COPY_FILES += \
- hardware/qcom/audio/configs/msmpeafowl/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
- hardware/qcom/audio/configs/msmpeafowl/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
- hardware/qcom/audio/configs/msmpeafowl/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml \
- hardware/qcom/audio/configs/msmpeafowl/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
- hardware/qcom/audio/configs/msmpeafowl/mixer_paths_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_mtp.xml \
- hardware/qcom/audio/configs/msmpeafowl/mixer_paths_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tasha.xml \
- hardware/qcom/audio/configs/msmpeafowl/mixer_paths_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tashalite.xml \
- hardware/qcom/audio/configs/msmpeafowl/mixer_paths_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_i2s.xml \
- hardware/qcom/audio/configs/msmpeafowl/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
- hardware/qcom/audio/configs/msmpeafowl/audio_tuning_mixer_tavil.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tavil.txt \
- hardware/qcom/audio/configs/msmpeafowl/audio_tuning_mixer_tasha.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tasha.txt \
- hardware/qcom/audio/configs/msmpeafowl/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
- hardware/qcom/audio/configs/msmpeafowl/audio_platform_info_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_i2s.xml \
- hardware/qcom/audio/configs/msmpeafowl/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
- hardware/qcom/audio/configs/msmpeafowl/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
- hardware/qcom/audio/configs/msmpeafowl/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
- hardware/qcom/audio/configs/msmpeafowl/sound_trigger_mixer_paths_wcd9335.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9335.xml \
- hardware/qcom/audio/configs/msmpeafowl/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \
- hardware/qcom/audio/configs/msmpeafowl/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \
- hardware/qcom/audio/configs/msmpeafowl/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \
+ hardware/qcom/audio/configs/sdm670/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
+ hardware/qcom/audio/configs/sdm670/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
+ hardware/qcom/audio/configs/sdm670/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml \
+ hardware/qcom/audio/configs/sdm670/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
+ hardware/qcom/audio/configs/sdm670/mixer_paths_mtp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_mtp.xml \
+ hardware/qcom/audio/configs/sdm670/mixer_paths_tasha.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tasha.xml \
+ hardware/qcom/audio/configs/sdm670/mixer_paths_tashalite.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tashalite.xml \
+ hardware/qcom/audio/configs/sdm670/mixer_paths_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_i2s.xml \
+ hardware/qcom/audio/configs/sdm670/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
+ hardware/qcom/audio/configs/sdm670/audio_tuning_mixer_tavil.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tavil.txt \
+ hardware/qcom/audio/configs/sdm670/audio_tuning_mixer_tasha.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tasha.txt \
+ hardware/qcom/audio/configs/sdm670/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_intcodec.xml \
+ hardware/qcom/audio/configs/sdm670/audio_platform_info_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_i2s.xml \
+ hardware/qcom/audio/configs/sdm670/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
+ hardware/qcom/audio/configs/sdm670/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml \
+ hardware/qcom/audio/configs/sdm670/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
+ hardware/qcom/audio/configs/sdm670/sound_trigger_mixer_paths_wcd9335.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9335.xml \
+ hardware/qcom/audio/configs/sdm670/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \
+ hardware/qcom/audio/configs/sdm670/sound_trigger_mixer_paths_wcd9340.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_wcd9340.xml \
+ hardware/qcom/audio/configs/sdm670/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \
#XML Audio configuration files
ifeq ($(USE_XML_AUDIO_POLICY_CONF), 1)
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
PRODUCT_COPY_FILES += \
- $(TOPDIR)hardware/qcom/audio/configs/msmpeafowl/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml
+ $(TOPDIR)hardware/qcom/audio/configs/sdm670/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml
endif
PRODUCT_COPY_FILES += \
$(TOPDIR)hardware/qcom/audio/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
@@ -117,7 +117,7 @@
# Listen configuration file
PRODUCT_COPY_FILES += \
- hardware/qcom/audio/configs/msmpeafowl/listen_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/listen_platform_info.xml
+ hardware/qcom/audio/configs/sdm670/listen_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/listen_platform_info.xml
# Reduce client buffer size for fast audio output tracks
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/msmpeafowl/sound_trigger_mixer_paths.xml b/configs/sdm670/sound_trigger_mixer_paths.xml
similarity index 100%
rename from configs/msmpeafowl/sound_trigger_mixer_paths.xml
rename to configs/sdm670/sound_trigger_mixer_paths.xml
diff --git a/configs/msmpeafowl/sound_trigger_mixer_paths_wcd9335.xml b/configs/sdm670/sound_trigger_mixer_paths_wcd9335.xml
similarity index 100%
rename from configs/msmpeafowl/sound_trigger_mixer_paths_wcd9335.xml
rename to configs/sdm670/sound_trigger_mixer_paths_wcd9335.xml
diff --git a/configs/msmpeafowl/sound_trigger_mixer_paths_wcd9340.xml b/configs/sdm670/sound_trigger_mixer_paths_wcd9340.xml
similarity index 100%
rename from configs/msmpeafowl/sound_trigger_mixer_paths_wcd9340.xml
rename to configs/sdm670/sound_trigger_mixer_paths_wcd9340.xml
diff --git a/configs/msmpeafowl/sound_trigger_platform_info.xml b/configs/sdm670/sound_trigger_platform_info.xml
similarity index 100%
rename from configs/msmpeafowl/sound_trigger_platform_info.xml
rename to configs/sdm670/sound_trigger_platform_info.xml
diff --git a/configs/sdm845/audio_policy_configuration.xml b/configs/sdm845/audio_policy_configuration.xml
index 655919b..d775641 100644
--- a/configs/sdm845/audio_policy_configuration.xml
+++ b/configs/sdm845/audio_policy_configuration.xml
@@ -335,7 +335,7 @@
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,Telephony Rx"/>
+ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,Telephony Rx"/>
<route type="mix" sink="surround_sound"
sources="Built-In Mic,Built-In Back Mic"/>
<route type="mix" sink="record_24"
diff --git a/configs/msmpeafowl/mixer_paths_tavil.xml b/configs/sdm845/mixer_paths_qvr.xml
similarity index 87%
copy from configs/msmpeafowl/mixer_paths_tavil.xml
copy to configs/sdm845/mixer_paths_qvr.xml
index 03b10f1..43d8dd9 100644
--- a/configs/msmpeafowl/mixer_paths_tavil.xml
+++ b/configs/sdm845/mixer_paths_qvr.xml
@@ -22,6 +22,7 @@
<!-- 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>
@@ -72,6 +73,9 @@
<ctl name="MultiMedia8 Mixer SLIM_0_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_4_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia1" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia3" value="0" />
@@ -88,9 +92,6 @@
<ctl name="DISPLAY_PORT Mixer MultiMedia14" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia15" value="0" />
<ctl name="DISPLAY_PORT Mixer MultiMedia16" value="0" />
- <ctl name="Display Port RX Bit Format" value="S16_LE" />
- <ctl name="Display Port RX SampleRate" value="KHZ_48" />
- <ctl name="Display Port RX Channels" value="Two" />
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia2" value="0" />
@@ -153,15 +154,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia14" value="0" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia15" value="0" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="0" />
- <ctl name="USB_AUDIO_RX Format" value="S16_LE" />
- <ctl name="USB_AUDIO_RX SampleRate" value="KHZ_48" />
- <ctl name="USB_AUDIO_RX Channels" value="Two" />
<ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="0" />
- <ctl name="USB_AUDIO_TX Format" value="S16_LE" />
- <ctl name="USB_AUDIO_TX SampleRate" value="KHZ_48" />
- <ctl name="USB_AUDIO_TX Channels" value="One" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
<ctl name="MultiMedia6 Mixer SLIM_0_TX" value="0" />
<ctl name="SLIM_2_RX Format" value="UNPACKED" />
<ctl name="SLIM_2_RX SampleRate" value="KHZ_48" />
@@ -191,9 +187,8 @@
<ctl name="SLIM_4_TX Format" value="UNPACKED" />
<ctl name="AANC_SLIM_0_RX MUX" value="ZERO" />
<!-- HFP start -->
- <ctl name="HFP_SLIM7_UL_HL Switch" value="0" />
+ <ctl name="HFP_PRI_AUX_UL_HL Switch" value="0" />
<ctl name="SLIMBUS_0_RX Port Mixer SLIM_7_TX" value="0" />
- <ctl name="SLIMBUS_6_RX Port Mixer SLIM_7_TX" value="0" />
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
@@ -471,27 +466,27 @@
<ctl name="ASRC1 Output Mode" value="INT" />
<!-- IIR/voice anc -->
- <ctl name="IIR0 Band1" id ="0" value="268435456" />
+ <ctl name="IIR0 Band1" id ="0" value="0" />
<ctl name="IIR0 Band1" id ="1" value="0" />
<ctl name="IIR0 Band1" id ="2" value="0" />
<ctl name="IIR0 Band1" id ="3" value="0" />
<ctl name="IIR0 Band1" id ="4" value="0" />
- <ctl name="IIR0 Band2" id ="0" value="268435456" />
+ <ctl name="IIR0 Band2" id ="0" value="0" />
<ctl name="IIR0 Band2" id ="1" value="0" />
<ctl name="IIR0 Band2" id ="2" value="0" />
<ctl name="IIR0 Band2" id ="3" value="0" />
<ctl name="IIR0 Band2" id ="4" value="0" />
- <ctl name="IIR0 Band3" id ="0" value="268435456" />
+ <ctl name="IIR0 Band3" id ="0" value="0" />
<ctl name="IIR0 Band3" id ="1" value="0" />
<ctl name="IIR0 Band3" id ="2" value="0" />
<ctl name="IIR0 Band3" id ="3" value="0" />
- <ctl name="IIR0 Band3" id ="4" value="268435456" />
+ <ctl name="IIR0 Band3" id ="4" value="0" />
<ctl name="IIR0 Band4" id ="0" value="0" />
<ctl name="IIR0 Band4" id ="1" value="0" />
<ctl name="IIR0 Band4" id ="2" value="0" />
<ctl name="IIR0 Band4" id ="3" value="0" />
<ctl name="IIR0 Band4" id ="4" value="0" />
- <ctl name="IIR0 Band5" id ="0" value="268435456" />
+ <ctl name="IIR0 Band5" id ="0" value="0" />
<ctl name="IIR0 Band5" id ="1" value="0" />
<ctl name="IIR0 Band5" id ="2" value="0" />
<ctl name="IIR0 Band5" id ="3" value="0" />
@@ -522,7 +517,15 @@
<!-- Codec controls end -->
+ <!-- mixer control to disable lowlatency qos voting -->
+ <ctl name="MultiMedia5_RX QOS Vote" value="Disable" />
+ <!-- mixer control to disable lowlatency qos voting end -->
+
<!-- These are audio route (FE to BE) specific mixer settings -->
+ <path name="gsm-mode">
+ <ctl name="GSM mode Enable" value="ON" />
+ </path>
+
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
</path>
@@ -586,6 +589,16 @@
<path name="deep-buffer-playback" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
<path name="low-latency-playback">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -638,6 +651,20 @@
<path name="low-latency-playback" />
</path>
+ <path name="low-latency-playback resume">
+ <ctl name="MultiMedia5_RX QOS Vote" value="Enable" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
<path name="audio-ull-playback">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="1" />
</path>
@@ -685,6 +712,16 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -757,6 +794,16 @@
<path name="compress-offload-playback" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback2">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -813,6 +860,16 @@
<path name="compress-offload-playback2" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
<path name="compress-offload-playback3">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -869,6 +926,16 @@
<path name="compress-offload-playback3" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
<path name="compress-offload-playback4">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -926,6 +993,16 @@
<path name="compress-offload-playback4" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
<path name="compress-offload-playback5">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -982,6 +1059,16 @@
<path name="compress-offload-playback5" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
<path name="compress-offload-playback6">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -1038,6 +1125,16 @@
<path name="compress-offload-playback6" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
<path name="compress-offload-playback7">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia14" value="1" />
</path>
@@ -1094,6 +1191,16 @@
<path name="compress-offload-playback7" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
<path name="compress-offload-playback8">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia15" value="1" />
</path>
@@ -1150,6 +1257,16 @@
<path name="compress-offload-playback8" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
<path name="compress-offload-playback9">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia16" value="1" />
</path>
@@ -1206,6 +1323,16 @@
<path name="compress-offload-playback9" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
<path name="audio-record">
<ctl name="MultiMedia1 Mixer SLIM_0_TX" value="1" />
</path>
@@ -1404,28 +1531,16 @@
</path>
<path name="hfp-sco">
- <ctl name="HFP_SLIM7_UL_HL Switch" value="1" />
- <ctl name="SLIMBUS_0_RX Port Mixer SLIM_7_TX" value="1" />
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia6" value="1" />
- <ctl name="MultiMedia6 Mixer SLIM_0_TX" value="1" />
- <ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
<path name="hfp-sco headphones">
- <ctl name="HFP_SLIM7_UL_HL Switch" value="1" />
- <ctl name="SLIMBUS_6_RX Port Mixer SLIM_7_TX" value="1" />
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia6" value="1" />
- <ctl name="MultiMedia6 Mixer SLIM_0_TX" value="1" />
- <ctl name="SLIMBUS6_DL_HL Switch" value="1" />
</path>
<path name="hfp-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="hfp-sco" />
</path>
<path name="hfp-sco-wb headphones">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="hfp-sco headphones" />
</path>
@@ -1434,16 +1549,12 @@
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
</path>
- <path name="compress-voip-call bt-a2dp">
- <ctl name="SLIM_7_RX_Voice Mixer Voip" value="1" />
- <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
- </path>
-
<path name="compress-voip-call headphones">
<ctl name="SLIM_6_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
</path>
+
<path name="compress-voip-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer SLIM_7_TX_Voip" value="1" />
@@ -1539,6 +1650,62 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-playback-voip bt-sco" />
+ </path>
+
+ <path name="audio-playback-voip afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco">
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="audio-record-voip bt-sco" />
+ </path>
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
@@ -1677,6 +1844,31 @@
</path>
<path name="sidetone-iir">
+ <ctl name="IIR0 Band1" id ="0" value="268435456" />
+ <ctl name="IIR0 Band1" id ="1" value="0" />
+ <ctl name="IIR0 Band1" id ="2" value="0" />
+ <ctl name="IIR0 Band1" id ="3" value="0" />
+ <ctl name="IIR0 Band1" id ="4" value="0" />
+ <ctl name="IIR0 Band2" id ="0" value="268435456" />
+ <ctl name="IIR0 Band2" id ="1" value="0" />
+ <ctl name="IIR0 Band2" id ="2" value="0" />
+ <ctl name="IIR0 Band2" id ="3" value="0" />
+ <ctl name="IIR0 Band2" id ="4" value="0" />
+ <ctl name="IIR0 Band3" id ="0" value="268435456" />
+ <ctl name="IIR0 Band3" id ="1" value="0" />
+ <ctl name="IIR0 Band3" id ="2" value="0" />
+ <ctl name="IIR0 Band3" id ="3" value="0" />
+ <ctl name="IIR0 Band3" id ="4" value="0" />
+ <ctl name="IIR0 Band4" id ="0" value="268435456" />
+ <ctl name="IIR0 Band4" id ="1" value="0" />
+ <ctl name="IIR0 Band4" id ="2" value="0" />
+ <ctl name="IIR0 Band4" id ="3" value="0" />
+ <ctl name="IIR0 Band4" id ="4" value="0" />
+ <ctl name="IIR0 Band5" id ="0" value="268435456" />
+ <ctl name="IIR0 Band5" id ="1" value="0" />
+ <ctl name="IIR0 Band5" id ="2" value="0" />
+ <ctl name="IIR0 Band5" id ="3" value="0" />
+ <ctl name="IIR0 Band5" id ="4" value="0" />
<ctl name="IIR0 Enable Band1" value="1" />
<ctl name="IIR0 Enable Band2" value="1" />
<ctl name="IIR0 Enable Band3" value="1" />
@@ -1694,7 +1886,7 @@
<path name="sidetone-handset">
<path name="sidetone-iir" />
<ctl name="IIR0 INP0 Volume" value="54" />
- <ctl name="RX INT7 MIX2 INP" value="SRC0" />
+ <ctl name="RX INT0 MIX2 INP" value="SRC0" />
</path>
<path name="afe-sidetone">
@@ -1751,16 +1943,20 @@
<ctl name="SLIM RX0 MUX" value="AIF1_PB" />
<ctl name="CDC_IF RX0 MUX" value="SLIM RX0" />
<ctl name="SLIM_0_RX Channels" value="One" />
- <ctl name="RX INT7_1 MIX1 INP0" value="RX0" />
- <ctl name="COMP7 Switch" value="1" />
- <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="RX INT0_1 MIX1 INP0" value="RX0" />
+ <ctl name="EAR PA Gain" value="G_6_DB" />
+ </path>
+
+ <path name="handset-qrd">
+ <ctl name="SLIM RX0 MUX" value="AIF1_PB" />
+ <ctl name="CDC_IF RX0 MUX" value="SLIM RX0" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
+ <ctl name="EAR PA Gain" value="G_6_DB" />
</path>
<path name="handset-mic">
- <path name="dmic3" />
+ <path name="dmic4" />
</path>
<path name="handset-mic-db">
@@ -1874,10 +2070,22 @@
<path name="handset" />
</path>
+ <path name="voice-handset-qrd">
+ <path name="handset-qrd" />
+ </path>
+
+ <path name="voice-handset-tmus-qrd">
+ <path name="handset-qrd" />
+ </path>
+
<path name="voice-speaker">
<path name="speaker-mono" />
</path>
+ <path name="voice-speaker-qrd">
+ <path name="speaker-mono-2" />
+ </path>
+
<path name="voice-speaker-2">
<path name="speaker-mono-2" />
</path>
@@ -1947,8 +2155,8 @@
<ctl name="ADC4 Volume" value="8" />
<ctl name="RX INT1_1 MIX1 INP0" value="RX2" />
<ctl name="RX INT2_1 MIX1 INP0" value="RX3" />
- <ctl name="RX1 Digital Volume" value="84" />
- <ctl name="RX2 Digital Volume" value="84" />
+ <ctl name="RX1 Digital Volume" value="81" />
+ <ctl name="RX2 Digital Volume" value="81" />
<ctl name="ANC OUT HPHL Enable Switch" value="1" />
<ctl name="ANC OUT HPHR Enable Switch" value="1" />
</path>
@@ -2042,9 +2250,6 @@
<ctl name="DMIC MUX7" value="DMIC0" />
<ctl name="IIR0 INP0 MUX" value="DEC6" />
</path>
- <path name="aanc-fluence-dmic-handset">
- <path name="aanc-handset-mic" />
- </path>
<!-- Dual MIC devices -->
<path name="handset-dmic-endfire">
@@ -2052,10 +2257,10 @@
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="DMIC" />
- <ctl name="DMIC MUX7" value="DMIC2" />
+ <ctl name="DMIC MUX7" value="DMIC1" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC4" />
+ <ctl name="DMIC MUX8" value="DMIC3" />
<ctl name="SLIM_0_TX Channels" value="Two" />
</path>
@@ -2067,7 +2272,7 @@
<ctl name="DMIC MUX7" value="DMIC1" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="DMIC" />
- <ctl name="DMIC MUX8" value="DMIC5" />
+ <ctl name="DMIC MUX8" value="DMIC3" />
<ctl name="SLIM_0_TX Channels" value="Two" />
</path>
@@ -2217,6 +2422,11 @@
<path name="handset" />
</path>
+ <path name="voice-tty-hco-handset-qrd">
+ <ctl name="TTY Mode" value="HCO" />
+ <path name="handset-qrd" />
+ </path>
+
<path name="voice-tty-full-headset-mic">
<path name="amic2" />
<ctl name="ADC2 Volume" value="0" />
@@ -2386,4 +2596,82 @@
<path name="audio-ull-playback bt-a2dp" />
<path name="audio-ull-playback" />
</path>
+
+ <path name="mmap-playback">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-playback headphones">
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-playback speaker-and-headphones">
+ <path name="mmap-playback" />
+ <path name="mmap-playback headphones" />
+ </path>
+
+ <path name="mmap-playback bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-playback bt-sco-wb">
+ <ctl name="BT SampleRate" value="16000" />
+ <path name="mmap-playback bt-sco" />
+ </path>
+
+ <path name="mmap-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-playback usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-playback usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-buffer-playback hdmi">
+ <ctl name="HDMI Mixer MultiMedia16" value="1" />
+ </path>
+
+ <path name="mmap-playback speaker-and-hdmi">
+ <path name="mmap-playback hdmi" />
+ <path name="mmap-playback" />
+ </path>
+
+ <path name="mmap-playback speaker-and-display-port">
+ <path name="mmap-playback display-port" />
+ <path name="mmap-playback" />
+ </path>
+
+ <path name="mmap-playback speaker-and-usb-headphones">
+ <path name="mmap-playback usb-headphones" />
+ <path name="mmap-playback" />
+ </path>
+
+ <path name="mmap-record">
+ <ctl name="MultiMedia16 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="mmap-record bt-sco">
+ <ctl name="MultiMedia16 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="mmap-record bt-sco-wb">
+ <ctl name="BT SampleRate" value="KHZ_16" />
+ <path name="mmap-record bt-sco" />
+ </path>
+
+ <path name="mmap-record capture-fm">
+ <ctl name="MultiMedia16 Mixer SLIM_8_TX" value="1" />
+ </path>
+
+ <path name="mmap-record usb-headset-mic">
+ <ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="1" />
+ </path>
</mixer>
diff --git a/configs/sdm845/sdm845.mk b/configs/sdm845/sdm845.mk
index 92c22de..7d3a51f 100644
--- a/configs/sdm845/sdm845.mk
+++ b/configs/sdm845/sdm845.mk
@@ -79,6 +79,7 @@
hardware/qcom/audio/configs/sdm845/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
hardware/qcom/audio/configs/sdm845/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml \
hardware/qcom/audio/configs/sdm845/mixer_paths_skuk.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_skuk.xml \
+ hardware/qcom/audio/configs/sdm845/mixer_paths_qvr.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qvr.xml \
hardware/qcom/audio/configs/sdm845/mixer_paths_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_i2s.xml \
hardware/qcom/audio/configs/sdm845/audio_tuning_mixer_tavil.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer_tavil.txt \
hardware/qcom/audio/configs/sdm845/audio_platform_info_i2s.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_i2s.xml \
diff --git a/hal/Android.mk b/hal/Android.mk
index db65517..d2ef726 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -8,7 +8,7 @@
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter msm8974 msm8226 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 msmpeafowl,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8974 msm8226 msm8610 apq8084 msm8994 msm8992 msm8996 msm8998 apq8098_latv sdm845 sdm670,$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM = msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -36,7 +36,7 @@
ifneq ($(filter sdm845,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_SDM845
endif
-ifneq ($(filter msmpeafowl,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm670,$(TARGET_BOARD_PLATFORM)),)
LOCAL_CFLAGS := -DPLATFORM_SDM670
endif
endif
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
index 2726d40..c30f982 100644
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -96,7 +96,7 @@
#endif
#ifndef AUDIO_FORMAT_AC4
-#define AUDIO_FORMAT_AC4 0x23000000UL
+#define AUDIO_FORMAT_AC4 0x22000000UL
#endif
#ifndef AUDIO_OUTPUT_FLAG_MAIN
diff --git a/hal/audio_extn/usb.c b/hal/audio_extn/usb.c
index 5327973..7b0309b 100644
--- a/hal/audio_extn/usb.c
+++ b/hal/audio_extn/usb.c
@@ -53,7 +53,7 @@
#define SAMPLE_RATE_11025 11025
// Supported sample rates for USB
static uint32_t supported_sample_rates[] =
- {44100, 48000, 64000, 88200, 96000, 176400, 192000, 352800, 384000};
+ {8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 176400, 192000, 352800, 384000};
#define MAX_SAMPLE_RATE_SIZE sizeof(supported_sample_rates)/sizeof(supported_sample_rates[0])
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index 3923818..8ee5948 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -822,7 +822,7 @@
&adev->streams_output_cfg_list,
usecase->stream.out->devices,
usecase->stream.out->flags,
- usecase->stream.out->format,
+ usecase->stream.out->hal_op_format,
usecase->stream.out->sample_rate,
usecase->stream.out->bit_width,
usecase->stream.out->channel_mask,
@@ -986,7 +986,7 @@
if (s_info->flags.out_flags == AUDIO_OUTPUT_FLAG_DIRECT)
direct_app_type = s_info->app_type_cfg.app_type;
}
- if (usecase->stream.out->flags == AUDIO_OUTPUT_FLAG_INTERACTIVE)
+ if (usecase->stream.out->flags & AUDIO_OUTPUT_FLAG_INTERACTIVE)
app_type = direct_app_type;
else
app_type = usecase->stream.out->app_type_cfg.app_type;
@@ -2302,7 +2302,7 @@
int ret = -EINVAL, i = 0, j = 0;
struct audio_usecase *usecase = NULL;
- if (mm_params == NULL && out != NULL) {
+ if (mm_params == NULL || out == NULL) {
ALOGE("%s:: Invalid mix matrix params", __func__);
goto exit;
}
@@ -2314,6 +2314,11 @@
goto exit;
usecase = get_usecase_from_list(out->dev, out->usecase);
+ if (usecase == NULL) {
+ ALOGE("%s: Invalid usecase", __func__);
+ goto exit;
+ }
+
out->downmix_params.num_output_channels = mm_params->num_output_channels;
out->downmix_params.num_input_channels = mm_params->num_input_channels;
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index f062efe..4b698b8 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2797,6 +2797,10 @@
if (ret == 0) {
register_out_stream(out);
if (out->realtime) {
+ if (out->pcm == NULL || !pcm_is_ready(out->pcm)) {
+ ALOGE("%s: pcm stream not ready", __func__);
+ goto error_open;
+ }
ret = pcm_start(out->pcm);
if (ret < 0)
goto error_open;
@@ -3379,7 +3383,7 @@
lock_output_stream(out);
audio_extn_utils_update_stream_output_app_type_cfg(adev->platform,
&adev->streams_output_cfg_list,
- out->devices, out->flags, out->format,
+ out->devices, out->flags, out->hal_op_format,
out->sample_rate, out->bit_width,
out->channel_mask, out->profile,
&out->app_type_cfg);
@@ -4897,8 +4901,8 @@
struct stream_in *in = (struct stream_in *)stream;
struct audio_device *adev = in->dev;
int ret = 0;
- unsigned int offset1;
- unsigned int frames1;
+ unsigned int offset1 = 0;
+ unsigned int frames1 = 0;
const char *step = "";
pthread_mutex_lock(&adev->lock);
@@ -5036,7 +5040,7 @@
out->flags = flags;
out->devices = devices;
out->dev = adev;
- format = out->format = config->format;
+ out->hal_op_format = out->hal_ip_format = format = out->format = config->format;
out->sample_rate = config->sample_rate;
out->channel_mask = config->channel_mask;
if (out->channel_mask == AUDIO_CHANNEL_NONE)
@@ -5465,7 +5469,7 @@
out->bit_width = 16;
audio_extn_utils_update_stream_output_app_type_cfg(adev->platform,
&adev->streams_output_cfg_list,
- devices, out->flags, format, out->sample_rate,
+ devices, out->flags, out->hal_op_format, out->sample_rate,
out->bit_width, out->channel_mask, out->profile,
&out->app_type_cfg);
if ((out->usecase == USECASE_AUDIO_PLAYBACK_PRIMARY) ||
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index f8c0aba..d000a7d 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -5383,49 +5383,68 @@
char *rate_str = NULL;
struct mixer_ctl *ctl = NULL;
- switch (sample_rate) {
- case 32000:
- if (passthrough_enabled) {
- rate_str = "KHZ_32";
+ if (backend_idx == USB_AUDIO_RX_BACKEND ||
+ backend_idx == USB_AUDIO_TX_BACKEND) {
+ switch (sample_rate) {
+ case 32000:
+ rate_str = "KHZ_32";
+ break;
+ case 8000:
+ rate_str = "KHZ_8";
+ break;
+ case 11025:
+ rate_str = "HZ_11P025";
+ break;
+ case 16000:
+ rate_str = "KHZ_16";
+ break;
+ case 22050:
+ rate_str = "KHZ_22P05";
+ break;
+ }
+ }
+
+ if (rate_str == NULL) {
+ switch (sample_rate) {
+ case 32000:
+ if (passthrough_enabled) {
+ rate_str = "KHZ_32";
+ break;
+ }
+ case 48000:
+ rate_str = "KHZ_48";
+ break;
+ case 44100:
+ rate_str = "KHZ_44P1";
+ break;
+ case 64000:
+ case 96000:
+ rate_str = "KHZ_96";
+ break;
+ case 88200:
+ rate_str = "KHZ_88P2";
+ break;
+ case 176400:
+ rate_str = "KHZ_176P4";
+ break;
+ case 192000:
+ rate_str = "KHZ_192";
+ break;
+ case 352800:
+ rate_str = "KHZ_352P8";
+ break;
+ case 384000:
+ rate_str = "KHZ_384";
+ break;
+ case 144000:
+ if (passthrough_enabled) {
+ rate_str = "KHZ_144";
+ break;
+ }
+ default:
+ rate_str = "KHZ_48";
break;
}
- case 8000:
- case 11025:
- case 16000:
- case 22050:
- case 48000:
- rate_str = "KHZ_48";
- break;
- case 44100:
- rate_str = "KHZ_44P1";
- break;
- case 64000:
- case 96000:
- rate_str = "KHZ_96";
- break;
- case 88200:
- rate_str = "KHZ_88P2";
- break;
- case 176400:
- rate_str = "KHZ_176P4";
- break;
- case 192000:
- rate_str = "KHZ_192";
- break;
- case 352800:
- rate_str = "KHZ_352P8";
- break;
- case 384000:
- rate_str = "KHZ_384";
- break;
- case 144000:
- if (passthrough_enabled) {
- rate_str = "KHZ_144";
- break;
- }
- default:
- rate_str = "KHZ_48";
- break;
}
ctl = mixer_get_ctl_by_name(adev->mixer,
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index ec99fe3..dfe39a3 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -5259,49 +5259,68 @@
char *rate_str = NULL;
struct mixer_ctl *ctl = NULL;
- switch (sample_rate) {
- case 32000:
- if (passthrough_enabled) {
- rate_str = "KHZ_32";
+ if (backend_idx == USB_AUDIO_RX_BACKEND ||
+ backend_idx == USB_AUDIO_TX_BACKEND) {
+ switch (sample_rate) {
+ case 32000:
+ rate_str = "KHZ_32";
+ break;
+ case 8000:
+ rate_str = "KHZ_8";
+ break;
+ case 11025:
+ rate_str = "HZ_11P025";
+ break;
+ case 16000:
+ rate_str = "KHZ_16";
+ break;
+ case 22050:
+ rate_str = "KHZ_22P05";
+ break;
+ }
+ }
+
+ if (rate_str == NULL) {
+ switch (sample_rate) {
+ case 32000:
+ if (passthrough_enabled) {
+ rate_str = "KHZ_32";
+ break;
+ }
+ case 48000:
+ rate_str = "KHZ_48";
+ break;
+ case 44100:
+ rate_str = "KHZ_44P1";
+ break;
+ case 64000:
+ case 96000:
+ rate_str = "KHZ_96";
+ break;
+ case 88200:
+ rate_str = "KHZ_88P2";
+ break;
+ case 176400:
+ rate_str = "KHZ_176P4";
+ break;
+ case 192000:
+ rate_str = "KHZ_192";
+ break;
+ case 352800:
+ rate_str = "KHZ_352P8";
+ break;
+ case 384000:
+ rate_str = "KHZ_384";
+ break;
+ case 144000:
+ if (passthrough_enabled) {
+ rate_str = "KHZ_144";
+ break;
+ }
+ default:
+ rate_str = "KHZ_48";
break;
}
- case 8000:
- case 11025:
- case 16000:
- case 22050:
- case 48000:
- rate_str = "KHZ_48";
- break;
- case 44100:
- rate_str = "KHZ_44P1";
- break;
- case 64000:
- case 96000:
- rate_str = "KHZ_96";
- break;
- case 88200:
- rate_str = "KHZ_88P2";
- break;
- case 176400:
- rate_str = "KHZ_176P4";
- break;
- case 192000:
- rate_str = "KHZ_192";
- break;
- case 352800:
- rate_str = "KHZ_352P8";
- break;
- case 384000:
- rate_str = "KHZ_384";
- break;
- case 144000:
- if (passthrough_enabled) {
- rate_str = "KHZ_144";
- break;
- }
- default:
- rate_str = "KHZ_48";
- break;
}
ctl = mixer_get_ctl_by_name(adev->mixer,
diff --git a/post_proc/Android.mk b/post_proc/Android.mk
index 13ee389..cbc5f8e 100644
--- a/post_proc/Android.mk
+++ b/post_proc/Android.mk
@@ -84,7 +84,7 @@
################################################################################
-ifneq ($(filter msm8992 msm8994 msm8996 msm8998 sdm660 sdm845 apq8098_latv msmpeafowl,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter msm8992 msm8994 msm8996 msm8998 sdm660 sdm845 apq8098_latv sdm670,$(TARGET_BOARD_PLATFORM)),)
include $(CLEAR_VARS)
diff --git a/post_proc/equalizer.c b/post_proc/equalizer.c
index 45f8eb8..c1c1303 100644
--- a/post_proc/equalizer.c
+++ b/post_proc/equalizer.c
@@ -366,6 +366,7 @@
equalizer_context_t *eq_ctxt = (equalizer_context_t *)context;
int voffset = ((p->psize - 1) / sizeof(int32_t) + 1) * sizeof(int32_t);
void *value = p->data + voffset;
+ int32_t vsize = (int32_t) p->vsize;
int32_t *param_tmp = (int32_t *)p->data;
int32_t param = *param_tmp++;
int32_t preset;
@@ -379,6 +380,10 @@
switch (param) {
case EQ_PARAM_CUR_PRESET:
+ if (vsize < sizeof(int16_t)) {
+ p->status = -EINVAL;
+ break;
+ }
preset = (int32_t)(*(uint16_t *)value);
if ((preset >= equalizer_get_num_presets(eq_ctxt)) || (preset < 0)) {
@@ -388,6 +393,10 @@
equalizer_set_preset(eq_ctxt, preset);
break;
case EQ_PARAM_BAND_LEVEL:
+ if (vsize < sizeof(int16_t)) {
+ p->status = -EINVAL;
+ break;
+ }
band = *param_tmp;
level = (int32_t)(*(int16_t *)value);
if (band < 0 || band >= NUM_EQ_BANDS) {
@@ -401,6 +410,10 @@
equalizer_set_band_level(eq_ctxt, band, level);
break;
case EQ_PARAM_PROPERTIES: {
+ if (vsize < sizeof(int16_t)) {
+ p->status = -EINVAL;
+ break;
+ }
int16_t *prop = (int16_t *)value;
if ((int)prop[0] >= equalizer_get_num_presets(eq_ctxt)) {
p->status = -EINVAL;
@@ -409,6 +422,13 @@
if (prop[0] >= 0) {
equalizer_set_preset(eq_ctxt, (int)prop[0]);
} else {
+ if (vsize < (2 + NUM_EQ_BANDS) * sizeof(int16_t)) {
+ android_errorWriteLog(0x534e4554, "37563371");
+ ALOGE("\tERROR EQ_PARAM_PROPERTIES valueSize %d < %d",
+ vsize, (2 + NUM_EQ_BANDS) * sizeof(int16_t));
+ p->status = -EINVAL;
+ break;
+ }
if ((int)prop[1] != NUM_EQ_BANDS) {
p->status = -EINVAL;
break;