Merge tag 'LA.UM.9.12.r1-11300-SMxx50.0' of https://source.codeaurora.org/quic/la/platform/hardware/qcom/audio into HEAD
"LA.UM.9.12.r1-11300-SMxx50.0"
* tag 'LA.UM.9.12.r1-11300-SMxx50.0' of https://source.codeaurora.org/quic/la/platform/hardware/qcom/audio: (33 commits)
configs: sdm450: add support for VoIP over audio path
configs : sdm845 :enable incall music and add incall music profile
configs : add usb_surround_sound input profile for usb capture
audio-hal: fix a2dp mute issue
hal: sampling rate mismatch during a2dp+spk combo usecase.
hal: route use cases properly to SCO device when it arrives
hal: don't mute stream with combo device during a2dpsuspended
hal: switch to current active device when a2dp suspended
AHAL: raise the priority for configuration of voip usecase
hal: re-route VOIP TX path for enabling correct VOIP EC port
hal: deadlock with pause and SSR for compressed offload
hal: notify input/output streams of snd card status upon request
hal: mute stream and switch to speaker during a2dp suspend
hal: fix trailing sound heard during a2dp codec switch
AHAL: setting 4 channel mapping info for proxy device
HAL: Modified condition to avoid audio Tx path for legacy targets
hal: adsprpcd: Prevent fastrpc daemon from exiting during SSR
configs: add device speaker-and-usb-headphones for ULL path
configs: add device speaker-and-usb-headphones for ULL path
configs: Remove reset value for ADC MUX
...
Change-Id: I0463ace014c2d2940fed50fba786fd2dd6dbb986
diff --git a/adsprpcd/adsprpcd.c b/adsprpcd/adsprpcd.c
index 0dd9d79..89004e7 100644
--- a/adsprpcd/adsprpcd.c
+++ b/adsprpcd/adsprpcd.c
@@ -69,8 +69,7 @@
VERIFY_EPRINTF("audio adsp daemon error %s", dlerror());
}
if (nErr == AEE_ECONNREFUSED) {
- VERIFY_EPRINTF("fastRPC device driver is disabled, daemon exiting...");
- break;
+ VERIFY_EPRINTF("fastRPC device driver is disabled, retrying...");
}
VERIFY_EPRINTF("audio adsp daemon will restart after 25ms...");
usleep(25000);
diff --git a/configs/atoll/atoll.mk b/configs/atoll/atoll.mk
index 7b056bb..faad074 100644
--- a/configs/atoll/atoll.mk
+++ b/configs/atoll/atoll.mk
@@ -43,7 +43,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
-AUDIO_FEATURE_ENABLED_AHAL_EXT := true
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
DOLBY_ENABLE := false
endif
@@ -185,8 +185,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/atoll/mixer_paths_wcd937x.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_wcd937x.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/atoll/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/atoll/mixer_paths_wcd937xqrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_wcd937xqrd.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/atoll/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/atoll/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
@@ -420,10 +418,7 @@
android.hardware.audio.common@4.0-util \
android.hardware.audio@4.0-impl \
android.hardware.audio.effect@4.0 \
- android.hardware.audio.effect@4.0-impl \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+ android.hardware.audio.effect@4.0-impl
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/atoll/audio_configs.xml b/configs/atoll/audio_configs.xml
deleted file mode 100644
index 8e3cda2..0000000
--- a/configs/atoll/audio_configs.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- APM Configs -->
- <property name="audio.deep_buffer.media" value="true"/>
- <property name="audio.offload.disable" value="false"/>
- <property name="audio.offload.min.duration.secs" value="30"/>
- <property name="audio.offload.video" value="true"/>
- <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
- <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
- <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
- <property name="vendor.audio.offload.track.enable" value="true"/>
- <property name="vendor.audio.offload.multiple.enabled" value="false"/>
- <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.conc.fallbackpath" value=""/>
- <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
- <property name="vendor.voice.path.for.pcm.voip" value="true"/>
- <property name="vendor.voice.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.record.conc.disabled" value="false"/>
- <property name="vendor.voice.voip.conc.disabled" value="false"/>
- <flag name="audio_extn_formats_enabled" value="true" />
- <flag name="audio_extn_hdmi_spk_enabled" value="true" />
- <flag name="use_xml_audio_policy_conf" value="true" />
- <flag name="voice_concurrency" value="false" />
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
-
- <!-- AV Configs -->
- <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
- <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
- <property name="vendor.audio.use.sw.mpegh.decoder" value="false"/>
- <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
- <property name="vendor.audio.hw.aac.encoder" value="true"/>
- <flag name="aac_adts_offload_enabled" value="true" />
- <flag name="alac_offload_enabled" value="true" />
- <flag name="ape_offload_enabled" value="true" />
- <flag name="flac_offload_enabled" value="true" />
- <flag name="pcm_offload_enabled_16" value="true" />
- <flag name="pcm_offload_enabled_24" value="true" />
- <flag name="qti_flac_decoder" value="true" />
- <flag name="vorbis_offload_enabled" value="true" />
- <flag name="wma_offload_enabled" value="true" />
-</configs>
diff --git a/configs/atoll/audio_configs_stock.xml b/configs/atoll/audio_configs_stock.xml
deleted file mode 100644
index dd0c3b4..0000000
--- a/configs/atoll/audio_configs_stock.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- AHAL Configs -->
-</configs>
diff --git a/configs/atoll/mixer_paths.xml b/configs/atoll/mixer_paths.xml
index f7ac299..3fbd2d6 100644
--- a/configs/atoll/mixer_paths.xml
+++ b/configs/atoll/mixer_paths.xml
@@ -341,7 +341,6 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
diff --git a/configs/atoll/mixer_paths_qrd.xml b/configs/atoll/mixer_paths_qrd.xml
index cfbd3fb..a792124 100755
--- a/configs/atoll/mixer_paths_qrd.xml
+++ b/configs/atoll/mixer_paths_qrd.xml
@@ -335,11 +335,8 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC1_MIXER Switch" value="0" />
- <ctl name="ADC1 MUX" value="ZERO" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="ADC3_MIXER Switch" value="0" />
- <ctl name="ADC3 MUX" value="ZERO" />
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
diff --git a/configs/bengal/audio_configs.xml b/configs/bengal/audio_configs.xml
deleted file mode 100644
index 01b2e8c..0000000
--- a/configs/bengal/audio_configs.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- APM Configs -->
- <property name="audio.deep_buffer.media" value="true"/>
- <property name="audio.offload.disable" value="false"/>
- <property name="audio.offload.min.duration.secs" value="30"/>
- <property name="audio.offload.video" value="true"/>
- <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
- <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
- <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
- <property name="vendor.audio.offload.track.enable" value="true"/>
- <property name="vendor.audio.offload.multiple.enabled" value="false"/>
- <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.conc.fallbackpath" value=""/>
- <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
- <property name="vendor.voice.path.for.pcm.voip" value="true"/>
- <property name="vendor.voice.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.record.conc.disabled" value="false"/>
- <property name="vendor.voice.voip.conc.disabled" value="false"/>
- <flag name="audio_extn_formats_enabled" value="true" />
- <flag name="audio_extn_hdmi_spk_enabled" value="true" />
- <flag name="use_xml_audio_policy_conf" value="true" />
- <flag name="voice_concurrency" value="false" />
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
-
- <!-- AV Configs -->
- <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
- <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
- <property name="vendor.audio.use.sw.mpegh.decoder" value="true"/>
- <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
- <property name="vendor.audio.hw.aac.encoder" value="true"/>
- <flag name="aac_adts_offload_enabled" value="true" />
- <flag name="alac_offload_enabled" value="true" />
- <flag name="ape_offload_enabled" value="true" />
- <flag name="flac_offload_enabled" value="true" />
- <flag name="pcm_offload_enabled_16" value="true" />
- <flag name="pcm_offload_enabled_24" value="true" />
- <flag name="qti_flac_decoder" value="true" />
- <flag name="vorbis_offload_enabled" value="true" />
- <flag name="wma_offload_enabled" value="true" />
-</configs>
diff --git a/configs/bengal/audio_configs_stock.xml b/configs/bengal/audio_configs_stock.xml
deleted file mode 100644
index dd0c3b4..0000000
--- a/configs/bengal/audio_configs_stock.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- AHAL Configs -->
-</configs>
diff --git a/configs/bengal/bengal.mk b/configs/bengal/bengal.mk
index 37a0ed0..bcb0faa 100644
--- a/configs/bengal/bengal.mk
+++ b/configs/bengal/bengal.mk
@@ -44,7 +44,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
-AUDIO_FEATURE_ENABLED_AHAL_EXT := true
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
DOLBY_ENABLE := false
endif
@@ -185,8 +185,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/bengal/mixer_paths_scubaidp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_scubaidp.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/bengal/mixer_paths_scubaqrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_scubaqrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/bengal/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/bengal/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/bengal/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
@@ -437,10 +435,7 @@
android.hardware.audio.common@4.0-util \
android.hardware.audio@4.0-impl \
android.hardware.audio.effect@4.0 \
- android.hardware.audio.effect@4.0-impl \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+ android.hardware.audio.effect@4.0-impl
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/bengal/mixer_paths.xml b/configs/bengal/mixer_paths.xml
index 7cbd51c..99a9d3e 100644
--- a/configs/bengal/mixer_paths.xml
+++ b/configs/bengal/mixer_paths.xml
@@ -323,7 +323,6 @@
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
diff --git a/configs/bengal/mixer_paths_qrd.xml b/configs/bengal/mixer_paths_qrd.xml
index 5d202bd..93f2739 100755
--- a/configs/bengal/mixer_paths_qrd.xml
+++ b/configs/bengal/mixer_paths_qrd.xml
@@ -324,7 +324,6 @@
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
diff --git a/configs/common/default.mk b/configs/common/default.mk
index a115af4..27dfec4 100644
--- a/configs/common/default.mk
+++ b/configs/common/default.mk
@@ -1,9 +1,5 @@
# for HIDL related packages
-PRODUCT_PACKAGES += \
- android.hardware.audio@2.0-service \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+PRODUCT_PACKAGES += android.hardware.audio@2.0-service
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/holi/audio_configs.xml b/configs/holi/audio_configs.xml
deleted file mode 100644
index bc2b171..0000000
--- a/configs/holi/audio_configs.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2020, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- APM Configs -->
- <property name="audio.deep_buffer.media" value="true"/>
- <property name="audio.offload.disable" value="false"/>
- <property name="audio.offload.min.duration.secs" value="30"/>
- <property name="audio.offload.video" value="true"/>
- <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
- <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
- <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
- <property name="vendor.audio.offload.track.enable" value="true"/>
- <property name="vendor.audio.offload.multiple.enabled" value="false"/>
- <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.conc.fallbackpath" value=""/>
- <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
- <property name="vendor.voice.path.for.pcm.voip" value="true"/>
- <property name="vendor.voice.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.record.conc.disabled" value="false"/>
- <property name="vendor.voice.voip.conc.disabled" value="false"/>
- <flag name="audio_extn_formats_enabled" value="true" />
- <flag name="audio_extn_hdmi_spk_enabled" value="true" />
- <flag name="use_xml_audio_policy_conf" value="true" />
- <flag name="voice_concurrency" value="false" />
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
-
- <!-- AV Configs -->
- <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
- <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
- <property name="vendor.audio.use.sw.mpegh.decoder" value="true"/>
- <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
- <property name="vendor.audio.hw.aac.encoder" value="true"/>
- <flag name="aac_adts_offload_enabled" value="true" />
- <flag name="alac_offload_enabled" value="true" />
- <flag name="ape_offload_enabled" value="true" />
- <flag name="flac_offload_enabled" value="true" />
- <flag name="pcm_offload_enabled_16" value="true" />
- <flag name="pcm_offload_enabled_24" value="true" />
- <flag name="qti_flac_decoder" value="true" />
- <flag name="vorbis_offload_enabled" value="true" />
- <flag name="wma_offload_enabled" value="true" />
-</configs>
diff --git a/configs/holi/audio_configs_stock.xml b/configs/holi/audio_configs_stock.xml
deleted file mode 100644
index dd0c3b4..0000000
--- a/configs/holi/audio_configs_stock.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- AHAL Configs -->
-</configs>
diff --git a/configs/holi/holi.mk b/configs/holi/holi.mk
index b08661c..d60a16d 100644
--- a/configs/holi/holi.mk
+++ b/configs/holi/holi.mk
@@ -44,7 +44,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
-AUDIO_FEATURE_ENABLED_AHAL_EXT := true
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
DOLBY_ENABLE := false
endif
@@ -123,8 +123,7 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/sound_trigger_mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
+ vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrdsku1.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
vendor/qcom/opensource/audio-hal/primary-hal/configs/common/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
@@ -162,8 +161,7 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/sound_trigger_mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/sound_trigger_mixer_paths_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/mixer_paths.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/mixer_paths_qrd.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/audio_configs_stock.xml \
+ vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/mixer_paths_qrdsku1.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/audio_tuning_mixer.txt
# Audio configuration xml's common to Holi family
@@ -450,10 +448,7 @@
android.hardware.audio.common@4.0-util \
android.hardware.audio@4.0-impl \
android.hardware.audio.effect@4.0 \
- android.hardware.audio.effect@4.0-impl \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+ android.hardware.audio.effect@4.0-impl
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/holi/mixer_paths.xml b/configs/holi/mixer_paths.xml
index 8e281ce..aff72cb 100644
--- a/configs/holi/mixer_paths.xml
+++ b/configs/holi/mixer_paths.xml
@@ -3117,6 +3117,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/holi/mixer_paths_qrd.xml b/configs/holi/mixer_paths_qrd.xml
index 4ac76be..b321769 100644
--- a/configs/holi/mixer_paths_qrd.xml
+++ b/configs/holi/mixer_paths_qrd.xml
@@ -2713,6 +2713,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/kona/audio_configs.xml b/configs/kona/audio_configs.xml
deleted file mode 100644
index f5ea583..0000000
--- a/configs/kona/audio_configs.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- APM Configs -->
- <property name="audio.deep_buffer.media" value="true"/>
- <property name="audio.offload.disable" value="false"/>
- <property name="audio.offload.min.duration.secs" value="30"/>
- <property name="audio.offload.video" value="true"/>
- <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
- <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
- <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
- <property name="vendor.audio.offload.track.enable" value="true"/>
- <property name="vendor.audio.offload.multiple.enabled" value="false"/>
- <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.conc.fallbackpath" value=""/>
- <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
- <property name="vendor.voice.path.for.pcm.voip" value="true"/>
- <property name="vendor.voice.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.record.conc.disabled" value="false"/>
- <property name="vendor.voice.voip.conc.disabled" value="false"/>
- <flag name="audio_extn_formats_enabled" value="true" />
- <flag name="audio_extn_hdmi_spk_enabled" value="true" />
- <flag name="use_xml_audio_policy_conf" value="true" />
- <flag name="voice_concurrency" value="false" />
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
-
- <!-- AV Configs -->
- <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
- <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
- <property name="vendor.audio.use.sw.mpegh.decoder" value="true"/>
- <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
- <property name="vendor.audio.hw.aac.encoder" value="true"/>
- <flag name="aac_adts_offload_enabled" value="true" />
- <flag name="alac_offload_enabled" value="true" />
- <flag name="ape_offload_enabled" value="true" />
- <flag name="flac_offload_enabled" value="true" />
- <flag name="pcm_offload_enabled_16" value="true" />
- <flag name="pcm_offload_enabled_24" value="true" />
- <flag name="qti_flac_decoder" value="true" />
- <flag name="vorbis_offload_enabled" value="true" />
- <flag name="wma_offload_enabled" value="true" />
-</configs>
diff --git a/configs/kona/audio_configs_stock.xml b/configs/kona/audio_configs_stock.xml
deleted file mode 100644
index dd0c3b4..0000000
--- a/configs/kona/audio_configs_stock.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- AHAL Configs -->
-</configs>
diff --git a/configs/kona/kona.mk b/configs/kona/kona.mk
index bcef4e1..7de107a 100644
--- a/configs/kona/kona.mk
+++ b/configs/kona/kona.mk
@@ -44,7 +44,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
-AUDIO_FEATURE_ENABLED_AHAL_EXT := true
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
DOLBY_ENABLE := false
endif
@@ -186,8 +186,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/mixer_paths_cdp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_cdp.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/kona/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
@@ -431,10 +429,7 @@
android.hardware.audio.common@4.0-util \
android.hardware.audio@4.0-impl \
android.hardware.audio.effect@4.0 \
- android.hardware.audio.effect@4.0-impl \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+ android.hardware.audio.effect@4.0-impl
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/kona/mixer_paths.xml b/configs/kona/mixer_paths.xml
index 582399a..d20ea7d 100644
--- a/configs/kona/mixer_paths.xml
+++ b/configs/kona/mixer_paths.xml
@@ -340,7 +340,6 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
@@ -3181,6 +3180,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/kona/mixer_paths_cdp.xml b/configs/kona/mixer_paths_cdp.xml
index 1d946be..10cdb0b 100644
--- a/configs/kona/mixer_paths_cdp.xml
+++ b/configs/kona/mixer_paths_cdp.xml
@@ -326,12 +326,9 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC1_MIXER Switch" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="ADC3_MIXER Switch" value="0" />
- <ctl name="ADC3 MUX" value="ZERO" />
<ctl name="ADC4_MIXER Switch" value="0" />
- <ctl name="ADC4 MUX" value="ZERO" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
@@ -3013,6 +3010,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/kona/mixer_paths_qrd.xml b/configs/kona/mixer_paths_qrd.xml
index fa3cc3a..13ab3e8 100644
--- a/configs/kona/mixer_paths_qrd.xml
+++ b/configs/kona/mixer_paths_qrd.xml
@@ -324,7 +324,6 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
@@ -2332,6 +2331,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/lahaina/audio_configs.xml b/configs/lahaina/audio_configs.xml
deleted file mode 100644
index f5ea583..0000000
--- a/configs/lahaina/audio_configs.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- APM Configs -->
- <property name="audio.deep_buffer.media" value="true"/>
- <property name="audio.offload.disable" value="false"/>
- <property name="audio.offload.min.duration.secs" value="30"/>
- <property name="audio.offload.video" value="true"/>
- <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
- <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
- <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
- <property name="vendor.audio.offload.track.enable" value="true"/>
- <property name="vendor.audio.offload.multiple.enabled" value="false"/>
- <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.conc.fallbackpath" value=""/>
- <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
- <property name="vendor.voice.path.for.pcm.voip" value="true"/>
- <property name="vendor.voice.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.record.conc.disabled" value="false"/>
- <property name="vendor.voice.voip.conc.disabled" value="false"/>
- <flag name="audio_extn_formats_enabled" value="true" />
- <flag name="audio_extn_hdmi_spk_enabled" value="true" />
- <flag name="use_xml_audio_policy_conf" value="true" />
- <flag name="voice_concurrency" value="false" />
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
-
- <!-- AV Configs -->
- <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
- <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
- <property name="vendor.audio.use.sw.mpegh.decoder" value="true"/>
- <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
- <property name="vendor.audio.hw.aac.encoder" value="true"/>
- <flag name="aac_adts_offload_enabled" value="true" />
- <flag name="alac_offload_enabled" value="true" />
- <flag name="ape_offload_enabled" value="true" />
- <flag name="flac_offload_enabled" value="true" />
- <flag name="pcm_offload_enabled_16" value="true" />
- <flag name="pcm_offload_enabled_24" value="true" />
- <flag name="qti_flac_decoder" value="true" />
- <flag name="vorbis_offload_enabled" value="true" />
- <flag name="wma_offload_enabled" value="true" />
-</configs>
diff --git a/configs/lahaina/audio_configs_stock.xml b/configs/lahaina/audio_configs_stock.xml
deleted file mode 100644
index dd0c3b4..0000000
--- a/configs/lahaina/audio_configs_stock.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- AHAL Configs -->
-</configs>
diff --git a/configs/lahaina/lahaina.mk b/configs/lahaina/lahaina.mk
index 9900034..386ce93 100644
--- a/configs/lahaina/lahaina.mk
+++ b/configs/lahaina/lahaina.mk
@@ -44,7 +44,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
-AUDIO_FEATURE_ENABLED_AHAL_EXT := true
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
DOLBY_ENABLE := false
endif
@@ -125,8 +125,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths_cdp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_cdp.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
vendor/qcom/opensource/audio-hal/primary-hal/configs/common/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
@@ -166,8 +164,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/mixer_paths.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/mixer_paths_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/mixer_paths_cdp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/mixer_paths_cdp.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/audio_configs_stock.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/audio_tuning_mixer.txt \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)/r_submix_audio_policy_configuration.xml \
@@ -429,10 +425,7 @@
android.hardware.audio.common@4.0-util \
android.hardware.audio@4.0-impl \
android.hardware.audio.effect@4.0 \
- android.hardware.audio.effect@4.0-impl \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+ android.hardware.audio.effect@4.0-impl
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/lahaina/mixer_paths.xml b/configs/lahaina/mixer_paths.xml
index 5776744..7e4a556 100644
--- a/configs/lahaina/mixer_paths.xml
+++ b/configs/lahaina/mixer_paths.xml
@@ -888,6 +888,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_cdp.xml b/configs/lahaina/mixer_paths_cdp.xml
index 943da4d..909cb07 100644
--- a/configs/lahaina/mixer_paths_cdp.xml
+++ b/configs/lahaina/mixer_paths_cdp.xml
@@ -855,6 +855,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_qrd.xml b/configs/lahaina/mixer_paths_qrd.xml
index 13df7ba..5824cfd 100644
--- a/configs/lahaina/mixer_paths_qrd.xml
+++ b/configs/lahaina/mixer_paths_qrd.xml
@@ -881,6 +881,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
diff --git a/configs/lito/audio_configs.xml b/configs/lito/audio_configs.xml
deleted file mode 100644
index f5ea583..0000000
--- a/configs/lito/audio_configs.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- APM Configs -->
- <property name="audio.deep_buffer.media" value="true"/>
- <property name="audio.offload.disable" value="false"/>
- <property name="audio.offload.min.duration.secs" value="30"/>
- <property name="audio.offload.video" value="true"/>
- <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
- <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
- <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
- <property name="vendor.audio.offload.track.enable" value="true"/>
- <property name="vendor.audio.offload.multiple.enabled" value="false"/>
- <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.conc.fallbackpath" value=""/>
- <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
- <property name="vendor.voice.path.for.pcm.voip" value="true"/>
- <property name="vendor.voice.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.record.conc.disabled" value="false"/>
- <property name="vendor.voice.voip.conc.disabled" value="false"/>
- <flag name="audio_extn_formats_enabled" value="true" />
- <flag name="audio_extn_hdmi_spk_enabled" value="true" />
- <flag name="use_xml_audio_policy_conf" value="true" />
- <flag name="voice_concurrency" value="false" />
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
-
- <!-- AV Configs -->
- <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
- <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
- <property name="vendor.audio.use.sw.mpegh.decoder" value="true"/>
- <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
- <property name="vendor.audio.hw.aac.encoder" value="true"/>
- <flag name="aac_adts_offload_enabled" value="true" />
- <flag name="alac_offload_enabled" value="true" />
- <flag name="ape_offload_enabled" value="true" />
- <flag name="flac_offload_enabled" value="true" />
- <flag name="pcm_offload_enabled_16" value="true" />
- <flag name="pcm_offload_enabled_24" value="true" />
- <flag name="qti_flac_decoder" value="true" />
- <flag name="vorbis_offload_enabled" value="true" />
- <flag name="wma_offload_enabled" value="true" />
-</configs>
diff --git a/configs/lito/audio_configs_stock.xml b/configs/lito/audio_configs_stock.xml
deleted file mode 100644
index dd0c3b4..0000000
--- a/configs/lito/audio_configs_stock.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- AHAL Configs -->
-</configs>
diff --git a/configs/lito/lito.mk b/configs/lito/lito.mk
index 25a07f5..53f8246 100644
--- a/configs/lito/lito.mk
+++ b/configs/lito/lito.mk
@@ -48,7 +48,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
-AUDIO_FEATURE_ENABLED_AHAL_EXT := true
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
ifneq ($(GENERIC_ODM_IMAGE),true)
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
else
@@ -203,8 +203,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/lito/mixer_paths_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lito/mixer_paths_lagoonqrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_lagoonqrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lito/mixer_paths_cdp.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_cdp.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/lito/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/lito/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
@@ -507,10 +505,7 @@
android.hardware.audio.common@4.0-util \
android.hardware.audio@4.0-impl \
android.hardware.audio.effect@4.0 \
- android.hardware.audio.effect@4.0-impl \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+ android.hardware.audio.effect@4.0-impl
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/lito/mixer_paths.xml b/configs/lito/mixer_paths.xml
index ff26d4a..46c58fd 100644
--- a/configs/lito/mixer_paths.xml
+++ b/configs/lito/mixer_paths.xml
@@ -341,7 +341,6 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
@@ -3491,6 +3490,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/lito/mixer_paths_cdp.xml b/configs/lito/mixer_paths_cdp.xml
index 579fdcb..c6c3633 100644
--- a/configs/lito/mixer_paths_cdp.xml
+++ b/configs/lito/mixer_paths_cdp.xml
@@ -344,11 +344,8 @@
<ctl name="ADC1_MIXER Switch" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
<ctl name="DEC0_BCS Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="ADC3_MIXER Switch" value="0" />
- <ctl name="ADC3 MUX" value="ZERO" />
<ctl name="ADC4_MIXER Switch" value="0" />
- <ctl name="ADC4 MUX" value="ZERO" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
@@ -3496,6 +3493,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/lito/mixer_paths_lagoonmtp.xml b/configs/lito/mixer_paths_lagoonmtp.xml
index ba8246c..81ffc13 100644
--- a/configs/lito/mixer_paths_lagoonmtp.xml
+++ b/configs/lito/mixer_paths_lagoonmtp.xml
@@ -3418,6 +3418,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/lito/mixer_paths_lagoonqrd.xml b/configs/lito/mixer_paths_lagoonqrd.xml
index 1adfaaa..42bf3da 100644
--- a/configs/lito/mixer_paths_lagoonqrd.xml
+++ b/configs/lito/mixer_paths_lagoonqrd.xml
@@ -2733,6 +2733,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/lito/mixer_paths_orchidmtp.xml b/configs/lito/mixer_paths_orchidmtp.xml
index 5cbd2ae..debcd56 100644
--- a/configs/lito/mixer_paths_orchidmtp.xml
+++ b/configs/lito/mixer_paths_orchidmtp.xml
@@ -211,6 +211,9 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0" />
<!-- Multimode Voice1 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -228,6 +231,9 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0" />
<!-- Multimode Voice2 Display-Port -->
<ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -301,6 +307,8 @@
<ctl name="WSA_RX_0_VI_FB_RCH_MUX" value="ZERO" />
<ctl name="SpkrLeft COMP Switch" value="0" />
<ctl name="SpkrRight COMP Switch" value="0" />
+ <ctl name="SpkrLeft BOOST Switch" value="0" />
+ <ctl name="SpkrRight BOOST Switch" value="0" />
<ctl name="SpkrLeft VISENSE Switch" value="0" />
<ctl name="SpkrRight VISENSE Switch" value="0" />
<ctl name="SpkrLeft SWR DAC_Port Switch" value="0" />
@@ -493,6 +501,34 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference bt-sco">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference bt-sco-wb">
+ <path name="echo-reference bt-sco" />
+ </path>
+
+ <path name="echo-reference bt-sco-swb">
+ <path name="echo-reference bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -508,6 +544,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip bt-sco">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip bt-sco-wb">
+ <path name="echo-reference-voip bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip bt-sco-swb">
+ <path name="echo-reference-voip bt-sco" />
+ </path>
+
<path name="deep-buffer-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1" />
</path>
@@ -2103,6 +2152,10 @@
<path name="incall-rec-uplink" />
</path>
+ <path name="incall-rec-uplink call-proxy-in">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-uplink-compress">
<ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
</path>
@@ -2155,6 +2208,10 @@
<path name="incall-rec-downlink" />
</path>
+ <path name="incall-rec-downlink call-proxy-in">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-downlink headset-mic">
<path name="incall-rec-downlink" />
</path>
@@ -2212,6 +2269,10 @@
<path name="incall-rec-uplink-and-downlink" />
</path>
+ <path name="incall-rec-uplink-and-downlink call-proxy-in">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink headset-mic">
<path name="incall-rec-uplink-and-downlink" />
</path>
@@ -2313,6 +2374,16 @@
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="1" />
+ </path>
+
+ <path name="voicemmode1-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call headphones">
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1" />
@@ -2377,6 +2448,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call headphones">
<ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
@@ -2436,6 +2512,11 @@
<ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="1" />
+ </path>
+
<!-- VoIP Rx settings -->
<path name="audio-playback-voip">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1" />
@@ -2502,6 +2583,10 @@
</path>
<!-- VoIP Tx settings -->
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -2663,11 +2748,11 @@
</path>
<path name="speaker-mic">
- <path name="dmic2" />
+ <path name="dmic5" />
</path>
<path name="speaker-mic-liquid">
- <path name="dmic2" />
+ <path name="dmic5" />
</path>
<path name="speaker-mic-sbc">
@@ -2724,7 +2809,7 @@
</path>
<path name="handset-mic">
- <path name="dmic3" />
+ <path name="dmic2" />
</path>
<path name="headphones">
@@ -2953,7 +3038,7 @@
<path name="handset-dmic-endfire">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC2" />
+ <ctl name="TX DMIC MUX1" value="DMIC1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
<ctl name="TX DMIC MUX2" value="DMIC3" />
</path>
@@ -2961,9 +3046,9 @@
<path name="speaker-dmic-endfire">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC2" />
+ <ctl name="TX DMIC MUX1" value="DMIC4" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC3" />
+ <ctl name="TX DMIC MUX2" value="DMIC1" />
</path>
<path name="dmic-endfire">
@@ -3004,6 +3089,10 @@
<path name="dmic-endfire" />
</path>
+ <path name="hearing-aid-mic">
+ <path name="voice-speaker-mic"/>
+ </path>
+
<path name="handset-stereo-dmic-ef-liquid">
<path name="handset-dmic-endfire" />
</path>
@@ -3030,9 +3119,9 @@
<path name="speaker-dmic-broadside">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Two" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC1" />
+ <ctl name="TX DMIC MUX1" value="DMIC4" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC2" />
+ <ctl name="TX DMIC MUX2" value="DMIC1" />
</path>
<path name="dmic-broadside">
@@ -3048,19 +3137,19 @@
<path name="three-mic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Three" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC1" />
+ <ctl name="TX DMIC MUX1" value="DMIC3" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC2" />
+ <ctl name="TX DMIC MUX2" value="DMIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
- <ctl name="TX DMIC MUX3" value="DMIC3" />
+ <ctl name="TX DMIC MUX3" value="DMIC2" />
</path>
<path name="speaker-tmic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Three" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC1" />
+ <ctl name="TX DMIC MUX1" value="DMIC4" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC2" />
+ <ctl name="TX DMIC MUX2" value="DMIC1" />
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
<ctl name="TX DMIC MUX3" value="DMIC3" />
</path>
@@ -3073,9 +3162,9 @@
<path name="speaker-qmic">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="Four" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="TX DMIC MUX1" value="DMIC1" />
+ <ctl name="TX DMIC MUX1" value="DMIC4" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="TX DMIC MUX2" value="DMIC2" />
+ <ctl name="TX DMIC MUX2" value="DMIC1" />
<ctl name="TX_AIF1_CAP Mixer DEC3" value="1" />
<ctl name="TX DMIC MUX3" value="DMIC3" />
<ctl name="TX_AIF1_CAP Mixer DEC4" value="1" />
@@ -3150,7 +3239,6 @@
</path>
<path name="voice-tty-hco-headset-mic">
-
<ctl name="TX DEC6 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX6" value="ADC1" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
@@ -3399,6 +3487,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/lito/mixer_paths_qrd.xml b/configs/lito/mixer_paths_qrd.xml
index fe372b3..3e7e43d 100644
--- a/configs/lito/mixer_paths_qrd.xml
+++ b/configs/lito/mixer_paths_qrd.xml
@@ -341,7 +341,6 @@
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="ADC2_MIXER Switch" value="0" />
- <ctl name="ADC2 MUX" value="ZERO" />
<ctl name="DEC0_BCS Switch" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
@@ -2819,6 +2818,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="mmap-playback">
<ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1" />
</path>
diff --git a/configs/lito/sound_trigger_mixer_paths_orchidmtp.xml b/configs/lito/sound_trigger_mixer_paths_orchidmtp.xml
index 026d556..aa43baa 100644
--- a/configs/lito/sound_trigger_mixer_paths_orchidmtp.xml
+++ b/configs/lito/sound_trigger_mixer_paths_orchidmtp.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2014, 2020, The Linux Foundation. All rights reserved. -->
+<!--- Copyright (c) 2014-2020, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -84,6 +84,8 @@
<ctl name="ADC2_MIXER Switch" value="0" />
<ctl name="LPI Enable" value="0" />
<ctl name="ADC2 Volume" value="12" />
+ <ctl name="VA_DEC0 MODE" value="ADC_DEFAULT" />
+ <ctl name="ADC2_BCS Disable" value="0" />
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1" />
@@ -152,87 +154,103 @@
<path name="listen-voice-wakeup-1 port">
<ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-2 port">
<ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-3 port">
<ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-4 port">
<ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-5 port">
<ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-6 port">
<ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-7 port">
<ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-8 port">
<ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0" />
<ctl name="LPI Enable" value="1" />
+ <ctl name="ADC2_BCS Disable" value="1" />
</path>
<path name="listen-voice-wakeup-1 preproc port">
<ctl name="LSM1 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-2 preproc port">
<ctl name="LSM2 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-3 preproc port">
<ctl name="LSM3 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-4 preproc port">
<ctl name="LSM4 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-5 preproc port">
<ctl name="LSM5 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-6 preproc port">
<ctl name="LSM6 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-7 preproc port">
<ctl name="LSM7 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-voice-wakeup-8 preproc port">
<ctl name="LSM8 Port" value="ADM_LSM_TX" />
<ctl name="LPI Enable" value="0" />
+ <ctl name="ADC2_BCS Disable" value="0" />
</path>
<path name="listen-ape-handset-mic">
<ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
- <ctl name="VA DMIC MUX0" value="DMIC2" />
+ <ctl name="VA DMIC MUX0" value="DMIC4" />
</path>
<path name="listen-ape-handset-mic-preproc">
@@ -245,8 +263,8 @@
<ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
- <ctl name="VA DMIC MUX0" value="DMIC1" />
- <ctl name="VA DMIC MUX1" value="DMIC2" />
+ <ctl name="VA DMIC MUX0" value="DMIC4" />
+ <ctl name="VA DMIC MUX1" value="DMIC0" />
</path>
<path name="listen-ape-handset-tmic">
@@ -257,9 +275,9 @@
<ctl name="VA DEC0 MUX" value="MSM_DMIC" />
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
- <ctl name="VA DMIC MUX0" value="DMIC1" />
- <ctl name="VA DMIC MUX1" value="DMIC2" />
- <ctl name="VA DMIC MUX2" value="DMIC3" />
+ <ctl name="VA DMIC MUX0" value="DMIC4" />
+ <ctl name="VA DMIC MUX1" value="DMIC0" />
+ <ctl name="VA DMIC MUX2" value="DMIC1" />
</path>
<path name="listen-ape-handset-qmic">
@@ -272,10 +290,10 @@
<ctl name="VA DEC1 MUX" value="MSM_DMIC" />
<ctl name="VA DEC2 MUX" value="MSM_DMIC" />
<ctl name="VA DEC3 MUX" value="MSM_DMIC" />
- <ctl name="VA DMIC MUX0" value="DMIC1" />
- <ctl name="VA DMIC MUX1" value="DMIC2" />
- <ctl name="VA DMIC MUX2" value="DMIC3" />
- <ctl name="VA DMIC MUX3" value="DMIC0" />
+ <ctl name="VA DMIC MUX0" value="DMIC4" />
+ <ctl name="VA DMIC MUX1" value="DMIC0" />
+ <ctl name="VA DMIC MUX2" value="DMIC1" />
+ <ctl name="VA DMIC MUX3" value="DMIC3" />
</path>
<path name="listen-ape-headset-mic">
@@ -284,6 +302,7 @@
<ctl name="VA SMIC MUX0" value="ADC1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
</path>
<path name="echo-reference">
diff --git a/configs/msm8953/audio_output_policy.conf b/configs/msm8953/audio_output_policy.conf
index d983d9a..b19fbb0 100644
--- a/configs/msm8953/audio_output_policy.conf
+++ b/configs/msm8953/audio_output_policy.conf
@@ -18,6 +18,13 @@
bit_width 16
app_type 69937
}
+ voip_rx {
+ flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|16000|32000|48000
+ bit_width 16
+ app_type 69946
+ }
deep_buffer {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_16_BIT
diff --git a/configs/msm8953/audio_platform_info_intcodec.xml b/configs/msm8953/audio_platform_info_intcodec.xml
index 157d998..557cd0f 100644
--- a/configs/msm8953/audio_platform_info_intcodec.xml
+++ b/configs/msm8953/audio_platform_info_intcodec.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015 - 2016, 2018, 2020, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -53,6 +53,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="27" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsa881x.0f"/>
@@ -64,6 +66,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="136"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" acdb_id="136"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="137"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<backend_names>
@@ -165,6 +168,10 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/>
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>
diff --git a/configs/msm8953/audio_platform_info_sku3_tasha.xml b/configs/msm8953/audio_platform_info_sku3_tasha.xml
index d3cf620..806584e 100644
--- a/configs/msm8953/audio_platform_info_sku3_tasha.xml
+++ b/configs/msm8953/audio_platform_info_sku3_tasha.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015 - 2016, 2018, 2020 The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -62,6 +62,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="28" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="28" />
</pcm_ids>
<config_params>
<param key="native_audio_mode" value="src"/>
@@ -69,6 +71,9 @@
<param key="ffv_split_ec_ref_data" value="false"/>
<param key="ffv_ec_ref_channel_count" value="1"/>
</config_params>
+ <acdb_ids>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
+ </acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_BT_SCO" interface="INT_BT_SCO_RX"/>
@@ -87,6 +92,10 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/>
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>
diff --git a/configs/msm8953/audio_platform_info_sku4.xml b/configs/msm8953/audio_platform_info_sku4.xml
index 8b211a7..d848790 100644
--- a/configs/msm8953/audio_platform_info_sku4.xml
+++ b/configs/msm8953/audio_platform_info_sku4.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015 - 2016, 2018, 2020, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -52,6 +52,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="27" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsa881x.0f"/>
@@ -63,6 +65,7 @@
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="136"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" acdb_id="136"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="137"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<backend_names>
@@ -164,6 +167,10 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/>
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>
diff --git a/configs/msm8953/audio_platform_info_tasha.xml b/configs/msm8953/audio_platform_info_tasha.xml
index b9ae049..ee65dac 100644
--- a/configs/msm8953/audio_platform_info_tasha.xml
+++ b/configs/msm8953/audio_platform_info_tasha.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015 - 2016, 2018, 2020, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -64,6 +64,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="28" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="28" />
</pcm_ids>
<config_params>
<param key="native_audio_mode" value="src"/>
@@ -71,6 +73,9 @@
<param key="ffv_split_ec_ref_data" value="false"/>
<param key="ffv_ec_ref_channel_count" value="1"/>
</config_params>
+ <acdb_ids>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
+ </acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_BT_SCO" interface="INT_BT_SCO_RX"/>
@@ -89,6 +94,10 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/>
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>
diff --git a/configs/msm8953/audio_platform_info_tashalite.xml b/configs/msm8953/audio_platform_info_tashalite.xml
index a358144..ee65dac 100644
--- a/configs/msm8953/audio_platform_info_tashalite.xml
+++ b/configs/msm8953/audio_platform_info_tashalite.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015 - 2016, 2018, 2020 The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -64,6 +64,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="28" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="28" />
</pcm_ids>
<config_params>
<param key="native_audio_mode" value="src"/>
@@ -71,6 +73,9 @@
<param key="ffv_split_ec_ref_data" value="false"/>
<param key="ffv_ec_ref_channel_count" value="1"/>
</config_params>
+ <acdb_ids>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
+ </acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_BT_SCO" interface="INT_BT_SCO_RX"/>
@@ -89,6 +94,10 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/>
+ <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/>
</backend_names>
<!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
<microphone_characteristics>
diff --git a/configs/msm8953/mixer_paths_mtp.xml b/configs/msm8953/mixer_paths_mtp.xml
index fea32be..3d38818 100644
--- a/configs/msm8953/mixer_paths_mtp.xml
+++ b/configs/msm8953/mixer_paths_mtp.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved.
+ Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -266,6 +266,15 @@
<ctl name="IIR1 Enable Band5" value="0" />
<!-- IIR -->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="MI2S_DL_HL Switch" value="0" />
<!-- ADSP testfwk end-->
@@ -1309,7 +1318,68 @@
<ctl name="SpkrMono WSA_RDAC" value="Switch" />
</path>
- <path name="spkr-rx-calib">
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip bt-sco">
+ <ctl name="INTERNAL_BT_SCO_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">
+ <path name="audio-playback-voip afe-proxy" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-usb-headphones">
+ <path name="audio-playback-voip usb-headphones" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-headphones">
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
+ <path name="spkr-rx-calib">
<ctl name="PRI_MI2S_RX_DL_HL Switch" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_sku3_tasha.xml b/configs/msm8953/mixer_paths_sku3_tasha.xml
index 7efefd2..8bc89e9 100644
--- a/configs/msm8953/mixer_paths_sku3_tasha.xml
+++ b/configs/msm8953/mixer_paths_sku3_tasha.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -546,6 +546,12 @@
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
<!-- ADSP testfwk end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <!-- VoIP over audio -->
+
<!-- These are audio route (FE to BE) specific mixer settings -->
<path name="deep-buffer-playback">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" />
@@ -1964,6 +1970,60 @@
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
</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="INTERNAL_BT_SCO_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">
+ <path name="audio-playback-voip afe-proxy" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-usb-headphones">
+ <path name="audio-playback-voip usb-headphones" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-headphones">
+ <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 bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <ctl name="SLIM_1 SampleRate" value="16000" />
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_sku4.xml b/configs/msm8953/mixer_paths_sku4.xml
index 91a4d1a..d171873 100644
--- a/configs/msm8953/mixer_paths_sku4.xml
+++ b/configs/msm8953/mixer_paths_sku4.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2015, 2018, 2020 The Linux Foundation. All rights reserved.
+ Copyright (c) 2015, 2018, 2020-2021, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -270,6 +270,15 @@
<ctl name="MI2S_DL_HL Switch" value="0" />
<!-- ADSP testfwk end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<path name="bt-sco-wb-samplerate">
<ctl name="Internal BTSCO SampleRate" value="16000" />
</path>
@@ -1308,6 +1317,59 @@
<ctl name="SpkrMono WSA_RDAC" value="Switch" />
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip bt-sco">
+ <ctl name="INTERNAL_BT_SCO_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">
+ <path name="audio-playback-voip afe-proxy" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-usb-headphones">
+ <path name="audio-playback-voip usb-headphones" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-headphones">
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="PRI_MI2S_RX_DL_HL Switch" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_tasha.xml b/configs/msm8953/mixer_paths_tasha.xml
index 1a2987c..948a88e 100644
--- a/configs/msm8953/mixer_paths_tasha.xml
+++ b/configs/msm8953/mixer_paths_tasha.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -571,6 +571,12 @@
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
<!-- ADSP testfwk end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <!-- VoIP over audio -->
+
<!-- These are audio route (FE to BE) specific mixer settings -->
<path name="deep-buffer-playback">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" />
@@ -2034,6 +2040,68 @@
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
</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="INTERNAL_BT_SCO_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">
+ <path name="audio-playback-voip afe-proxy" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-usb-headphones">
+ <path name="audio-playback-voip usb-headphones" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-headphones">
+ <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 bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <ctl name="SLIM_1 SampleRate" value="16000" />
+ <path name="audio-record bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_tashalite.xml b/configs/msm8953/mixer_paths_tashalite.xml
index 5efe6d3..923bff1 100644
--- a/configs/msm8953/mixer_paths_tashalite.xml
+++ b/configs/msm8953/mixer_paths_tashalite.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -553,6 +553,12 @@
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
<!-- ADSP testfwk end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" />
+ <!-- VoIP over audio -->
+
<!-- These are audio route (FE to BE) specific mixer settings -->
<path name="deep-buffer-playback">
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" />
@@ -2011,6 +2017,68 @@
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
</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="INTERNAL_BT_SCO_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">
+ <path name="audio-playback-voip afe-proxy" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-usb-headphones">
+ <path name="audio-playback-voip usb-headphones" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <path name="audio-playback-voip speaker-and-headphones">
+ <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 bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco">
+ <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <ctl name="SLIM_1 SampleRate" value="16000" />
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
diff --git a/configs/msm8953/msm8953.mk b/configs/msm8953/msm8953.mk
index a72a102..3043a4c 100644
--- a/configs/msm8953/msm8953.mk
+++ b/configs/msm8953/msm8953.mk
@@ -8,7 +8,7 @@
#AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
-AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
+AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
@@ -257,7 +257,7 @@
endor.audio.feature.spkr_prot.enable=true \
vendor.audio.feature.dsm_feedback.enable=false \
vendor.audio.feature.ssrec.enable=true \
-vendor.audio.feature.compr_voip.enable=true \
+vendor.audio.feature.compr_voip.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
vendor.audio.feature.usb_offload.enable=false \
vendor.audio.feature.usb_offload_burst_mode.enable=false \
@@ -266,7 +266,7 @@
vendor.audio.feature.ras.enable=false \
vendor.audio.feature.a2dp_offload.enable=false \
vendor.audio.feature.wsa.enable=true \
-vendor.audio.feature.compress_meta_data.enablef=false \
+vendor.audio.feature.compress_meta_data.enable=true \
vendor.audio.feature.vbat.enable=true \
vendor.audio.feature.display_port.enable=false \
vendor.audio.feature.fluence.enable=true \
diff --git a/configs/msm8998/audio_platform_info.xml b/configs/msm8998/audio_platform_info.xml
index 38628fc..ebc09da 100755
--- a/configs/msm8998/audio_platform_info.xml
+++ b/configs/msm8998/audio_platform_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2014, 2016-2019, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2014, 2016-2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -66,6 +66,8 @@
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="27" />
<usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="33" />
<usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="33" />
+ <usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
+ <usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/msm8998/audio_policy_configuration.xml b/configs/msm8998/audio_policy_configuration.xml
index 91870ea..10190ac 100644
--- a/configs/msm8998/audio_policy_configuration.xml
+++ b/configs/msm8998/audio_policy_configuration.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Copyright (c) 2016-2019, The Linux Foundation. All rights reserved
+<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 2015 The Android Open Source Project
@@ -21,7 +21,7 @@
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration -->
- <globalConfiguration speaker_drc_enabled="true"/>
+ <globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>
<!-- Modules section:
@@ -167,6 +167,12 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
+ <mixPort name="incall_music_uplink" role="source"
+ flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -327,6 +333,8 @@
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload"/>
<route type="mix" sink="FM"
sources="primary output"/>
+ <route type="mix" sink="Telephony Tx"
+ sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="BT SCO"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
<route type="mix" sink="BT SCO Headset"
diff --git a/configs/msm8998/mixer_paths.xml b/configs/msm8998/mixer_paths.xml
index cd67426..d33abb0 100644
--- a/configs/msm8998/mixer_paths.xml
+++ b/configs/msm8998/mixer_paths.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -231,6 +231,9 @@
<!-- Multimode Voice1 USB headset -->
<ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -244,6 +247,9 @@
<!-- Multimode Voice2 USB headset -->
<ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- RT Proxy Cal -->
@@ -261,6 +267,7 @@
<!-- Incall Music -->
<ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
<ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" />
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="0" />
<!-- Incall Music End -->
<!-- compress-voip-call start -->
@@ -1096,6 +1103,10 @@
<path name="incall-rec-uplink-compress" />
</path>
+ <path name="incall-rec-uplink call-proxy-in">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-downlink">
<ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
</path>
@@ -1136,6 +1147,10 @@
<path name="incall-rec-downlink-compress" />
</path>
+ <path name="incall-rec-downlink call-proxy-in">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
@@ -1178,6 +1193,10 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-uplink-and-downlink call-proxy-in">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="incall_music_uplink">
<ctl name="Incall_Music Audio Mixer MultiMedia2" value="1" />
</path>
@@ -1347,6 +1366,11 @@
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call hdmi">
<ctl name="HDMI_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
@@ -1377,6 +1401,11 @@
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call hdmi">
<ctl name="HDMI_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
@@ -2245,4 +2274,183 @@
<path name="voice-tx">
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink call-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="call-proxy">
+ </path>
+
+ <path name="call-proxy-in">
+ </path>
+
</mixer>
diff --git a/configs/msm8998/mixer_paths_dtp.xml b/configs/msm8998/mixer_paths_dtp.xml
index a338dd7..523b532 100644
--- a/configs/msm8998/mixer_paths_dtp.xml
+++ b/configs/msm8998/mixer_paths_dtp.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
+ Copyright (c) 2015-2016, 2020, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -351,6 +351,9 @@
<!-- Multimode Voice1 USB headset -->
<ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -364,6 +367,9 @@
<!-- Multimode Voice2 USB headset -->
<ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -387,6 +393,7 @@
<!-- Incall Music -->
<ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
<ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" />
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="0" />
<!-- Incall Music End -->
<!-- compress-voip-call start -->
@@ -1387,6 +1394,10 @@
<path name="incall-rec-downlink-compress" />
</path>
+ <path name="incall-rec-downlink call-proxy-in">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
@@ -1429,6 +1440,10 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-uplink-and-downlink call-proxy-in">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="hfp-sco">
<ctl name="HFP_PRI_AUX_UL_HL Switch" value="1" />
<ctl name="SLIMBUS_0_RX Port Mixer AUX_PCM_UL_TX" value="1" />
@@ -1548,6 +1563,11 @@
<path name="voicemmode1-call"/>
</path>
+ <path name="voicemmode1-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="1" />
+ </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" />
@@ -1583,6 +1603,11 @@
<path name="voicemmode2-call"/>
</path>
+ <path name="voicemmode2-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="1" />
+ </path>
+
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
@@ -2404,4 +2429,183 @@
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink call-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="call-proxy">
+ </path>
+
+ <path name="call-proxy-in">
+ </path>
+
</mixer>
diff --git a/configs/msm8998/mixer_paths_skuk.xml b/configs/msm8998/mixer_paths_skuk.xml
index 9d9a461..475008e 100644
--- a/configs/msm8998/mixer_paths_skuk.xml
+++ b/configs/msm8998/mixer_paths_skuk.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -242,6 +242,9 @@
<ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -258,6 +261,9 @@
<ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -280,6 +286,7 @@
<!-- Incall Music -->
<ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="0" />
<!-- Incall Music End -->
<!-- compress-voip-call start -->
@@ -2032,6 +2039,10 @@
<path name="incall-rec-downlink-compress" />
</path>
+ <path name="incall-rec-downlink call-proxy-in">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
@@ -2074,6 +2085,10 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-uplink-and-downlink call-proxy-in">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="hfp-sco">
</path>
@@ -2176,6 +2191,11 @@
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call voice-speaker-vbat">
<path name="echo-reference speaker-vbat-mono" />
<path name="voicemmode1-call"/>
@@ -2222,6 +2242,11 @@
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call voice-speaker-vbat">
<path name="echo-reference speaker-vbat-mono" />
<path name="voicemmode2-call"/>
@@ -3117,4 +3142,183 @@
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink call-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="call-proxy">
+ </path>
+
+ <path name="call-proxy-in">
+ </path>
+
</mixer>
diff --git a/configs/msm8998/mixer_paths_tasha.xml b/configs/msm8998/mixer_paths_tasha.xml
index d5fc64b..a13b573 100644
--- a/configs/msm8998/mixer_paths_tasha.xml
+++ b/configs/msm8998/mixer_paths_tasha.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2017, 2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -427,6 +427,9 @@
<ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -443,6 +446,9 @@
<ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -465,6 +471,7 @@
<!-- Incall Music -->
<ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="0" />
<!-- Incall Music End -->
<!-- compress-voip-call start -->
@@ -2034,6 +2041,10 @@
<path name="incall-rec-uplink-compress" />
</path>
+ <path name="incall-rec-uplink call-proxy-in">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-downlink">
<ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
</path>
@@ -2074,6 +2085,10 @@
<path name="incall-rec-downlink-compress" />
</path>
+ <path name="incall-rec-downlink call-proxy-in">
+ <path name="incall-rec-downlink" />
+ </path>
+
<path name="incall-rec-uplink-and-downlink">
<path name="incall-rec-uplink" />
<path name="incall-rec-downlink" />
@@ -2116,6 +2131,10 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-uplink-and-downlink call-proxy-in">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="hfp-sco">
<ctl name="HFP_PRI_AUX_UL_HL Switch" value="1" />
<ctl name="SLIMBUS_0_RX Port Mixer SLIM_7_TX" value="1" />
@@ -2261,6 +2280,11 @@
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call bt-sco">
<ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="1" />
@@ -2302,6 +2326,11 @@
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
</path>
+ <path name="voicemmode2-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="1" />
+ </path>
+
<path name="voicemmode2-call headphones">
<ctl name="SLIM_6_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
@@ -3455,4 +3484,183 @@
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink call-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="call-proxy">
+ </path>
+
+ <path name="call-proxy-in">
+ </path>
+
</mixer>
diff --git a/configs/msm8998/mixer_paths_tavil.xml b/configs/msm8998/mixer_paths_tavil.xml
index 7a6c4f3..6956605 100644
--- a/configs/msm8998/mixer_paths_tavil.xml
+++ b/configs/msm8998/mixer_paths_tavil.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2016-2018, 2020, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -250,6 +250,9 @@
<ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0" />
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0" />
+ <!-- Multimode Voice1 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="0" />
<!-- Miltimode Voice1 end-->
<!-- Multimode Voice2 -->
@@ -266,6 +269,9 @@
<ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0" />
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0" />
+ <!-- Multimode Voice2 proxy-Port -->
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0" />
<!-- Multimode Voice2 end-->
<!-- Voice external ec. reference -->
@@ -288,6 +294,7 @@
<!-- Incall Music -->
<ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="0" />
<!-- Incall Music End -->
<!-- compress-voip-call start -->
@@ -2009,6 +2016,10 @@
<path name="incall-rec-uplink-compress" />
</path>
+ <path name="incall-rec-uplink call-proxy-in">
+ <path name="incall-rec-uplink" />
+ </path>
+
<path name="incall-rec-downlink">
<ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
</path>
@@ -2091,6 +2102,14 @@
<path name="incall-rec-uplink-and-downlink-compress" />
</path>
+ <path name="incall-rec-downlink call-proxy-in">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink call-proxy-in">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
<path name="hfp-sco">
</path>
@@ -2188,6 +2207,11 @@
<ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="1" />
</path>
+ <path name="voicemmode1-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1" />
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="1" />
+ </path>
+
<path name="voicemmode1-call usb-headphones">
<ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
@@ -2208,6 +2232,11 @@
<path name="voicemmode1-call"/>
</path>
+ <path name="voicemmode2-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1" />
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="1" />
+ </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" />
@@ -3350,4 +3379,183 @@
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink call-proxy">
+ <path name="incall_music_uplink" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2" />
+ </path>
+
+ <path name="call-proxy">
+ </path>
+
+ <path name="call-proxy-in">
+ </path>
+
</mixer>
diff --git a/configs/msm8998/msm8998.mk b/configs/msm8998/msm8998.mk
index 0034105..a160673 100644
--- a/configs/msm8998/msm8998.mk
+++ b/configs/msm8998/msm8998.mk
@@ -5,6 +5,7 @@
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
USE_CUSTOM_AUDIO_POLICY := 1
+AUDIO_FEATURE_QSSI_COMPLIANCE := true
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
@@ -53,7 +54,7 @@
AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
AUDIO_FEATURE_ENABLED_HFP := true
-AUDIO_FEATURE_ENABLED_INCALL_MUSIC := false
+AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
@@ -67,6 +68,7 @@
AUDIO_FEATURE_ENABLED_RAS := true
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
+AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
##AUDIO_FEATURE_FLAGS
#Audio Specific device overlays
@@ -281,7 +283,7 @@
vendor.audio.feature.hfp.enable=true \
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
-vendor.audio.feature.incall_music.enable=false \
+vendor.audio.feature.incall_music.enable=true \
vendor.audio.feature.multi_voice_session.enable=true \
vendor.audio.feature.keep_alive.enable=false \
vendor.audio.feature.kpi_optimize.enable=true \
diff --git a/configs/msmnile/audio_configs.xml b/configs/msmnile/audio_configs.xml
deleted file mode 100644
index 8e3cda2..0000000
--- a/configs/msmnile/audio_configs.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- APM Configs -->
- <property name="audio.deep_buffer.media" value="true"/>
- <property name="audio.offload.disable" value="false"/>
- <property name="audio.offload.min.duration.secs" value="30"/>
- <property name="audio.offload.video" value="true"/>
- <property name="persist.vendor.audio.sva.conc.enabled" value="false"/>
- <property name="persist.vendor.audio.va_concurrency_enabled" value="false"/>
- <property name="vendor.audio.av.streaming.offload.enable" value="false"/>
- <property name="vendor.audio.offload.track.enable" value="true"/>
- <property name="vendor.audio.offload.multiple.enabled" value="false"/>
- <property name="vendor.audio.rec.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.conc.fallbackpath" value=""/>
- <property name="vendor.voice.dsd.playback.conc.disabled" value="true"/>
- <property name="vendor.voice.path.for.pcm.voip" value="true"/>
- <property name="vendor.voice.playback.conc.disabled" value="false"/>
- <property name="vendor.voice.record.conc.disabled" value="false"/>
- <property name="vendor.voice.voip.conc.disabled" value="false"/>
- <flag name="audio_extn_formats_enabled" value="true" />
- <flag name="audio_extn_hdmi_spk_enabled" value="true" />
- <flag name="use_xml_audio_policy_conf" value="true" />
- <flag name="voice_concurrency" value="false" />
- <flag name="afe_proxy_enabled" value="true" />
- <flag name="compress_voip_enabled" value="false" />
- <flag name="fm_power_opt" value="true" />
- <flag name="record_play_concurrency" value="false" />
-
- <!-- AV Configs -->
- <property name="vendor.audio.use.sw.alac.decoder" value="true"/>
- <property name="vendor.audio.use.sw.ape.decoder" value="true"/>
- <property name="vendor.audio.use.sw.mpegh.decoder" value="false"/>
- <property name="vendor.audio.flac.sw.decoder.24bit" value="true"/>
- <property name="vendor.audio.hw.aac.encoder" value="true"/>
- <flag name="aac_adts_offload_enabled" value="true" />
- <flag name="alac_offload_enabled" value="true" />
- <flag name="ape_offload_enabled" value="true" />
- <flag name="flac_offload_enabled" value="true" />
- <flag name="pcm_offload_enabled_16" value="true" />
- <flag name="pcm_offload_enabled_24" value="true" />
- <flag name="qti_flac_decoder" value="true" />
- <flag name="vorbis_offload_enabled" value="true" />
- <flag name="wma_offload_enabled" value="true" />
-</configs>
diff --git a/configs/msmnile/audio_configs_stock.xml b/configs/msmnile/audio_configs_stock.xml
deleted file mode 100644
index dd0c3b4..0000000
--- a/configs/msmnile/audio_configs_stock.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Copyright (c) 2019, The Linux Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of The Linux Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-<configs>
- <!-- AHAL Configs -->
-</configs>
diff --git a/configs/msmnile/msmnile.mk b/configs/msmnile/msmnile.mk
index d8bc03f..a4accae 100644
--- a/configs/msmnile/msmnile.mk
+++ b/configs/msmnile/msmnile.mk
@@ -42,7 +42,7 @@
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true
AUDIO_FEATURE_ENABLED_3D_AUDIO := true
-AUDIO_FEATURE_ENABLED_AHAL_EXT := true
+AUDIO_FEATURE_ENABLED_AHAL_EXT := false
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
DOLBY_ENABLE := false
endif
@@ -177,8 +177,6 @@
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile/audio_platform_info_qrd.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info_qrd.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile/mixer_paths_pahu.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_pahu.xml \
vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
- vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile/audio_configs_stock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs_stock.xml \
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
@@ -457,10 +455,7 @@
android.hardware.audio.common@4.0-util \
android.hardware.audio@4.0-impl \
android.hardware.audio.effect@4.0 \
- android.hardware.audio.effect@4.0-impl \
- vendor.qti.hardware.audiohalext@1.0 \
- vendor.qti.hardware.audiohalext@1.0-impl \
- vendor.qti.hardware.audiohalext-utils
+ android.hardware.audio.effect@4.0-impl
# enable audio hidl hal 5.0
PRODUCT_PACKAGES += \
diff --git a/configs/sdm660/audio_output_policy.conf b/configs/sdm660/audio_output_policy.conf
index c6338e5..921c8b8 100644
--- a/configs/sdm660/audio_output_policy.conf
+++ b/configs/sdm660/audio_output_policy.conf
@@ -18,6 +18,13 @@
bit_width 16
app_type 69937
}
+ voip_rx {
+ flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|16000|32000|48000
+ bit_width 16
+ app_type 69946
+ }
deep_buffer {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_16_BIT
diff --git a/configs/sdm660/audio_platform_info_intcodec.xml b/configs/sdm660/audio_platform_info_intcodec.xml
index 5d8f467..e420f07 100644
--- a/configs/sdm660/audio_platform_info_intcodec.xml
+++ b/configs/sdm660/audio_platform_info_intcodec.xml
@@ -67,6 +67,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -102,6 +104,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="INT0_MI2S_RX"/>
diff --git a/configs/sdm660/audio_platform_info_skush.xml b/configs/sdm660/audio_platform_info_skush.xml
index 2df5832..4eab739 100644
--- a/configs/sdm660/audio_platform_info_skush.xml
+++ b/configs/sdm660/audio_platform_info_skush.xml
@@ -68,6 +68,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -90,6 +92,7 @@
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT" acdb_id="150"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" acdb_id="151"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" acdb_id="152"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="INT0_MI2S_RX"/>
diff --git a/configs/sdm660/audio_platform_info_tasha.xml b/configs/sdm660/audio_platform_info_tasha.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tasha.xml
+++ b/configs/sdm660/audio_platform_info_tasha.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/audio_platform_info_tasha_skus.xml b/configs/sdm660/audio_platform_info_tasha_skus.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tasha_skus.xml
+++ b/configs/sdm660/audio_platform_info_tasha_skus.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/audio_platform_info_tashalite.xml b/configs/sdm660/audio_platform_info_tashalite.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tashalite.xml
+++ b/configs/sdm660/audio_platform_info_tashalite.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/audio_platform_info_tavil.xml b/configs/sdm660/audio_platform_info_tavil.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tavil.xml
+++ b/configs/sdm660/audio_platform_info_tavil.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/audio_policy_configuration.xml b/configs/sdm660/audio_policy_configuration.xml
index aff987d..2d401ba 100644
--- a/configs/sdm660/audio_policy_configuration.xml
+++ b/configs/sdm660/audio_policy_configuration.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Copyright (c) 2016-2020 The Linux Foundation. All rights reserved
+<!-- Copyright (c) 2016-2021 The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 2015 The Android Open Source Project
@@ -163,6 +163,17 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
+ <mixPort name="usb_surround_sound" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ </mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -341,7 +352,9 @@
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>
+ <route type="mix" sink="usb_surround_sound"
+ sources="USB Device In,USB Headset In"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="surround_sound"
diff --git a/configs/sdm660/mixer_paths.xml b/configs/sdm660/mixer_paths.xml
index 9874c6d..9e6ffeb 100644
--- a/configs/sdm660/mixer_paths.xml
+++ b/configs/sdm660/mixer_paths.xml
@@ -175,6 +175,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -287,6 +288,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="INT4_MI2S_RX_DL_HL Switch" value="0" />
<ctl name="INT0_MI2S_RX_DL_HL Switch" value="0" />
@@ -418,13 +429,38 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <path name="echo-reference headphones" />
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <path name="echo-reference-voip headphones" />
</path>
<path name="deep-buffer-playback">
@@ -1909,6 +1945,61 @@
<path name="spkr-vi-record">
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="INT0_MI2S_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">
+ <path name="audio-playback-voip bt-sco" />
+ </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 afe-proxy">
+ <ctl name="AFE_PCM_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 INT3_MI2S_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">
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="ADC1 Volume" value="6" />
diff --git a/configs/sdm660/mixer_paths_mtp.xml b/configs/sdm660/mixer_paths_mtp.xml
index b38ed9a..ccab771 100644
--- a/configs/sdm660/mixer_paths_mtp.xml
+++ b/configs/sdm660/mixer_paths_mtp.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2017, 2020 The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2017, 2020-2021 The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -174,6 +174,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -286,6 +287,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="INT4_MI2S_RX_DL_HL Switch" value="0" />
<ctl name="INT0_MI2S_RX_DL_HL Switch" value="0" />
@@ -417,13 +428,38 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <path name="echo-reference headphones" />
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <path name="echo-reference-voip headphones" />
</path>
<path name="deep-buffer-playback">
@@ -2143,6 +2179,61 @@
<path name="spkr-vi-record">
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="INT0_MI2S_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">
+ <path name="audio-playback-voip bt-sco" />
+ </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 afe-proxy">
+ <ctl name="AFE_PCM_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 INT3_MI2S_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">
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="ADC1 Volume" value="6" />
@@ -2929,6 +3020,10 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="1" />
</path>
+ <path name="hifi-record">
+ <ctl name="MultiMedia2 Mixer INT3_MI2S_TX" value="1" />
+ </path>
+
<path name="hifi-record usb-headset-mic">
<ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" />
</path>
diff --git a/configs/sdm660/mixer_paths_skush.xml b/configs/sdm660/mixer_paths_skush.xml
index 131faec..8f58fcb 100644
--- a/configs/sdm660/mixer_paths_skush.xml
+++ b/configs/sdm660/mixer_paths_skush.xml
@@ -166,6 +166,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -278,6 +279,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="INT4_MI2S_RX_DL_HL Switch" value="0" />
<ctl name="INT0_MI2S_RX_DL_HL Switch" value="0" />
@@ -409,17 +420,48 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference handset">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <path name="echo-reference headphones" />
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-referenc-voip headphones-44.1">
+ <path name="echo-reference-voip headphones" />
</path>
<path name="deep-buffer-playback">
@@ -2567,6 +2609,61 @@
<path name="hdmi" />
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="INT0_MI2S_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">
+ <path name="audio-playback-voip bt-sco" />
+ </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 afe-proxy">
+ <ctl name="AFE_PCM_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 INT3_MI2S_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">
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="speaker-and-display-port">
<path name="speaker" />
<path name="display-port" />
diff --git a/configs/sdm660/mixer_paths_tasha.xml b/configs/sdm660/mixer_paths_tasha.xml
index 1a3b2de..c13def2 100644
--- a/configs/sdm660/mixer_paths_tasha.xml
+++ b/configs/sdm660/mixer_paths_tasha.xml
@@ -389,6 +389,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -586,6 +587,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -604,6 +615,7 @@
<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" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat-mono-2">
@@ -612,6 +624,7 @@
<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" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat">
@@ -623,18 +636,45 @@
<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" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
@@ -2171,6 +2211,61 @@
<path name="spkr-vi-record">
</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">
+ <path name="audio-playback-voip bt-sco" />
+ </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 afe-proxy">
+ <ctl name="AFE_PCM_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 bt-sco">
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="AIF1_CAP Mixer SLIM TX6" value="1"/>
diff --git a/configs/sdm660/mixer_paths_tasha_skus.xml b/configs/sdm660/mixer_paths_tasha_skus.xml
index 0cfdf84..1f6195a 100644
--- a/configs/sdm660/mixer_paths_tasha_skus.xml
+++ b/configs/sdm660/mixer_paths_tasha_skus.xml
@@ -390,6 +390,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -586,6 +587,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -604,6 +615,7 @@
<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" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat">
@@ -615,18 +627,45 @@
<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" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
@@ -2894,6 +2933,61 @@
<ctl name="HPHR Volume" value="14" />
</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">
+ <path name="audio-playback-voip bt-sco" />
+ </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 afe-proxy">
+ <ctl name="AFE_PCM_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 bt-sco">
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="speaker-and-anc-headphones-liquid">
<path name="anc-headphones" />
</path>
diff --git a/configs/sdm660/mixer_paths_tashalite.xml b/configs/sdm660/mixer_paths_tashalite.xml
index 6d0f5f5..c6a3884 100644
--- a/configs/sdm660/mixer_paths_tashalite.xml
+++ b/configs/sdm660/mixer_paths_tashalite.xml
@@ -389,6 +389,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -588,6 +589,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -606,6 +617,7 @@
<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" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat-mono-2">
@@ -614,6 +626,7 @@
<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" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat">
@@ -625,18 +638,45 @@
<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" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
@@ -2153,6 +2193,61 @@
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
</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">
+ <path name="audio-playback-voip bt-sco" />
+ </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 afe-proxy">
+ <ctl name="AFE_PCM_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 bt-sco">
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
diff --git a/configs/sdm660/mixer_paths_tavil.xml b/configs/sdm660/mixer_paths_tavil.xml
index 15e45c8..4113e75 100644
--- a/configs/sdm660/mixer_paths_tavil.xml
+++ b/configs/sdm660/mixer_paths_tavil.xml
@@ -212,6 +212,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -326,6 +327,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -563,13 +574,40 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_5_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_5_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
@@ -2057,6 +2095,61 @@
<path name="voicemmode2-call"/>
</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">
+ <path name="audio-playback-voip bt-sco" />
+ </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 afe-proxy">
+ <ctl name="AFE_PCM_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 bt-sco">
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip bt-sco-wb">
+ <path name="audio-record-voip bt-sco" />
+ </path>
+
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
diff --git a/configs/sdm660/sdm660.mk b/configs/sdm660/sdm660.mk
index 50f8810..3433c0a 100644
--- a/configs/sdm660/sdm660.mk
+++ b/configs/sdm660/sdm660.mk
@@ -7,7 +7,7 @@
USE_CUSTOM_AUDIO_POLICY := 1
AUDIO_FEATURE_QSSI_COMPLIANCE := true
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
-AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
+AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
@@ -290,7 +290,7 @@
vendor.audio.feature.compr_cap.enable=false \
vendor.audio.feature.compress_in.enable=false \
vendor.audio.feature.compress_meta_data.enable=true \
-vendor.audio.feature.compr_voip.enable=true \
+vendor.audio.feature.compr_voip.enable=false \
vendor.audio.feature.concurrent_capture.enable=false \
vendor.audio.feature.custom_stereo.enable=true \
vendor.audio.feature.display_port.enable=true \
diff --git a/configs/sdm710/audio_policy_configuration.xml b/configs/sdm710/audio_policy_configuration.xml
index d3bada4..57a3d7e 100644
--- a/configs/sdm710/audio_policy_configuration.xml
+++ b/configs/sdm710/audio_policy_configuration.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
+<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 2015 The Android Open Source Project
@@ -172,6 +172,17 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</mixPort>
+ <mixPort name="usb_surround_sound" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ </mixPort>
<mixPort name="voip_tx" role="sink"
flags="AUDIO_INPUT_FLAG_VOIP_TX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -349,7 +360,9 @@
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>
+ <route type="mix" sink="usb_surround_sound"
+ sources="USB Device In,USB Headset In"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="surround_sound"
diff --git a/configs/sdm845/audio_platform_info.xml b/configs/sdm845/audio_platform_info.xml
index 9d0c9e6..b8c2ad8 100644
--- a/configs/sdm845/audio_platform_info.xml
+++ b/configs/sdm845/audio_platform_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2014, 2016-2020, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2014, 2016-2021, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -99,6 +99,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
+ <usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
+ <usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm845/audio_policy_configuration.xml b/configs/sdm845/audio_policy_configuration.xml
index 130e9f8..285ba02 100644
--- a/configs/sdm845/audio_policy_configuration.xml
+++ b/configs/sdm845/audio_policy_configuration.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
+<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
Not a Contribution.
-->
<!-- Copyright (C) 2015 The Android Open Source Project
@@ -21,7 +21,7 @@
<!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
<!-- Global configuration Decalaration -->
- <globalConfiguration speaker_drc_enabled="true"/>
+ <globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>
<!-- Modules section:
@@ -161,6 +161,22 @@
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
+ <mixPort name="usb_surround_sound" role="sink">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
+ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
+ channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+ <mixPort name="incall_music_uplink" role="source"
+ flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="8000,16000,48000"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+ </mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
@@ -332,11 +348,13 @@
<route type="mix" sink="USB Headset Out"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
<route type="mix" sink="Telephony Tx"
- sources="voice_tx"/>
+ sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,USB Headset In"/>
+ sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>
+ <route type="mix" sink="usb_surround_sound"
+ sources="USB Device In,USB Headset In"/>
<route type="mix" sink="voip_tx"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
<route type="mix" sink="record_24"
diff --git a/configs/sdm845/sdm845.mk b/configs/sdm845/sdm845.mk
index 4762cad..0fefe53 100644
--- a/configs/sdm845/sdm845.mk
+++ b/configs/sdm845/sdm845.mk
@@ -52,7 +52,7 @@
AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
AUDIO_FEATURE_ENABLED_HFP := true
-AUDIO_FEATURE_ENABLED_INCALL_MUSIC := false
+AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
diff --git a/hal/audio_extn/audio_extn.c b/hal/audio_extn/audio_extn.c
index 04e7a55..3fdeb9b 100644
--- a/hal/audio_extn/audio_extn.c
+++ b/hal/audio_extn/audio_extn.c
@@ -1294,6 +1294,12 @@
set_values[0] = PCM_CHANNEL_FL;
set_values[1] = PCM_CHANNEL_FR;
break;
+ case 4:
+ set_values[0] = PCM_CHANNEL_FL;
+ set_values[1] = PCM_CHANNEL_FR;
+ set_values[2] = PCM_CHANNEL_LS;
+ set_values[3] = PCM_CHANNEL_LFE;
+ break;
case 6:
set_values[0] = PCM_CHANNEL_FL;
set_values[1] = PCM_CHANNEL_FR;
@@ -1390,7 +1396,7 @@
}
mixer_ctl_set_enum_by_string(ctl, channel_cnt_str);
- if (channel_count == 6 || channel_count == 8 || channel_count == 2) {
+ if (channel_count == 6 || channel_count == 8 || channel_count == 2 || channel_count == 4) {
ret = afe_proxy_set_channel_mapping(adev, channel_count, snd_device);
} else {
ALOGE("%s: set unsupported channel count(%d)", __func__, channel_count);
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index fa826f5..0ba2f4f 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2021, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2014 The Android Open Source Project
@@ -1159,9 +1159,6 @@
if (usecase->id == USECASE_AUDIO_PLAYBACK_VOIP) {
usecase->stream.out->app_type_cfg.sample_rate = usecase->stream.out->sample_rate;
- } else if (compare_device_type(&usecase->stream.out->device_list,
- AUDIO_DEVICE_OUT_SPEAKER)) {
- usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
} else if ((snd_device == SND_DEVICE_OUT_HDMI ||
snd_device == SND_DEVICE_OUT_USB_HEADSET ||
snd_device == SND_DEVICE_OUT_DISPLAY_PORT) &&
@@ -1180,9 +1177,7 @@
(usecase->stream.out->sample_rate < OUTPUT_SAMPLING_RATE_44100)) {
/* Reset to default if no native stream is active*/
usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
- } else if (usecase->out_snd_device == SND_DEVICE_OUT_BT_A2DP ||
- usecase->out_snd_device == SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP ||
- usecase->out_snd_device == SND_DEVICE_OUT_SPEAKER_SAFE_AND_BT_A2DP) {
+ } else if (snd_device == SND_DEVICE_OUT_BT_A2DP) {
/*
* For a2dp playback get encoder sampling rate and set copp sampling rate,
* for bit width use the stream param only.
@@ -1190,6 +1185,9 @@
audio_extn_a2dp_get_enc_sample_rate(&usecase->stream.out->app_type_cfg.sample_rate);
ALOGI("%s using %d sample rate rate for A2DP CoPP",
__func__, usecase->stream.out->app_type_cfg.sample_rate);
+ } else if (compare_device_type(&usecase->stream.out->device_list,
+ AUDIO_DEVICE_OUT_SPEAKER)) {
+ usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
}
audio_extn_btsco_get_sample_rate(snd_device, &usecase->stream.out->app_type_cfg.sample_rate);
sample_rate = usecase->stream.out->app_type_cfg.sample_rate;
@@ -3029,7 +3027,11 @@
int audio_extn_utils_get_sample_rate_from_string(const char *id_string)
{
int i;
- const mixer_config_lookup mixer_samplerate_config[] = {{"KHZ_32", 32000},
+ const mixer_config_lookup mixer_samplerate_config[] = {{"KHZ_8", 8000},
+ {"KHZ_11P025", 11025},
+ {"KHZ_16", 16000},
+ {"KHZ_22P05", 22050},
+ {"KHZ_32", 32000},
{"KHZ_48", 48000},
{"KHZ_96", 96000},
{"KHZ_144", 144000},
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 4f3af90..0a9c8b4 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2013 The Android Open Source Project
@@ -104,6 +104,7 @@
#define INVALID_OUT_VOLUME -1
#define AUDIO_IO_PORTS_MAX 32
+#define PLAYBACK_GAIN_MAX 1.0f
#define RECORD_GAIN_MIN 0.0f
#define RECORD_GAIN_MAX 1.0f
#define RECORD_VOLUME_CTL_MAX 0x2000
@@ -899,25 +900,6 @@
return ((left >= 0.0f && right >= 0.0f) ? true : false);
}
-static int enable_audio_route_for_voice_usecases(struct audio_device *adev,
- struct audio_usecase *uc_info)
-{
- struct listnode *node;
- struct audio_usecase *usecase;
-
- if (uc_info == NULL)
- return -EINVAL;
-
- /* Re-route all voice usecases on the shared backend other than the
- specified usecase to new snd devices */
- list_for_each(node, &adev->usecase_list) {
- usecase = node_to_item(node, struct audio_usecase, list);
- if ((usecase->type == VOICE_CALL) && (usecase != uc_info))
- enable_audio_route(adev, usecase);
- }
- return 0;
-}
-
static void enable_asrc_mode(struct audio_device *adev)
{
ALOGV("%s", __func__);
@@ -1884,24 +1866,22 @@
/* Update the out_snd_device only before enabling the audio route */
if (switch_device[usecase->id]) {
usecase->out_snd_device = derive_snd_device[usecase->id];
- if (usecase->type != VOICE_CALL) {
- ALOGD("%s:becf: enabling usecase (%s) on (%s)", __func__,
- use_case_table[usecase->id],
- platform_get_snd_device_name(usecase->out_snd_device));
- /* Update voc calibration before enabling VoIP route */
- if (usecase->type == VOIP_CALL)
- status = platform_switch_voice_call_device_post(adev->platform,
- usecase->out_snd_device,
- platform_get_input_snd_device(
- adev->platform, NULL,
- &uc_info->device_list,
- usecase->type));
- enable_audio_route(adev, usecase);
- if (usecase->stream.out && usecase->id == USECASE_AUDIO_PLAYBACK_VOIP) {
- out_set_voip_volume(&usecase->stream.out->stream,
- usecase->stream.out->volume_l,
- usecase->stream.out->volume_r);
- }
+ ALOGD("%s:becf: enabling usecase (%s) on (%s)", __func__,
+ use_case_table[usecase->id],
+ platform_get_snd_device_name(usecase->out_snd_device));
+ /* Update voc calibration before enabling Voice/VoIP route */
+ if (usecase->type == VOICE_CALL || usecase->type == VOIP_CALL)
+ status = platform_switch_voice_call_device_post(adev->platform,
+ usecase->out_snd_device,
+ platform_get_input_snd_device(
+ adev->platform, NULL,
+ &uc_info->device_list,
+ usecase->type));
+ enable_audio_route(adev, usecase);
+ if (usecase->stream.out && usecase->id == USECASE_AUDIO_PLAYBACK_VOIP) {
+ out_set_voip_volume(&usecase->stream.out->stream,
+ usecase->stream.out->volume_l,
+ usecase->stream.out->volume_r);
}
}
}
@@ -2014,19 +1994,17 @@
/* Update the in_snd_device only before enabling the audio route */
if (switch_device[usecase->id] ) {
usecase->in_snd_device = snd_device;
- if (usecase->type != VOICE_CALL) {
- /* Update voc calibration before enabling VoIP route */
- if (usecase->type == VOIP_CALL) {
- snd_device_t voip_snd_device;
- voip_snd_device = platform_get_output_snd_device(adev->platform,
- uc_info->stream.out,
- usecase->type);
- status = platform_switch_voice_call_device_post(adev->platform,
- voip_snd_device,
- usecase->in_snd_device);
- }
- enable_audio_route(adev, usecase);
+ /* Update voc calibration before enabling Voice/VoIP route */
+ if (usecase->type == VOICE_CALL || usecase->type == VOIP_CALL) {
+ snd_device_t voip_snd_device;
+ voip_snd_device = platform_get_output_snd_device(adev->platform,
+ usecase->stream.out,
+ usecase->type);
+ status = platform_switch_voice_call_device_post(adev->platform,
+ voip_snd_device,
+ usecase->in_snd_device);
}
+ enable_audio_route(adev, usecase);
}
}
}
@@ -2978,12 +2956,10 @@
enable_snd_device(adev, in_snd_device);
}
- if (usecase->type == VOICE_CALL || usecase->type == VOIP_CALL) {
+ if (usecase->type == VOICE_CALL || usecase->type == VOIP_CALL)
status = platform_switch_voice_call_device_post(adev->platform,
out_snd_device,
in_snd_device);
- enable_audio_route_for_voice_usecases(adev, usecase);
- }
usecase->in_snd_device = in_snd_device;
usecase->out_snd_device = out_snd_device;
@@ -3017,6 +2993,30 @@
}
enable_audio_route(adev, usecase);
+ if (uc_id == USECASE_AUDIO_PLAYBACK_VOIP) {
+ struct stream_in *voip_in = get_voice_communication_input(adev);
+ struct audio_usecase *voip_in_usecase = NULL;
+ voip_in_usecase = get_usecase_from_list(adev, USECASE_AUDIO_RECORD_VOIP);
+ if (voip_in != NULL &&
+ voip_in_usecase != NULL &&
+ !(out_snd_device == AUDIO_DEVICE_OUT_SPEAKER ||
+ out_snd_device == AUDIO_DEVICE_OUT_SPEAKER_SAFE) &&
+ (voip_in_usecase->in_snd_device ==
+ platform_get_input_snd_device(adev->platform, voip_in,
+ &usecase->stream.out->device_list,usecase->type))) {
+ /*
+ * if VOIP TX is enabled before VOIP RX, needs to re-route the TX path
+ * for enabling echo-reference-voip with correct port
+ */
+ ALOGD("%s: VOIP TX is enabled before VOIP RX,needs to re-route the TX path",__func__);
+ disable_audio_route(adev, voip_in_usecase);
+ disable_snd_device(adev, voip_in_usecase->in_snd_device);
+ enable_snd_device(adev, voip_in_usecase->in_snd_device);
+ enable_audio_route(adev, voip_in_usecase);
+ }
+ }
+
+
audio_extn_qdsp_set_device(usecase);
/* If input stream is already running then effect needs to be
@@ -3167,7 +3167,7 @@
}
if (is_sco_in_device_type(&in->device_list)) {
- if (!adev->bt_sco_on) {
+ if (!adev->bt_sco_on || audio_extn_a2dp_source_is_ready()) {
ALOGE("%s: SCO profile is not ready, return error", __func__);
ret = -EIO;
goto error_config;
@@ -3381,10 +3381,12 @@
return 0;
}
-/* must be called with out->lock and latch lock */
+/* must be called with out->lock */
static void stop_compressed_output_l(struct stream_out *out)
{
+ pthread_mutex_lock(&out->latch_lock);
out->offload_state = OFFLOAD_STATE_IDLE;
+ pthread_mutex_unlock(&out->latch_lock);
out->playback_started = 0;
out->send_new_metadata = 1;
if (out->compr != NULL) {
@@ -3642,11 +3644,9 @@
static int destroy_offload_callback_thread(struct stream_out *out)
{
lock_output_stream(out);
- pthread_mutex_lock(&out->latch_lock);
stop_compressed_output_l(out);
send_offload_cmd_l(out, OFFLOAD_CMD_EXIT);
- pthread_mutex_unlock(&out->latch_lock);
pthread_mutex_unlock(&out->lock);
pthread_join(out->offload_thread, (void **) NULL);
pthread_cond_destroy(&out->offload_cond);
@@ -3671,6 +3671,8 @@
return -EINVAL;
}
+ out->a2dp_muted = false;
+
if (audio_extn_ext_hw_plugin_usecase_stop(adev->ext_hw_plugin, uc_info))
ALOGE("%s: failed to stop ext hw plugin", __func__);
@@ -3719,9 +3721,6 @@
list_remove(&uc_info->list);
out->started = 0;
- pthread_mutex_lock(&out->latch_lock);
- out->muted = false;
- pthread_mutex_unlock(&out->latch_lock);
if (is_offload_usecase(out->usecase) &&
(audio_extn_passthru_is_passthrough_stream(out))) {
ALOGV("Disable passthrough , reset mixer to pcm");
@@ -3857,7 +3856,7 @@
if (is_speaker_active || is_speaker_safe_active) {
a2dp_combo = true;
} else {
- if (!(out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD)) {
+ if (!is_offload_usecase(out->usecase)) {
ALOGE("%s: A2DP profile is not ready, return error", __func__);
ret = -EAGAIN;
goto error_config;
@@ -4542,9 +4541,7 @@
adev->adm_deregister_stream(adev->adm_data, out->handle);
if (is_offload_usecase(out->usecase)) {
- pthread_mutex_lock(&out->latch_lock);
stop_compressed_output_l(out);
- pthread_mutex_unlock(&out->latch_lock);
}
pthread_mutex_lock(&adev->lock);
@@ -4622,9 +4619,7 @@
// is needed e.g. when SSR happens within compress_open
// since the stream is active, offload_callback_thread is also active.
if (out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) {
- pthread_mutex_lock(&out->latch_lock);
stop_compressed_output_l(out);
- pthread_mutex_unlock(&out->latch_lock);
}
pthread_mutex_unlock(&out->lock);
@@ -4663,9 +4658,7 @@
adev->adm_deregister_stream(adev->adm_data, out->handle);
if (is_offload_usecase(out->usecase)) {
- pthread_mutex_lock(&out->latch_lock);
stop_compressed_output_l(out);
- pthread_mutex_unlock(&out->latch_lock);
}
out->standby = true;
@@ -5012,17 +5005,19 @@
platform_set_swap_channels(adev, true);
audio_extn_perf_lock_release(&adev->perf_lock_handle);
}
- if ((out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) &&
- (!is_a2dp_out_device_type(&out->device_list) || audio_extn_a2dp_source_is_ready())) {
- pthread_mutex_lock(&out->latch_lock);
- if (out->a2dp_compress_mute) {
- out->a2dp_compress_mute = false;
- out_set_compr_volume(&out->stream, out->volume_l, out->volume_r);
+ pthread_mutex_lock(&out->latch_lock);
+ if (!is_a2dp_out_device_type(&out->device_list) || audio_extn_a2dp_source_is_ready()) {
+ if (out->a2dp_muted) {
+ out->a2dp_muted = false;
+ if (is_offload_usecase(out->usecase))
+ out_set_compr_volume(&out->stream, out->volume_l, out->volume_r);
+ else if (out->usecase != USECASE_AUDIO_PLAYBACK_VOIP)
+ out_set_pcm_volume(&out->stream, out->volume_l, out->volume_r);
}
- pthread_mutex_unlock(&out->latch_lock);
- } else if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) {
- out_set_voip_volume(&out->stream, out->volume_l, out->volume_r);
}
+ if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP && !out->a2dp_muted)
+ out_set_voip_volume(&out->stream, out->volume_l, out->volume_r);
+ pthread_mutex_unlock(&out->latch_lock);
}
}
@@ -5576,9 +5571,7 @@
ALOGD("%s: called with left_vol=%f, right_vol=%f", __func__, left, right);
if (out->usecase == USECASE_AUDIO_PLAYBACK_MULTI_CH) {
/* only take left channel into account: the API is for stereo anyway */
- pthread_mutex_lock(&out->latch_lock);
out->muted = (left == 0.0f);
- pthread_mutex_unlock(&out->latch_lock);
return 0;
} else if (is_offload_usecase(out->usecase)) {
if (audio_extn_passthru_is_passthrough_stream(out)) {
@@ -5616,15 +5609,15 @@
}
}
pthread_mutex_lock(&out->latch_lock);
- if (!out->a2dp_compress_mute) {
+ if (!out->a2dp_muted) {
ret = out_set_compr_volume(&out->stream, out->volume_l, out->volume_r);
}
pthread_mutex_unlock(&out->latch_lock);
return ret;
} else {
pthread_mutex_lock(&out->latch_lock);
- ALOGV("%s: compress mute %d", __func__, out->a2dp_compress_mute);
- if (!out->a2dp_compress_mute)
+ ALOGV("%s: compress mute %d", __func__, out->a2dp_muted);
+ if (!out->a2dp_muted)
ret = out_set_compr_volume(stream, left, right);
out->volume_l = left;
out->volume_r = right;
@@ -5634,14 +5627,17 @@
} else if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) {
out->app_type_cfg.gain[0] = (int)(left * VOIP_PLAYBACK_VOLUME_MAX);
out->app_type_cfg.gain[1] = (int)(right * VOIP_PLAYBACK_VOLUME_MAX);
+ pthread_mutex_lock(&out->latch_lock);
if (!out->standby) {
audio_extn_utils_send_app_type_gain(out->dev,
out->app_type_cfg.app_type,
&out->app_type_cfg.gain[0]);
- ret = out_set_voip_volume(stream, left, right);
+ if (!out->a2dp_muted)
+ ret = out_set_voip_volume(stream, left, right);
}
out->volume_l = left;
out->volume_r = right;
+ pthread_mutex_unlock(&out->latch_lock);
return ret;
} else if (out->usecase == USECASE_AUDIO_PLAYBACK_MMAP) {
ALOGV("%s: MMAP set volume called", __func__);
@@ -5653,21 +5649,25 @@
} else if (out->usecase == USECASE_AUDIO_PLAYBACK_LOW_LATENCY ||
out->usecase == USECASE_AUDIO_PLAYBACK_DEEP_BUFFER ||
out->usecase == USECASE_AUDIO_PLAYBACK_ULL) {
+ pthread_mutex_lock(&out->latch_lock);
/* Volume control for pcm playback */
- if (!out->standby)
+ if (!out->standby && !out->a2dp_muted)
ret = out_set_pcm_volume(stream, left, right);
else
out->apply_volume = true;
out->volume_l = left;
out->volume_r = right;
+ pthread_mutex_unlock(&out->latch_lock);
return ret;
} else if (audio_extn_auto_hal_is_bus_device_usecase(out->usecase)) {
ALOGV("%s: bus device set volume called", __func__);
- if (!out->standby)
+ pthread_mutex_lock(&out->latch_lock);
+ if (!out->standby && !out->a2dp_muted)
ret = out_set_pcm_volume(stream, left, right);
out->volume_l = left;
out->volume_r = right;
+ pthread_mutex_unlock(&out->latch_lock);
return ret;
}
@@ -5887,7 +5887,7 @@
(audio_extn_a2dp_source_is_suspended())) {
if (!(compare_device_type(&out->device_list, AUDIO_DEVICE_OUT_SPEAKER) ||
compare_device_type(&out->device_list, AUDIO_DEVICE_OUT_SPEAKER_SAFE))) {
- if (!(out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD)) {
+ if (!is_offload_usecase(out->usecase)) {
ret = -EIO;
goto exit;
}
@@ -6058,10 +6058,8 @@
} else {
if (out->pcm) {
size_t bytes_to_write = bytes;
- pthread_mutex_lock(&out->latch_lock);
if (out->muted)
memset((void *)buffer, 0, bytes);
- pthread_mutex_unlock(&out->latch_lock);
ALOGV("%s: frames=%zu, frame_size=%zu, bytes_to_write=%zu",
__func__, frames, frame_size, bytes_to_write);
@@ -6510,12 +6508,13 @@
lock_output_stream(out);
pthread_mutex_lock(&out->latch_lock);
if (out->offload_state == OFFLOAD_STATE_PAUSED) {
+ pthread_mutex_unlock(&out->latch_lock);
stop_compressed_output_l(out);
} else {
ALOGW("%s called in invalid state %d", __func__, out->offload_state);
+ pthread_mutex_unlock(&out->latch_lock);
}
out->written = 0;
- pthread_mutex_unlock(&out->latch_lock);
pthread_mutex_unlock(&out->lock);
ALOGD("copl(%p):out of compress flush", out);
return 0;
@@ -7822,7 +7821,7 @@
out->non_blocking = 0;
out->convert_buffer = NULL;
out->started = 0;
- out->a2dp_compress_mute = false;
+ out->a2dp_muted = false;
out->hal_output_suspend_supported = 0;
out->dynamic_pm_qos_config_supported = 0;
out->set_dual_mono = false;
@@ -8553,6 +8552,8 @@
out->kernel_buffer_size = out->config.period_size * out->config.period_count;
out->standby = 1;
+ out->volume_l = PLAYBACK_GAIN_MAX;
+ out->volume_r = PLAYBACK_GAIN_MAX;
/* out->muted = false; by calloc() */
/* out->written = 0; by calloc() */
@@ -8693,7 +8694,7 @@
free(out->compr_config.codec);
}
- out->a2dp_compress_mute = false;
+ out->a2dp_muted = false;
if (is_interactive_usecase(out->usecase))
free_interactive_usecase(adev, out->usecase);
@@ -8752,18 +8753,21 @@
/* notify adev and input/output streams on the snd card status */
adev_snd_mon_cb((void *)adev, parms);
- list_for_each(node, &adev->active_outputs_list) {
- streams_output_ctxt_t *out_ctxt = node_to_item(node,
- streams_output_ctxt_t,
- list);
- out_snd_mon_cb((void *)out_ctxt->output, parms);
- }
+ ret = str_parms_get_str(parms, "SND_CARD_STATUS", value, sizeof(value));
+ if (ret >= 0) {
+ list_for_each(node, &adev->active_outputs_list) {
+ streams_output_ctxt_t *out_ctxt = node_to_item(node,
+ streams_output_ctxt_t,
+ list);
+ out_snd_mon_cb((void *)out_ctxt->output, parms);
+ }
- list_for_each(node, &adev->active_inputs_list) {
- streams_input_ctxt_t *in_ctxt = node_to_item(node,
- streams_input_ctxt_t,
- list);
- in_snd_mon_cb((void *)in_ctxt->input, parms);
+ list_for_each(node, &adev->active_inputs_list) {
+ streams_input_ctxt_t *in_ctxt = node_to_item(node,
+ streams_input_ctxt_t,
+ list);
+ in_snd_mon_cb((void *)in_ctxt->input, parms);
+ }
}
pthread_mutex_lock(&adev->lock);
@@ -8772,7 +8776,30 @@
/* When set to false, HAL should disable EC and NS */
if (strcmp(value, AUDIO_PARAMETER_VALUE_ON) == 0){
adev->bt_sco_on = true;
- } else {
+ /*
+ * When ever BT_SCO=ON arrives, make sure to route
+ * all use cases to SCO device, otherwise due to delay in
+ * BT_SCO=ON and lack of synchronization with create audio patch
+ * request for SCO device, some times use case not routed properly to
+ * SCO device
+ */
+ struct audio_usecase *usecase;
+ struct listnode *node;
+ list_for_each(node, &adev->usecase_list) {
+ usecase = node_to_item(node, struct audio_usecase, list);
+ if (usecase->stream.in && (usecase->type == PCM_CAPTURE) &&
+ (!is_btsco_device(SND_DEVICE_NONE, usecase->in_snd_device))) {
+ ALOGD("BT_SCO ON, switch all in use case to it");
+ select_devices(adev, usecase->id);
+ }
+ if (usecase->stream.out && (usecase->type == PCM_PLAYBACK) &&
+ (!is_btsco_device(usecase->out_snd_device, SND_DEVICE_NONE))) {
+ ALOGD("BT_SCO ON, switch all out use case to it");
+ select_devices(adev, usecase->id);
+ }
+ }
+ }
+ else {
adev->bt_sco_on = false;
audio_extn_sco_reset_configuration();
}
@@ -8946,17 +8973,12 @@
//force device switch to re configure encoder
select_devices(adev, usecase->id);
ALOGD("Unmuting the stream after select_devices");
- pthread_mutex_lock(&usecase->stream.out->latch_lock);
- usecase->stream.out->a2dp_compress_mute = false;
- out_set_compr_volume(&usecase->stream.out->stream,
- usecase->stream.out->volume_l,
- usecase->stream.out->volume_r);
- pthread_mutex_unlock(&usecase->stream.out->latch_lock);
+ check_a2dp_restore_l(adev, usecase->stream.out, true);
audio_extn_a2dp_set_handoff_mode(false);
break;
- } else if (usecase->stream.out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) {
+ } else if (is_offload_usecase(usecase->stream.out->usecase)) {
pthread_mutex_lock(&usecase->stream.out->latch_lock);
- if (usecase->stream.out->a2dp_compress_mute) {
+ if (usecase->stream.out->a2dp_muted) {
pthread_mutex_unlock(&usecase->stream.out->latch_lock);
reassign_device_list(&usecase->stream.out->device_list,
AUDIO_DEVICE_OUT_BLUETOOTH_A2DP, "");
@@ -9575,6 +9597,7 @@
in->config.rate = config->sample_rate;
in->af_period_multiplier = 1;
} else if (in->source == AUDIO_SOURCE_VOICE_COMMUNICATION &&
+ (!voice_extn_is_compress_voip_supported()) &&
in->flags & AUDIO_INPUT_FLAG_VOIP_TX &&
(config->sample_rate == 8000 ||
config->sample_rate == 16000 ||
@@ -9592,6 +9615,10 @@
in->config.period_count = VOIP_CAPTURE_PERIOD_COUNT;
in->config.rate = config->sample_rate;
in->af_period_multiplier = 1;
+ } else if (in->realtime) {
+ in->config = pcm_config_audio_capture_rt;
+ in->config.format = pcm_format_from_audio_format(config->format);
+ in->af_period_multiplier = af_period_multiplier;
} else {
int ret_val;
pthread_mutex_lock(&adev->lock);
@@ -10399,9 +10426,9 @@
int check_a2dp_restore_l(struct audio_device *adev, struct stream_out *out, bool restore)
{
struct audio_usecase *uc_info;
- float left_p;
- float right_p;
+ struct audio_usecase *usecase;
struct listnode devices;
+ struct listnode *node;
uc_info = get_usecase_from_list(adev, out->usecase);
if (uc_info == NULL) {
@@ -10411,8 +10438,8 @@
}
list_init(&devices);
- ALOGD("%s: enter: usecase(%d: %s)", __func__,
- out->usecase, use_case_table[out->usecase]);
+ ALOGD("%s: enter: usecase(%d: %s), a2dp muted %d", __func__,
+ out->usecase, use_case_table[out->usecase], out->a2dp_muted);
if (restore) {
pthread_mutex_lock(&out->latch_lock);
@@ -10421,42 +10448,58 @@
ALOGD("%s: restoring A2dp and unmuting stream", __func__);
if (uc_info->out_snd_device != SND_DEVICE_OUT_BT_A2DP)
select_devices(adev, uc_info->id);
- if ((out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) &&
- (uc_info->out_snd_device == SND_DEVICE_OUT_BT_A2DP)) {
- if (out->a2dp_compress_mute) {
- out->a2dp_compress_mute = false;
+
+ if (is_offload_usecase(out->usecase)) {
+ if (uc_info->out_snd_device == SND_DEVICE_OUT_BT_A2DP)
out_set_compr_volume(&out->stream, out->volume_l, out->volume_r);
- }
+ } else if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) {
+ out_set_voip_volume(&out->stream, out->volume_l, out->volume_r);
+ } else {
+ out_set_pcm_volume(&out->stream, out->volume_l, out->volume_r);
}
+ out->a2dp_muted = false;
}
- out->muted = false;
pthread_mutex_unlock(&out->latch_lock);
} else {
pthread_mutex_lock(&out->latch_lock);
- if (out->flags & AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD) {
- // mute compress stream if suspended
- if (!out->a2dp_compress_mute && !out->standby) {
- ALOGD("%s: selecting speaker and muting stream", __func__);
- assign_devices(&devices, &out->device_list);
- reassign_device_list(&out->device_list, AUDIO_DEVICE_OUT_SPEAKER, "");
- left_p = out->volume_l;
- right_p = out->volume_r;
- if (out->offload_state == OFFLOAD_STATE_PLAYING)
- compress_pause(out->compr);
- out_set_compr_volume(&out->stream, (float)0, (float)0);
- out->a2dp_compress_mute = true;
- select_devices(adev, out->usecase);
+ // mute stream and switch to speaker if suspended
+ if (!out->a2dp_muted && !out->standby) {
+ assign_devices(&devices, &out->device_list);
+ reassign_device_list(&out->device_list, AUDIO_DEVICE_OUT_SPEAKER, "");
+ list_for_each(node, &adev->usecase_list) {
+ usecase = node_to_item(node, struct audio_usecase, list);
+ if ((usecase != uc_info) &&
+ platform_check_backends_match(SND_DEVICE_OUT_SPEAKER,
+ usecase->out_snd_device)) {
+ assign_devices(&out->device_list, &usecase->stream.out->device_list);
+ break;
+ }
+ }
+ if (uc_info->out_snd_device == SND_DEVICE_OUT_BT_A2DP) {
+ out->a2dp_muted = true;
+ if (is_offload_usecase(out->usecase)) {
+ if (out->offload_state == OFFLOAD_STATE_PLAYING)
+ compress_pause(out->compr);
+ out_set_compr_volume(&out->stream, (float)0, (float)0);
+ } else if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) {
+ out_set_voip_volume(&out->stream, (float)0, (float)0);
+ } else {
+ out_set_pcm_volume(&out->stream, (float)0, (float)0);
+ /* wait for stale pcm drained before switching to speaker */
+ uint32_t latency =
+ (out->config.period_count * out->config.period_size * 1000) /
+ (out->config.rate);
+ usleep(latency * 1000);
+ }
+ }
+ select_devices(adev, out->usecase);
+ ALOGD("%s: switched to device:%s and stream muted:%d", __func__,
+ platform_get_snd_device_name(uc_info->out_snd_device), out->a2dp_muted);
+ if (is_offload_usecase(out->usecase)) {
if (out->offload_state == OFFLOAD_STATE_PLAYING)
compress_resume(out->compr);
- assign_devices(&out->device_list, &devices);
- out->volume_l = left_p;
- out->volume_r = right_p;
}
- } else {
- // mute for non offloaded streams
- if (audio_extn_a2dp_source_is_suspended()) {
- out->muted = true;
- }
+ assign_devices(&out->device_list, &devices);
}
pthread_mutex_unlock(&out->latch_lock);
}
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 8fbab5e..ff1f293 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -443,7 +443,7 @@
qahwi_stream_out_t qahwi_out;
bool is_iec61937_info_available;
- bool a2dp_compress_mute;
+ bool a2dp_muted;
float volume_l;
float volume_r;
bool apply_volume;