Merge "configs: remove device loopback entries from policy XML files" into audio-userspace.lnx.2.1-dev
diff --git a/configs/msm8937/audio_platform_info_extcodec.xml b/configs/msm8937/audio_platform_info_extcodec.xml
index 1fceb8e..fa38c4f 100644
--- a/configs/msm8937/audio_platform_info_extcodec.xml
+++ b/configs/msm8937/audio_platform_info_extcodec.xml
@@ -48,6 +48,8 @@
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="36"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="36"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="37"/>
+ <usecase name="USECASE_QCHAT_CALL" type="in" id="42"/>
+ <usecase name="USECASE_QCHAT_CALL" type="out" id="42"/>
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.11"/>
diff --git a/configs/msm8937/mixer_paths_wcd9326.xml b/configs/msm8937/mixer_paths_wcd9326.xml
index 963dfea..8bd3ef6 100644
--- a/configs/msm8937/mixer_paths_wcd9326.xml
+++ b/configs/msm8937/mixer_paths_wcd9326.xml
@@ -455,6 +455,9 @@
<ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
<ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
<ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="0" />
<!-- QCHAT end-->
<!-- VoWLAN start -->
@@ -1567,6 +1570,46 @@
<path name="compress-voip-call"/>
</path>
+ <path name="qchat-call">
+ <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="qchat-call bt-sco" />
+ </path>
+
+ <path name="qchat-call headphones">
+ <ctl name="SLIM_6_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call vbat-voice-speaker">
+ <path name="echo-reference vbat-speaker-mono" />
+ <path name="qchat-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" />
diff --git a/configs/msm8937/mixer_paths_wcd9335.xml b/configs/msm8937/mixer_paths_wcd9335.xml
index e579d40..95e1f41 100644
--- a/configs/msm8937/mixer_paths_wcd9335.xml
+++ b/configs/msm8937/mixer_paths_wcd9335.xml
@@ -460,6 +460,9 @@
<ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
<ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
<ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="0" />
<!-- QCHAT end-->
<!-- VoWLAN start -->
@@ -1586,6 +1589,46 @@
<path name="compress-voip-call"/>
</path>
+ <path name="qchat-call">
+ <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="qchat-call bt-sco" />
+ </path>
+
+ <path name="qchat-call headphones">
+ <ctl name="SLIM_6_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call vbat-voice-speaker">
+ <path name="echo-reference vbat-speaker-mono" />
+ <path name="qchat-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" />
diff --git a/configs/msm8953/audio_platform_info_extcodec.xml b/configs/msm8953/audio_platform_info_extcodec.xml
index d06c6be..cf68190 100644
--- a/configs/msm8953/audio_platform_info_extcodec.xml
+++ b/configs/msm8953/audio_platform_info_extcodec.xml
@@ -47,6 +47,8 @@
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="35"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="36"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="36"/>
+ <usecase name="USECASE_QCHAT_CALL" type="in" id="42"/>
+ <usecase name="USECASE_QCHAT_CALL" type="out" id="42"/>
</pcm_ids>
<config_params>
<param key="native_audio_mode" value="src"/>
diff --git a/configs/msm8953/mixer_paths_wcd9326.xml b/configs/msm8953/mixer_paths_wcd9326.xml
index 836610b..bf974cb 100644
--- a/configs/msm8953/mixer_paths_wcd9326.xml
+++ b/configs/msm8953/mixer_paths_wcd9326.xml
@@ -458,6 +458,9 @@
<ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
<ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
<ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="0" />
<!-- QCHAT end-->
<!-- VoWLAN start -->
@@ -1570,6 +1573,46 @@
<path name="compress-voip-call"/>
</path>
+ <path name="qchat-call">
+ <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="qchat-call bt-sco" />
+ </path>
+
+ <path name="qchat-call headphones">
+ <ctl name="SLIM_6_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call vbat-voice-speaker">
+ <path name="echo-reference vbat-speaker-mono" />
+ <path name="qchat-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" />
diff --git a/configs/msm8953/mixer_paths_wcd9335.xml b/configs/msm8953/mixer_paths_wcd9335.xml
index 657198f..1eb65b9 100644
--- a/configs/msm8953/mixer_paths_wcd9335.xml
+++ b/configs/msm8953/mixer_paths_wcd9335.xml
@@ -462,6 +462,9 @@
<ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
<ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
<ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="0" />
<!-- QCHAT end-->
<!-- VoWLAN start -->
@@ -1588,6 +1591,46 @@
<path name="compress-voip-call"/>
</path>
+ <path name="qchat-call">
+ <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="qchat-call bt-sco" />
+ </path>
+
+ <path name="qchat-call headphones">
+ <ctl name="SLIM_6_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer AFE_PCM_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call vbat-voice-speaker">
+ <path name="echo-reference vbat-speaker-mono" />
+ <path name="qchat-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" />
diff --git a/configs/msm8996/msm8996.mk b/configs/msm8996/msm8996.mk
index d0ddf24..3b83c24 100644
--- a/configs/msm8996/msm8996.mk
+++ b/configs/msm8996/msm8996.mk
@@ -120,7 +120,7 @@
#Buffer size in kbytes for compress offload playback
PRODUCT_PROPERTY_OVERRIDES += \
-audio.offload.buffer.size.kb=32
+audio.offload.buffer.size.kb=64
#Enable offload audio video playback by default
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/msmcobalt/audio_platform_info.xml b/configs/msmcobalt/audio_platform_info.xml
index 53c752f..512e8ee 100644
--- a/configs/msmcobalt/audio_platform_info.xml
+++ b/configs/msmcobalt/audio_platform_info.xml
@@ -47,24 +47,18 @@
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="2"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="19"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="19"/>
- <usecase name="USECASE_VOICE_CALL" type="in" id="43"/>
- <usecase name="USECASE_VOICE_CALL" type="out" id="43"/>
- <usecase name="USECASE_VOICE2_CALL" type="in" id="44"/>
- <usecase name="USECASE_VOICE2_CALL" type="out" id="44"/>
- <usecase name="USECASE_VOLTE_CALL" type="in" id="-1"/>
- <usecase name="USECASE_VOLTE_CALL" type="out" id="-1"/>
- <usecase name="USECASE_QCHAT_CALL" type="in" id="-1"/>
- <usecase name="USECASE_QCHAT_CALL" type="out" id="-1"/>
<usecase name="USECASE_VOWLAN_CALL" type="in" id="-1"/>
<usecase name="USECASE_VOWLAN_CALL" type="out" id="-1"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="out" id="5"/>
<usecase name="USECASE_AUDIO_PLAYBACK_FM" type="in" id="34"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_RX" type="out" id="5"/>
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="35"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="6"/>
+ <usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="7"/>
</pcm_ids>
<config_params>
- <param key="spkr_1_tz_name" value="wsatz.11"/>
- <param key="spkr_2_tz_name" value="wsatz.12"/>
+ <param key="spkr_1_tz_name" value="wsatz.13"/>
+ <param key="spkr_2_tz_name" value="wsatz.14"/>
<!-- In the below value string, first parameter indicates size -->
<!-- followed by perf lock options -->
<param key="perf_lock_opts" value="4, 0x101, 0x704, 0x20F, 0x1E01"/>
diff --git a/configs/msmcobalt/mixer_paths.xml b/configs/msmcobalt/mixer_paths.xml
index 1a895fe..8fb14cc 100644
--- a/configs/msmcobalt/mixer_paths.xml
+++ b/configs/msmcobalt/mixer_paths.xml
@@ -220,46 +220,6 @@
<ctl name="MultiMedia2 Mixer TERT_MI2S_TX" value="0" />
<!-- fm end -->
- <!-- Voice -->
- <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="0" />
- <!-- Voice HDMI -->
- <ctl name="HDMI_RX_Voice Mixer CSVoice" value="0" />
- <!-- Voice BTSCO -->
- <ctl name="AUX PCM SampleRate" value="8000" />
- <ctl name="AUX_PCM_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer AUX_PCM_TX_Voice" value="0" />
- <!-- Voice USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="0" />
- <!-- Voice end-->
-
- <!-- Voice2 -->
- <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="0" />
- <!-- Voice2 HDMI -->
- <ctl name="HDMI_RX_Voice Mixer Voice2" value="0" />
- <!-- Voice2 BTSCO -->
- <ctl name="AUX_PCM_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer AUX_PCM_TX_Voice2" value="0" />
- <!-- Voice2 USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
- <!-- Voice2 end-->
-
- <!-- VoLTE -->
- <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="0" />
- <!-- VoLTE HDMI -->
- <ctl name="HDMI_RX_Voice Mixer VoLTE" value="0" />
- <!-- VoLTE BTSCO -->
- <ctl name="AUX_PCM_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer AUX_PCM_TX_VoLTE" value="0" />
- <!-- VoLTE USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="0" />
- <!-- VoLTE end-->
-
<!-- Multimode Voice1 -->
<ctl name="SLIM_0_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="0" />
@@ -312,13 +272,6 @@
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="0" />
<!-- compress-voip-call end-->
- <!-- QCHAT start -->
- <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
- <ctl name="AUX_PCM_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="QCHAT_Tx Mixer AUX_PCM_TX_QCHAT" value="0" />
- <!-- QCHAT end-->
-
<!-- VoWLAN start -->
<ctl name="SLIM_0_RX_Voice Mixer VoWLAN" value="0" />
<ctl name="VoWLAN_Tx Mixer SLIM_0_TX_VoWLAN" value="0" />
@@ -929,69 +882,6 @@
<path name="afe-proxy-record afe-proxy">
</path>
- <path name="voice-call">
- <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call bt-sco">
- <ctl name="AUX_PCM_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer AUX_PCM_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call bt-sco-wb">
- <ctl name="AUX PCM SampleRate" value="16000" />
- <path name="voice-call bt-sco" />
- </path>
-
- <path name="voice-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call usb-headphones">
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
- </path>
-
- <path name="voice2-call">
- <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call bt-sco">
- <ctl name="AUX_PCM_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer AUX_PCM_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call bt-sco-wb">
- <ctl name="AUX PCM SampleRate" value="16000" />
- <path name="voice2-call bt-sco" />
- </path>
-
- <path name="voice2-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call usb-headphones">
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call speaker-protected">
- </path>
-
<path name="play-fm">
<ctl name="Tert MI2S LOOPBACK Volume" value="1" />
<ctl name="SLIMBUS_0_RX Port Mixer TERT_MI2S_TX" value="1" />
@@ -1181,39 +1071,6 @@
<path name="hfp-sco" />
</path>
- <path name="volte-call">
- <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call bt-sco">
- <ctl name="AUX_PCM_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer AUX_PCM_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call bt-sco-wb">
- <ctl name="AUX PCM SampleRate" value="16000" />
- <path name="volte-call bt-sco" />
- </path>
-
- <path name="volte-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call usb-headphones">
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call speaker-protected">
- </path>
-
<path name="compress-voip-call">
<ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
@@ -1282,21 +1139,6 @@
<path name="spkr-vi-record">
</path>
- <path name="qchat-call">
- <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="1" />
- <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
- </path>
-
- <path name="qchat-call bt-sco">
- <ctl name="AUX_PCM_RX_Voice Mixer QCHAT" value="1" />
- <ctl name="QCHAT_Tx Mixer AUX_PCM_TX_QCHAT" value="1" />
- </path>
-
- <path name="qchat-call bt-sco-wb">
- <ctl name="AUX PCM SampleRate" value="16000" />
- <path name="qchat-call bt-sco" />
- </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" />
diff --git a/configs/msmcobalt/mixer_paths_dtp.xml b/configs/msmcobalt/mixer_paths_dtp.xml
index 811ecf6..9bcf15b 100644
--- a/configs/msmcobalt/mixer_paths_dtp.xml
+++ b/configs/msmcobalt/mixer_paths_dtp.xml
@@ -338,46 +338,6 @@
<ctl name="MultiMedia2 Mixer TERT_MI2S_TX" value="0" />
<!-- fm end -->
- <!-- Voice -->
- <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="0" />
- <!-- Voice HDMI -->
- <ctl name="HDMI_RX_Voice Mixer CSVoice" value="0" />
- <!-- Voice BTSCO -->
- <ctl name="AUX PCM SampleRate" value="8000" />
- <ctl name="AUX_PCM_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer AUX_PCM_TX_Voice" value="0" />
- <!-- Voice USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="0" />
- <!-- Voice end-->
-
- <!-- Voice2 -->
- <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="0" />
- <!-- Voice2 HDMI -->
- <ctl name="HDMI_RX_Voice Mixer Voice2" value="0" />
- <!-- Voice2 BTSCO -->
- <ctl name="AUX_PCM_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer AUX_PCM_TX_Voice2" value="0" />
- <!-- Voice2 USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
- <!-- Voice2 end-->
-
- <!-- VoLTE -->
- <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="0" />
- <!-- VoLTE HDMI -->
- <ctl name="HDMI_RX_Voice Mixer VoLTE" value="0" />
- <!-- VoLTE BTSCO -->
- <ctl name="AUX_PCM_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer AUX_PCM_TX_VoLTE" value="0" />
- <!-- VoLTE USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="0" />
- <!-- VoLTE end-->
-
<!-- Multimode Voice1 -->
<ctl name="SLIM_0_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="0" />
@@ -436,13 +396,6 @@
<ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="0" />
<!-- compress-voip-call end-->
- <!-- QCHAT start -->
- <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
- <ctl name="AUX_PCM_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="QCHAT_Tx Mixer AUX_PCM_TX_QCHAT" value="0" />
- <!-- QCHAT end-->
-
<!-- VoWLAN start -->
<ctl name="SLIM_0_RX_Voice Mixer VoWLAN" value="0" />
<ctl name="VoWLAN_Tx Mixer SLIM_0_TX_VoWLAN" value="0" />
@@ -1174,76 +1127,6 @@
<ctl name="MultiMedia2 Mixer TERT_MI2S_TX" value="1" />
</path>
- <path name="voice-call">
- <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call bt-sco">
- <ctl name="AUX_PCM_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer AUX_PCM_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call bt-sco-wb">
- <ctl name="AUX PCM SampleRate" value="16000" />
- <path name="voice-call bt-sco" />
- </path>
-
- <path name="voice-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call usb-headphones">
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
- </path>
-
- <path name="voice2-call">
- <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
- </path>
-
- <path name="voice-call voice-speaker-vbat">
- <path name="echo-reference speaker-vbat-mono" />
- <path name="voice-call"/>
- </path>
-
- <path name="voice2-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call bt-sco">
- <ctl name="AUX_PCM_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer AUX_PCM_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call bt-sco-wb">
- <ctl name="AUX PCM SampleRate" value="16000" />
- <path name="voice2-call bt-sco" />
- </path>
-
- <path name="voice2-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call usb-headphones">
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call voice-speaker-vbat">
- <path name="echo-reference speaker-vbat-mono" />
- <path name="voice2-call"/>
- </path>
-
<path name="play-fm">
<ctl name="Tert MI2S LOOPBACK Volume" value="1" />
<ctl name="SLIMBUS_0_RX Port Mixer TERT_MI2S_TX" value="1" />
@@ -1389,41 +1272,6 @@
<path name="hfp-sco" />
</path>
- <path name="volte-call">
- <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call bt-sco">
- <ctl name="AUX_PCM_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer AUX_PCM_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call bt-sco-wb">
- <ctl name="AUX PCM SampleRate" value="16000" />
- <path name="volte-call bt-sco" />
- </path>
-
- <path name="volte-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call usb-headphones">
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call voice-speaker-vbat">
- <path name="echo-reference speaker-vbat-mono" />
- <path name="volte-call"/>
- </path>
-
<path name="compress-voip-call">
<ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
diff --git a/configs/msmcobalt/mixer_paths_i2s.xml b/configs/msmcobalt/mixer_paths_i2s.xml
index a810ee2..39744a8 100644
--- a/configs/msmcobalt/mixer_paths_i2s.xml
+++ b/configs/msmcobalt/mixer_paths_i2s.xml
@@ -68,31 +68,6 @@
<ctl name="SLIM RX3 MUX" value="AIF1_PB" />
<ctl name="CLASS_H_DSM MUX" value="ZERO" />
- <!-- Voice -->
- <ctl name="Voice Stub Tx Mixer PRI_MI2S_TX" value="0" />
- <ctl name="QUAT_MI2S_RX_Voice Mixer Voice Stub" value="0" />
- <ctl name="Voice Stub Tx Mixer QUAT_MI2S_TX" value="0" />
- <ctl name="PRI_MI2S_RX_Voice Mixer Voice Stub" value="0" />
- <ctl name="QUAT_MI2S_RX Port Mixer PRI_MI2S_TX" value="0" />
- <ctl name="PRI_MI2S_RX Port Mixer QUAT_MI2S_TX" value="0" />
- <!-- Voice end-->
- <!-- VoLTE -->
- <ctl name="VoLTE Stub Tx Mixer PRI_MI2S_TX" value="0" />
- <ctl name="QUAT_MI2S_RX_Voice Mixer VoLTE Stub" value="0" />
- <ctl name="VoLTE Stub Tx Mixer QUAT_MI2S_TX" value="0" />
- <ctl name="PRI_MI2S_RX_Voice Mixer VoLTE Stub" value="0" />
- <ctl name="QUAT_MI2S_RX Port Mixer PRI_MI2S_TX" value="0" />
- <ctl name="PRI_MI2S_RX Port Mixer QUAT_MI2S_TX" value="0" />
- <!-- VoLTE end-->
- <!-- Voice2 -->
- <ctl name="Voice2 Stub Tx Mixer PRI_MI2S_TX" value="0" />
- <ctl name="QUAT_MI2S_RX_Voice Mixer Voice2 Stub" value="0" />
- <ctl name="Voice2 Stub Tx Mixer QUAT_MI2S_TX" value="0" />
- <ctl name="PRI_MI2S_RX_Voice Mixer Voice2 Stub" value="0" />
- <ctl name="QUAT_MI2S_RX Port Mixer PRI_MI2S_TX" value="0" />
- <ctl name="PRI_MI2S_RX Port Mixer QUAT_MI2S_TX" value="0" />
- <!-- Voice2 end-->
-
<!-- RT Proxy Cal -->
<ctl name="RT_PROXY_1_RX SetCalMode" value="CAL_MODE_NONE" />
<ctl name="RT_PROXY_1_TX SetCalMode" value="CAL_MODE_NONE" />
@@ -119,33 +94,6 @@
<ctl name="MultiMedia8 Mixer AUX_PCM_UL_TX" value="1" />
</path>
- <path name="voice-call">
- <ctl name="Voice Stub Tx Mixer PRI_MI2S_TX" value="1" />
- <ctl name="QUAT_MI2S_RX_Voice Mixer Voice Stub" value="1" />
- <ctl name="Voice Stub Tx Mixer QUAT_MI2S_TX" value="1" />
- <ctl name="PRI_MI2S_RX_Voice Mixer Voice Stub" value="1" />
- <ctl name="QUAT_MI2S_RX Port Mixer PRI_MI2S_TX" value="1" />
- <ctl name="PRI_MI2S_RX Port Mixer QUAT_MI2S_TX" value="1" />
- </path>
-
- <path name="volte-call">
- <ctl name="VoLTE Stub Tx Mixer PRI_MI2S_TX" value="1" />
- <ctl name="QUAT_MI2S_RX_Voice Mixer VoLTE Stub" value="1" />
- <ctl name="VoLTE Stub Tx Mixer QUAT_MI2S_TX" value="1" />
- <ctl name="PRI_MI2S_RX_Voice Mixer VoLTE Stub" value="1" />
- <ctl name="QUAT_MI2S_RX Port Mixer PRI_MI2S_TX" value="1" />
- <ctl name="PRI_MI2S_RX Port Mixer QUAT_MI2S_TX" value="1" />
- </path>
-
- <path name="voice2-call">
- <ctl name="Voice2 Stub Tx Mixer PRI_MI2S_TX" value="1" />
- <ctl name="QUAT_MI2S_RX_Voice Mixer Voice2 Stub" value="1" />
- <ctl name="Voice2 Stub Tx Mixer QUAT_MI2S_TX" value="1" />
- <ctl name="PRI_MI2S_RX_Voice Mixer Voice2 Stub" value="1" />
- <ctl name="QUAT_MI2S_RX Port Mixer PRI_MI2S_TX" value="1" />
- <ctl name="PRI_MI2S_RX Port Mixer QUAT_MI2S_TX" value="1" />
- </path>
-
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="AIF1_CAP Mixer SLIM TX9" value="1"/>
diff --git a/configs/msmcobalt/mixer_paths_tasha.xml b/configs/msmcobalt/mixer_paths_tasha.xml
index 4d48d08..860d014 100644
--- a/configs/msmcobalt/mixer_paths_tasha.xml
+++ b/configs/msmcobalt/mixer_paths_tasha.xml
@@ -390,49 +390,6 @@
<ctl name="MultiMedia2 Mixer SLIM_8_TX" value="0" />
<!-- fm end -->
- <!-- Voice -->
- <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="SLIM_6_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="0" />
- <!-- Voice HDMI -->
- <ctl name="HDMI_RX_Voice Mixer CSVoice" value="0" />
- <!-- Voice BTSCO -->
- <ctl name="BT_SCO SampleRate" value="8000" />
- <ctl name="SLIM_7_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer SLIM_7_TX_Voice" value="0" />
- <!-- Voice USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="0" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="0" />
- <!-- Voice end-->
-
- <!-- Voice2 -->
- <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="0" />
- <ctl name="SLIM_6_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="0" />
- <!-- Voice2 HDMI -->
- <ctl name="HDMI_RX_Voice Mixer Voice2" value="0" />
- <!-- Voice2 BTSCO -->
- <ctl name="SLIM_7_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer SLIM_7_TX_Voice2" value="0" />
- <!-- Voice2 USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
- <!-- Voice2 end-->
-
- <!-- VoLTE -->
- <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="SLIM_6_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="0" />
- <!-- VoLTE HDMI -->
- <ctl name="HDMI_RX_Voice Mixer VoLTE" value="0" />
- <!-- VoLTE BTSCO -->
- <ctl name="SLIM_7_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer SLIM_7_TX_VoLTE" value="0" />
- <!-- VoLTE USB headset -->
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="0" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="0" />
- <!-- VoLTE end-->
-
<!-- Multimode Voice1 -->
<ctl name="SLIM_0_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="SLIM_6_RX_Voice Mixer VoiceMMode1" value="0" />
@@ -499,16 +456,6 @@
<ctl name="Voip_Tx Mixer USB_AUDIO_TX_Voip" value="0" />
<!-- compress-voip-call end-->
- <!-- QCHAT start -->
- <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="SLIM_6_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
- <ctl name="SLIM_7_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="QCHAT_Tx Mixer SLIM_7_TX_QCHAT" value="0" />
- <ctl name="USB_AUDIO_RX_Voice Mixer QCHAT" value="0" />
- <ctl name="QCHAT_Tx Mixer USB_AUDIO_TX_QCHAT" value="0" />
- <!-- QCHAT end-->
-
<!-- VoWLAN start -->
<ctl name="SLIM_0_RX_Voice Mixer VoWLAN" value="0" />
<ctl name="SLIM_6_RX_Voice Mixer VoWLAN" value="0" />
@@ -1295,86 +1242,6 @@
<ctl name="MultiMedia2 Mixer SLIM_8_TX" value="1" />
</path>
- <path name="voice-call">
- <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call bt-sco">
- <ctl name="SLIM_7_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_7_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call bt-sco-wb">
- <ctl name="BT_SCO SampleRate" value="16000" />
- <path name="voice-call bt-sco" />
- </path>
-
- <path name="voice-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call usb-headphones">
- <ctl name="USB_AUDIO_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer USB_AUDIO_TX_Voice" value="1" />
- </path>
-
- <path name="voice-call headphones">
- <ctl name="SLIM_6_RX_Voice Mixer CSVoice" value="1" />
- <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
- </path>
-
- <path name="voice2-call">
- <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
- </path>
-
- <path name="voice-call voice-speaker-vbat">
- <path name="echo-reference speaker-vbat-mono" />
- <path name="voice-call"/>
- </path>
-
- <path name="voice2-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call bt-sco">
- <ctl name="SLIM_7_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_7_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call bt-sco-wb">
- <ctl name="BT_SCO SampleRate" value="16000" />
- <path name="voice2-call bt-sco" />
- </path>
-
- <path name="voice2-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call usb-headphones">
- <ctl name="USB_AUDIO_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer USB_AUDIO_TX_Voice2" value="1" />
- </path>
-
- <path name="voice2-call voice-speaker-vbat">
- <path name="echo-reference speaker-vbat-mono" />
- <path name="voice2-call"/>
- </path>
-
- <path name="voice2-call headphones">
- <ctl name="SLIM_6_RX_Voice Mixer Voice2" value="1" />
- <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
- </path>
-
<path name="play-fm">
<ctl name="SLIMBUS_8 LOOPBACK Volume" value="1" />
<ctl name="SLIMBUS_0_RX Port Mixer SLIM_8_TX" value="1" />
@@ -1535,46 +1402,6 @@
<path name="hfp-sco headphones" />
</path>
- <path name="volte-call">
- <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call headphones">
- <ctl name="SLIM_6_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call hdmi">
- <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call bt-sco">
- <ctl name="SLIM_7_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer SLIM_7_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call bt-sco-wb">
- <ctl name="BT_SCO SampleRate" value="16000" />
- <path name="volte-call bt-sco" />
- </path>
-
- <path name="volte-call afe-proxy">
- <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call usb-headphones">
- <ctl name="USB_AUDIO_RX_Voice Mixer VoLTE" value="1" />
- <ctl name="VoLTE_Tx Mixer USB_AUDIO_TX_VoLTE" value="1" />
- </path>
-
- <path name="volte-call voice-speaker-vbat">
- <path name="echo-reference speaker-vbat-mono" />
- <path name="volte-call"/>
- </path>
-
<path name="compress-voip-call">
<ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
<ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
@@ -1932,7 +1759,7 @@
<path name="sidetone-handset">
<path name="sidetone-iir" />
<ctl name="IIR0 INP0 Volume" value="54" />
- <ctl name="RX INT0 MIX2 INP" value="SRC0" />
+ <ctl name="RX INT7 MIX2 INP" value="SRC0" />
</path>
<path name="speaker-mic">
@@ -1984,9 +1811,12 @@
<path name="handset">
<ctl name="SLIM RX0 MUX" value="AIF_MIX1_PB" />
<ctl name="SLIM_0_RX Channels" value="One" />
- <ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
- <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
- <ctl name="EAR PA Gain" value="G_6_DB" />
+ <ctl name="RX INT7_1 MIX1 INP0" value="RX0" />
+ <ctl name="SpkrLeft COMP Switch" value="1" />
+ <ctl name="SpkrLeft BOOST Switch" value="1" />
+ <ctl name="SpkrLeft VISENSE Switch" value="1" />
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
+ <ctl name="RX7 Digital Volume" value="76" />
</path>
<path name="handset-mic">
diff --git a/configs/msmcobalt/mixer_paths_tavil.xml b/configs/msmcobalt/mixer_paths_tavil.xml
index ca132c0..1c92421 100644
--- a/configs/msmcobalt/mixer_paths_tavil.xml
+++ b/configs/msmcobalt/mixer_paths_tavil.xml
@@ -288,10 +288,18 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="0" />
<ctl name="AIF1_CAP Mixer SLIM TX0" value="0" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="0" />
<ctl name="CDC_IF TX0 MUX" value="ZERO" />
+ <ctl name="CDC_IF TX2 MUX" value="ZERO" />
<ctl name="ADC MUX0" value="ZERO" />
+ <ctl name="ADC MUX2" value="ZERO" />
<ctl name="DMIC MUX0" value="ZERO" />
+ <ctl name="DMIC MUX2" value="ZERO" />
+
<ctl name="DEC0 Volume" value="0" />
+ <ctl name="DEC2 Volume" value="0" />
+ <ctl name="RX7 Digital Volume" value="84" />
+ <ctl name="RX8 Digital Volume" value="84" />
<!-- IIR/voice anc -->
<!-- IIR/voice anc end -->
@@ -1269,6 +1277,12 @@
</path>
<path name="dmic3">
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="CDC_IF TX2 MUX" value="DEC2" />
+ <ctl name="SLIM_0_TX Channels" value="One" />
+ <ctl name="ADC MUX2" value="DMIC" />
+ <ctl name="DMIC MUX2" value="DMIC2" />
+ <ctl name="DEC2 Volume" value="84" />
</path>
<path name="dmic4">
@@ -1304,6 +1318,15 @@
</path>
<path name="speaker-mono">
+ <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 VISENSE Switch" value="1" />
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
</path>
<path name="speaker-liquid">
@@ -1360,6 +1383,16 @@
</path>
<path name="handset">
+ <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 VISENSE Switch" value="1" />
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
+ <ctl name="RX7 Digital Volume" value="76" />
</path>
<path name="handset-mic">
diff --git a/configs/msmcobalt/msmcobalt.mk b/configs/msmcobalt/msmcobalt.mk
index 4ba276d..05be352 100644
--- a/configs/msmcobalt/msmcobalt.mk
+++ b/configs/msmcobalt/msmcobalt.mk
@@ -3,7 +3,7 @@
#AUDIO_FEATURE_FLAGS
BOARD_USES_ALSA_AUDIO := true
USE_CUSTOM_AUDIO_POLICY := 1
-USE_XML_AUDIO_POLICY_CONF := 0
+USE_XML_AUDIO_POLICY_CONF := 1
BOARD_SUPPORTS_SOUND_TRIGGER := true
AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
@@ -34,7 +34,7 @@
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
-#AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
+AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
AUDIO_FEATURE_ENABLED_SSR := true
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
index 357f036..fe3fe95 100644
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -532,7 +532,10 @@
int read_line_from_file(const char *path, char *buf, size_t count);
int audio_extn_utils_get_codec_version(const char *snd_card_name, int card_num, char *codec_version);
audio_format_t alsa_format_to_hal(uint32_t alsa_format);
-uint32_t hal_format_to_alsa(audio_format_t pcm_format);
+uint32_t hal_format_to_alsa(audio_format_t hal_format);
+audio_format_t pcm_format_to_hal(uint32_t pcm_format);
+uint32_t hal_format_to_pcm(audio_format_t hal_format);
+
void audio_extn_utils_update_direct_pcm_fragment_size(struct stream_out *out);
#ifndef KPI_OPTIMIZE_ENABLED
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index df20120..e3f1b6c 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -96,11 +96,11 @@
};
const struct string_to_enum s_format_name_to_enum_table[] = {
+ STRING_TO_ENUM(AUDIO_FORMAT_PCM_8_BIT),
STRING_TO_ENUM(AUDIO_FORMAT_PCM_16_BIT),
STRING_TO_ENUM(AUDIO_FORMAT_PCM_24_BIT_PACKED),
STRING_TO_ENUM(AUDIO_FORMAT_PCM_8_24_BIT),
STRING_TO_ENUM(AUDIO_FORMAT_PCM_32_BIT),
- STRING_TO_ENUM(AUDIO_FORMAT_PCM_8_BIT),
STRING_TO_ENUM(AUDIO_FORMAT_MP3),
STRING_TO_ENUM(AUDIO_FORMAT_AAC),
STRING_TO_ENUM(AUDIO_FORMAT_VORBIS),
@@ -765,6 +765,60 @@
return alsa_format;
}
+/*Translates PCM formats to AOSP formats*/
+audio_format_t pcm_format_to_hal(uint32_t pcm_format)
+{
+ audio_format_t format = AUDIO_FORMAT_INVALID;
+
+ switch(pcm_format) {
+ case PCM_FORMAT_S16_LE:
+ format = AUDIO_FORMAT_PCM_16_BIT;
+ break;
+ case PCM_FORMAT_S24_3LE:
+ format = AUDIO_FORMAT_PCM_24_BIT_PACKED;
+ break;
+ case PCM_FORMAT_S24_LE:
+ format = AUDIO_FORMAT_PCM_8_24_BIT;
+ break;
+ case PCM_FORMAT_S32_LE:
+ format = AUDIO_FORMAT_PCM_32_BIT;
+ break;
+ default:
+ ALOGW("Incorrect PCM format");
+ format = AUDIO_FORMAT_INVALID;
+ }
+ return format;
+}
+
+/*Translates hal format (AOSP) to alsa formats*/
+uint32_t hal_format_to_pcm(audio_format_t hal_format)
+{
+ uint32_t pcm_format;
+
+ switch (hal_format) {
+ case AUDIO_FORMAT_PCM_32_BIT:
+ case AUDIO_FORMAT_PCM_8_24_BIT:
+ case AUDIO_FORMAT_PCM_FLOAT: {
+ if (platform_supports_true_32bit())
+ pcm_format = PCM_FORMAT_S32_LE;
+ else
+ pcm_format = PCM_FORMAT_S24_3LE;
+ }
+ break;
+ case AUDIO_FORMAT_PCM_8_BIT:
+ pcm_format = PCM_FORMAT_S8;
+ break;
+ case AUDIO_FORMAT_PCM_24_BIT_PACKED:
+ pcm_format = PCM_FORMAT_S24_3LE;
+ break;
+ default:
+ case AUDIO_FORMAT_PCM_16_BIT:
+ pcm_format = PCM_FORMAT_S16_LE;
+ break;
+ }
+ return pcm_format;
+}
+
uint32_t get_alsa_fragment_size(uint32_t bytes_per_sample,
uint32_t sample_rate,
uint32_t noOfChannels)
@@ -798,8 +852,8 @@
*/
void audio_extn_utils_update_direct_pcm_fragment_size(struct stream_out *out)
{
- audio_format_t dst_format = out->compr_pcm_config.hal_op_format;
- audio_format_t src_format = out->compr_pcm_config.hal_ip_format;
+ audio_format_t dst_format = out->hal_op_format;
+ audio_format_t src_format = out->hal_ip_format;
uint32_t hal_op_bytes_per_sample = audio_bytes_per_sample(dst_format);
uint32_t hal_ip_bytes_per_sample = audio_bytes_per_sample(src_format);
@@ -811,13 +865,13 @@
if ((src_format != dst_format) &&
hal_op_bytes_per_sample != hal_ip_bytes_per_sample) {
- out->compr_pcm_config.hal_fragment_size =
+ out->hal_fragment_size =
((out->compr_config.fragment_size * hal_ip_bytes_per_sample) /
hal_op_bytes_per_sample);
ALOGI("enable conversion hal_input_fragment_size is %d src_format %x dst_format %x",
- out->compr_pcm_config.hal_fragment_size, src_format, dst_format);
+ out->hal_fragment_size, src_format, dst_format);
} else {
- out->compr_pcm_config.hal_fragment_size = out->compr_config.fragment_size;
+ out->hal_fragment_size = out->compr_config.fragment_size;
}
}
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 95595b4..a8ebb6b 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -808,7 +808,7 @@
(usecase->in_snd_device != snd_device || force_routing) &&
((uc_info->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) &&
(((usecase->devices & ~AUDIO_DEVICE_BIT_IN) & AUDIO_DEVICE_IN_ALL_CODEC_BACKEND) ||
- (usecase->type == VOICE_CALL))) &&
+ (usecase->type == VOICE_CALL) || (usecase->type == VOIP_CALL))) &&
(usecase->id != USECASE_AUDIO_SPKR_CALIB_TX)) {
ALOGV("%s: Usecase (%s) is active on (%s) - disabling ..",
__func__, use_case_table[usecase->id],
@@ -2139,7 +2139,7 @@
else if(out->usecase == USECASE_COMPRESS_VOIP_CALL)
return voice_extn_compress_voip_out_get_buffer_size(out);
else if (out->flags & AUDIO_OUTPUT_FLAG_DIRECT_PCM)
- return out->compr_pcm_config.hal_fragment_size;
+ return out->hal_fragment_size;
return out->config.period_size *
audio_stream_out_frame_size((const struct audio_stream_out *)stream);
@@ -2556,7 +2556,8 @@
/* increase written size during SSR to avoid mismatch
* with the written frames count in AF
*/
- out->written += bytes / (out->config.channels * sizeof(short));
+ if (audio_bytes_per_sample(out->format) != 0)
+ out->written += bytes / (out->config.channels * audio_bytes_per_sample(out->format));
ALOGD(" %s: sound card is not active/SSR state", __func__);
ret= -EIO;
goto exit;
@@ -2612,27 +2613,27 @@
}
}
if ((out->flags & AUDIO_OUTPUT_FLAG_DIRECT_PCM) &&
- (out->compr_pcm_config.convert_buffer) != NULL) {
+ (out->convert_buffer) != NULL) {
- if ((bytes > out->compr_pcm_config.hal_fragment_size)) {
+ if ((bytes > out->hal_fragment_size)) {
ALOGW("Error written bytes %zu > %d (fragment_size)",
- bytes, out->compr_pcm_config.hal_fragment_size);
+ bytes, out->hal_fragment_size);
pthread_mutex_unlock(&out->lock);
return -EINVAL;
} else {
- audio_format_t dst_format = out->compr_pcm_config.hal_op_format;
- audio_format_t src_format = out->compr_pcm_config.hal_ip_format;
+ audio_format_t dst_format = out->hal_op_format;
+ audio_format_t src_format = out->hal_ip_format;
uint32_t frames = bytes / format_to_bitwidth_table[src_format];
uint32_t bytes_to_write = frames * format_to_bitwidth_table[dst_format];
- memcpy_by_audio_format(out->compr_pcm_config.convert_buffer,
+ memcpy_by_audio_format(out->convert_buffer,
dst_format,
buffer,
src_format,
frames);
- ret = compress_write(out->compr, out->compr_pcm_config.convert_buffer,
+ ret = compress_write(out->compr, out->convert_buffer,
bytes_to_write);
/*Convert written bytes in audio flinger format*/
@@ -2681,15 +2682,31 @@
if (adev->adm_request_focus)
adev->adm_request_focus(adev->adm_data, out->handle);
- if (out->usecase == USECASE_AUDIO_PLAYBACK_AFE_PROXY)
+ if (out->usecase == USECASE_AUDIO_PLAYBACK_AFE_PROXY) {
ret = pcm_mmap_write(out->pcm, (void *)buffer, bytes);
- else
+ } else if (out->hal_op_format != out->hal_ip_format &&
+ out->convert_buffer != NULL) {
+
+ memcpy_by_audio_format(out->convert_buffer,
+ out->hal_op_format,
+ buffer,
+ out->hal_ip_format,
+ out->config.period_size * out->config.channels);
+
+ ret = pcm_write(out->pcm, out->convert_buffer,
+ (out->config.period_size *
+ out->config.channels *
+ format_to_bitwidth_table[out->hal_op_format]));
+ } else {
ret = pcm_write(out->pcm, (void *)buffer, bytes);
+ }
if (ret < 0)
ret = -errno;
- else if (ret == 0)
- out->written += bytes / (out->config.channels * sizeof(short));
+ else if (ret == 0 && (audio_bytes_per_sample(out->format) != 0))
+ out->written += bytes / (out->config.channels * audio_bytes_per_sample(out->format));
+ else
+ ret = -EINVAL;
if (adev->adm_abandon_focus)
adev->adm_abandon_focus(adev->adm_data, out->handle);
@@ -3365,7 +3382,7 @@
out->handle = handle;
out->bit_width = CODEC_BACKEND_DEFAULT_BIT_WIDTH;
out->non_blocking = 0;
- out->compr_pcm_config.convert_buffer = NULL;
+ out->convert_buffer = NULL;
if (out->devices & AUDIO_DEVICE_OUT_AUX_DIGITAL &&
(flags & AUDIO_OUTPUT_FLAG_DIRECT)) {
@@ -3534,15 +3551,15 @@
out->compr_config.codec->format = hal_format_to_alsa(
config->offload_info.format);
- out->compr_pcm_config.hal_op_format = alsa_format_to_hal(
+ out->hal_op_format = alsa_format_to_hal(
out->compr_config.codec->format);
- out->compr_pcm_config.hal_ip_format = out->format;
+ out->hal_ip_format = out->format;
/*for direct PCM playback populate bit_width based on selected alsa format as
*hal input format and alsa format might differ based on platform support.
*/
out->bit_width = audio_bytes_per_sample(
- out->compr_pcm_config.hal_op_format) << 3;
+ out->hal_op_format) << 3;
out->compr_config.fragments = DIRECT_PCM_NUM_FRAGMENTS;
@@ -3555,13 +3572,13 @@
/*if hal input and output fragment size is different this indicates HAL input format is
*not same as the alsa format
*/
- if (out->compr_pcm_config.hal_fragment_size != out->compr_config.fragment_size) {
+ if (out->hal_fragment_size != out->compr_config.fragment_size) {
/*Allocate a buffer to convert input data to the alsa configured format.
*size of convert buffer is equal to the size required to hold one fragment size
*worth of pcm data, this is because flinger does not write more than fragment_size
*/
- out->compr_pcm_config.convert_buffer = calloc(1,out->compr_config.fragment_size);
- if (out->compr_pcm_config.convert_buffer == NULL){
+ out->convert_buffer = calloc(1,out->compr_config.fragment_size);
+ if (out->convert_buffer == NULL){
ALOGE("Allocation failed for convert buffer for size %d", out->compr_config.fragment_size);
ret = -ENOMEM;
goto error_open;
@@ -3641,30 +3658,46 @@
out->usecase = USECASE_AUDIO_PLAYBACK_AFE_PROXY;
out->config = pcm_config_afe_proxy_playback;
adev->voice_tx_output = out;
- } else if (out->flags & AUDIO_OUTPUT_FLAG_RAW) {
- out->usecase = USECASE_AUDIO_PLAYBACK_ULL;
- out->config = pcm_config_low_latency;
- out->sample_rate = out->config.rate;
- } else if (out->flags & AUDIO_OUTPUT_FLAG_FAST) {
- format = AUDIO_FORMAT_PCM_16_BIT;
- out->usecase = USECASE_AUDIO_PLAYBACK_LOW_LATENCY;
- out->config = pcm_config_low_latency;
- out->sample_rate = out->config.rate;
- } else if (out->flags & AUDIO_OUTPUT_FLAG_DEEP_BUFFER) {
- format = AUDIO_FORMAT_PCM_16_BIT;
- out->usecase = USECASE_AUDIO_PLAYBACK_DEEP_BUFFER;
- out->config = pcm_config_deep_buffer;
- out->sample_rate = out->config.rate;
} else {
- /* primary path is the default path selected if no other outputs are available/suitable */
- format = AUDIO_FORMAT_PCM_16_BIT;
- out->usecase = USECASE_AUDIO_PLAYBACK_PRIMARY;
- out->config = PCM_CONFIG_AUDIO_PLAYBACK_PRIMARY;
+ if (out->flags & AUDIO_OUTPUT_FLAG_RAW) {
+ out->usecase = USECASE_AUDIO_PLAYBACK_ULL;
+ out->config = pcm_config_low_latency;
+ } else if (out->flags & AUDIO_OUTPUT_FLAG_FAST) {
+ out->usecase = USECASE_AUDIO_PLAYBACK_LOW_LATENCY;
+ out->config = pcm_config_low_latency;
+ } else if (out->flags & AUDIO_OUTPUT_FLAG_DEEP_BUFFER) {
+ out->usecase = USECASE_AUDIO_PLAYBACK_DEEP_BUFFER;
+ out->config = pcm_config_deep_buffer;
+ } else {
+ /* primary path is the default path selected if no other outputs are available/suitable */
+ out->usecase = USECASE_AUDIO_PLAYBACK_PRIMARY;
+ out->config = PCM_CONFIG_AUDIO_PLAYBACK_PRIMARY;
+ }
+ out->hal_ip_format = format = out->format;
+ out->config.format = hal_format_to_pcm(out->hal_ip_format);
+ out->hal_op_format = pcm_format_to_hal(out->config.format);
+ out->bit_width = format_to_bitwidth_table[out->hal_op_format] << 3;
+ out->config.rate = config->sample_rate;
out->sample_rate = out->config.rate;
+ out->config.channels = audio_channel_count_from_out_mask(out->channel_mask);
+ if (out->hal_ip_format != out->hal_op_format) {
+ uint32_t buffer_size = out->config.period_size *
+ format_to_bitwidth_table[out->hal_op_format] *
+ out->config.channels;
+ out->convert_buffer = calloc(1, buffer_size);
+ if (out->convert_buffer == NULL){
+ ALOGE("Allocation failed for convert buffer for size %d",
+ out->compr_config.fragment_size);
+ ret = -ENOMEM;
+ goto error_open;
+ }
+ ALOGD("Convert buffer allocated of size %d", buffer_size);
+ }
}
- ALOGV("%s devices %d,flags %x, format %x, out->sample_rate %d, out->bit_width %d out->flags:%x, flags:%x",
- __func__, devices, flags, format, out->sample_rate, out->bit_width, out->flags, flags);
+ ALOGV("%s devices:%d, format:%x, out->sample_rate:%d,out->bit_width:%d out->format:%d out->flags:%x, flags:%x",
+ __func__, devices, format, out->sample_rate, out->bit_width, out->format, out->flags, flags);
+
/* TODO remove this hardcoding and check why width is zero*/
if (out->bit_width == 0)
out->bit_width = 16;
@@ -3735,8 +3768,8 @@
return 0;
error_open:
- if (out->compr_pcm_config.convert_buffer)
- free(out->compr_pcm_config.convert_buffer);
+ if (out->convert_buffer)
+ free(out->convert_buffer);
free(out);
*stream_out = NULL;
ALOGD("%s: exit: ret %d", __func__, ret);
@@ -3763,8 +3796,6 @@
out_standby(&stream->common);
if (is_offload_usecase(out->usecase)) {
- if (out->compr_pcm_config.convert_buffer != NULL)
- free(out->compr_pcm_config.convert_buffer);
audio_extn_dts_remove_state_notifier_node(out->usecase);
destroy_offload_callback_thread(out);
free_offload_usecase(adev, out->usecase);
@@ -3772,6 +3803,11 @@
free(out->compr_config.codec);
}
+ if (out->convert_buffer != NULL) {
+ free(out->convert_buffer);
+ out->convert_buffer = NULL;
+ }
+
if (adev->voice_tx_output == out)
adev->voice_tx_output = NULL;
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 5bd1216..8197fec 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -182,13 +182,6 @@
int app_type;
};
-struct compr_pcm_config {
- uint32_t hal_fragment_size;
- audio_format_t hal_ip_format;
- audio_format_t hal_op_format;
- void *convert_buffer;
-};
-
struct stream_out {
struct audio_stream_out stream;
pthread_mutex_t lock; /* see note below on mutex acquisition order */
@@ -230,7 +223,10 @@
bool send_next_track_params;
bool is_compr_metadata_avail;
unsigned int bit_width;
- struct compr_pcm_config compr_pcm_config;
+ uint32_t hal_fragment_size;
+ audio_format_t hal_ip_format;
+ audio_format_t hal_op_format;
+ void *convert_buffer;
struct audio_device *dev;
};
diff --git a/hal/msm8916/hw_info.c b/hal/msm8916/hw_info.c
index 1d10ded..d9add29 100644
--- a/hal/msm8916/hw_info.c
+++ b/hal/msm8916/hw_info.c
@@ -297,8 +297,14 @@
hw_info->snd_devices = NULL;
hw_info->num_snd_devices = 0;
strlcpy(hw_info->dev_extn, "", sizeof(hw_info->dev_extn));
+ } else if (!strcmp(snd_card_name, "msm8920-sku7-snd-card")) {
+ strlcpy(hw_info->type, "", sizeof(hw_info->type));
+ strlcpy(hw_info->name, "msm8920", sizeof(hw_info->name));
+ hw_info->snd_devices = NULL;
+ hw_info->num_snd_devices = 0;
+ strlcpy(hw_info->dev_extn, "", sizeof(hw_info->dev_extn));
} else {
- ALOGW("%s: Not an 8x16/8909/8917/8937/8939/8940/8952/8953/falcon device", __func__);
+ ALOGW("%s: Not an 8x16/8909/8917/8920/8937/8939/8940/8952/8953/falcon device", __func__);
}
hw_info->is_wsa_combo_suppported = false;
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 82f1934..500a28d 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -254,12 +254,6 @@
};
static bool is_external_codec = false;
-static const int pcm_device_table_of_ext_codec[AUDIO_USECASE_MAX][2] = {
- [USECASE_QCHAT_CALL] = {QCHAT_CALL_PCM_DEVICE_OF_EXT_CODEC, QCHAT_CALL_PCM_DEVICE_OF_EXT_CODEC}
-};
-
-/* List of use cases that has different PCM device ID's for internal and external codecs */
-static const int misc_usecase[AUDIO_USECASE_MAX] = { USECASE_QCHAT_CALL };
int pcm_device_table[AUDIO_USECASE_MAX][2] = {
[USECASE_AUDIO_PLAYBACK_DEEP_BUFFER] = {DEEP_BUFFER_PCM_DEVICE,
@@ -774,20 +768,6 @@
#define PCM_OFFLOAD_PLATFORM_DELAY (30*1000LL)
#define LOW_LATENCY_PLATFORM_DELAY (13*1000LL)
-static bool is_misc_usecase(audio_usecase_t usecase) {
- bool ret = false;
- int i;
-
- for (i = 0; i < AUDIO_USECASE_MAX; i++) {
- if(usecase == misc_usecase[i]) {
- ret = true;
- break;
- }
- }
- return ret;
-}
-
-
static void update_codec_type(const char *snd_card_name) {
if (!strncmp(snd_card_name, "msm8939-tapan-snd-card",
@@ -1116,6 +1096,13 @@
msm_device_to_be_id = msm_device_to_be_id_external_codec;
msm_be_id_array_len =
sizeof(msm_device_to_be_id_external_codec) / sizeof(msm_device_to_be_id_external_codec[0]);
+ } else if (!strncmp(snd_card_name, "msm8920-sku7-snd-card",
+ sizeof("msm8920-sku7-snd-card"))) {
+ strlcpy(mixer_xml_path, MIXER_XML_PATH_SKU1,
+ MAX_MIXER_XML_PATH);
+ msm_device_to_be_id = msm_device_to_be_id_internal_codec;
+ msm_be_id_array_len =
+ sizeof(msm_device_to_be_id_internal_codec) / sizeof(msm_device_to_be_id_internal_codec[0]);
} else {
strlcpy(mixer_xml_path, MIXER_XML_PATH,
sizeof(MIXER_XML_PATH));
@@ -1456,10 +1443,12 @@
int result;
char value[PROPERTY_VALUE_MAX];
cvd_version = calloc(1, MAX_CVD_VERSION_STRING_SIZE);
- if (!cvd_version)
+ if (!cvd_version) {
ALOGE("Failed to allocate cvd version");
- else
+ return -1;
+ } else {
get_cvd_version(cvd_version, my_data->adev);
+ }
property_get("audio.ds1.metainfo.key",value,"0");
key = atoi(value);
@@ -2095,17 +2084,10 @@
{
int device_id = -1;
- if (is_external_codec && is_misc_usecase(usecase)) {
- if (device_type == PCM_PLAYBACK)
- device_id = pcm_device_table_of_ext_codec[usecase][0];
- else
- device_id = pcm_device_table_of_ext_codec[usecase][1];
- } else {
- if (device_type == PCM_PLAYBACK)
- device_id = pcm_device_table[usecase][0];
- else
- device_id = pcm_device_table[usecase][1];
- }
+ if (device_type == PCM_PLAYBACK)
+ device_id = pcm_device_table[usecase][0];
+ else
+ device_id = pcm_device_table[usecase][1];
return device_id;
}
@@ -2339,7 +2321,7 @@
struct listnode *node;
int mode = NATIVE_AUDIO_MODE_INVALID;
- if (!value)
+ if (!value || !parms)
return ret;
ret = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_NATIVE_AUDIO_MODE,
diff --git a/hal/msm8916/platform.h b/hal/msm8916/platform.h
index 7c877b5..756c749 100644
--- a/hal/msm8916/platform.h
+++ b/hal/msm8916/platform.h
@@ -302,8 +302,7 @@
#define VOICE_CALL_PCM_DEVICE 2
#define VOICE2_CALL_PCM_DEVICE 13
#define VOLTE_CALL_PCM_DEVICE 15
-#define QCHAT_CALL_PCM_DEVICE 26
-#define QCHAT_CALL_PCM_DEVICE_OF_EXT_CODEC 28
+#define QCHAT_CALL_PCM_DEVICE 37
#define VOWLAN_CALL_PCM_DEVICE 16
#define AFE_PROXY_PLAYBACK_PCM_DEVICE 7
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 759f889..b98cc73 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -1108,14 +1108,14 @@
if(property_get_bool("use.qti.sw.alac.decoder", false)) {
ALOGD("Alac software decoder is available...removing alac from DSP decoder list");
- strncpy(dsp_only_decoders_mime[count],"none",5);
+ strlcpy(dsp_only_decoders_mime[count],"none",5);
}
} else if (!strncmp(MEDIA_MIMETYPE_AUDIO_APE, dsp_only_decoders_mime[count],
strlen(dsp_only_decoders_mime[count]))) {
if(property_get_bool("use.qti.sw.ape.decoder", false)) {
ALOGD("APE software decoder is available...removing ape from DSP decoder list");
- strncpy(dsp_only_decoders_mime[count],"none",5);
+ strlcpy(dsp_only_decoders_mime[count],"none",5);
}
}
}
@@ -1304,10 +1304,12 @@
int result;
char value[PROPERTY_VALUE_MAX];
cvd_version = calloc(1, MAX_CVD_VERSION_STRING_SIZE);
- if (!cvd_version)
+ if (!cvd_version) {
ALOGE("Failed to allocate cvd version");
- else
+ return -1;
+ } else {
get_cvd_version(cvd_version, my_data->adev);
+ }
property_get("audio.ds1.metainfo.key",value,"0");
key = atoi(value);
@@ -2122,11 +2124,14 @@
int native_audio_set_params(struct platform_data *platform,
struct str_parms *parms, char *value, int len)
{
- int ret = 0;
+ int ret = -1;
struct audio_usecase *usecase;
struct listnode *node;
int mode = NATIVE_AUDIO_MODE_INVALID;
+ if (!value || !parms)
+ return ret;
+
ret = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_NATIVE_AUDIO_MODE,
value, len);
if (ret >= 0) {