Merge "hal: avoid redundant device switch during playback."
diff --git a/configs/msm8937/audio_platform_info.xml b/configs/msm8937/audio_platform_info.xml
old mode 100644
new mode 100755
index 457d902..adb9007
--- a/configs/msm8937/audio_platform_info.xml
+++ b/configs/msm8937/audio_platform_info.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, 2018, 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,8 +62,8 @@
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" interface="PRI_MI2S_RX"/>
- <device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INTERNAL_BT_SCO_RX"/>
- <device name="SND_DEVICE_OUT_BT_SCO" interface="INTERNAL_BT_SCO_RX"/>
+ <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"/>
<device name="SND_DEVICE_OUT_LINE" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_ANC_HEADSET" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" interface="PRI_MI2S_RX"/>
@@ -155,6 +155,10 @@
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" interface="TERT_MI2S_TX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" interface="PRI_MI2S_RX"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
+ <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"/>
</backend_names>
</audio_platform_info>
diff --git a/configs/msm8937/audio_platform_info_extcodec.xml b/configs/msm8937/audio_platform_info_extcodec.xml
index fa38c4f..44a0991 100644
--- a/configs/msm8937/audio_platform_info_extcodec.xml
+++ b/configs/msm8937/audio_platform_info_extcodec.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, 2018, 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 -->
@@ -59,6 +59,8 @@
</config_params>
<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"/>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_LINE" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_ANC_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
@@ -70,6 +72,12 @@
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
+ <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"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="SLIMBUS_0_RX-and-INT_BT_SCO_RX"/>
+ <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"/>
</backend_names>
</audio_platform_info>
diff --git a/configs/msm8937/mixer_paths.xml b/configs/msm8937/mixer_paths.xml
index 96f47d0..de278a2 100644
--- a/configs/msm8937/mixer_paths.xml
+++ b/configs/msm8937/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, 2018, 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 -->
@@ -252,6 +252,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -286,6 +304,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -324,6 +360,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -353,6 +407,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -374,6 +446,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback transmission-fm">
<ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -386,6 +481,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -394,6 +512,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -402,6 +543,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -410,6 +574,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
@@ -418,6 +605,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-record">
<ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_mtp.xml b/configs/msm8937/mixer_paths_mtp.xml
index d84f99b..fbc9ba4 100644
--- a/configs/msm8937/mixer_paths_mtp.xml
+++ b/configs/msm8937/mixer_paths_mtp.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, 2018, 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
@@ -278,6 +278,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -321,6 +339,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -368,6 +404,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -406,6 +460,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -436,6 +508,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -461,6 +556,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -478,6 +596,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
<path name="compress-offload-playback4 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -495,6 +636,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
<path name="compress-offload-playback5 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -512,6 +676,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -529,6 +716,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_qrd_sku1.xml b/configs/msm8937/mixer_paths_qrd_sku1.xml
index f31e700..a4acf0b 100644
--- a/configs/msm8937/mixer_paths_qrd_sku1.xml
+++ b/configs/msm8937/mixer_paths_qrd_sku1.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, 2018 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
@@ -283,6 +283,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -317,6 +335,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -350,6 +386,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -371,6 +425,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -387,6 +464,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -395,6 +495,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -403,6 +526,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -411,6 +557,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
@@ -419,6 +588,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-record">
<ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_qrd_sku2.xml b/configs/msm8937/mixer_paths_qrd_sku2.xml
index 4a74ac1..0154b96 100644
--- a/configs/msm8937/mixer_paths_qrd_sku2.xml
+++ b/configs/msm8937/mixer_paths_qrd_sku2.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, 2018, 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
@@ -280,6 +280,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -314,6 +332,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -347,6 +383,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -368,6 +422,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -384,6 +461,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -392,6 +492,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -400,6 +523,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -408,6 +554,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
@@ -416,6 +585,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-record">
<ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_qrd_skuh.xml b/configs/msm8937/mixer_paths_qrd_skuh.xml
index 49dc800..c2bf83f 100644
--- a/configs/msm8937/mixer_paths_qrd_skuh.xml
+++ b/configs/msm8937/mixer_paths_qrd_skuh.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -222,6 +222,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -252,6 +270,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -290,6 +326,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -316,6 +370,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_qrd_skuhf.xml b/configs/msm8937/mixer_paths_qrd_skuhf.xml
index eb78602..2232f18 100644
--- a/configs/msm8937/mixer_paths_qrd_skuhf.xml
+++ b/configs/msm8937/mixer_paths_qrd_skuhf.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -218,9 +218,28 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -247,9 +266,28 @@
</path>
<path name="low-latency-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -288,6 +326,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -314,6 +370,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_qrd_skui.xml b/configs/msm8937/mixer_paths_qrd_skui.xml
index 49dc800..c2bf83f 100644
--- a/configs/msm8937/mixer_paths_qrd_skui.xml
+++ b/configs/msm8937/mixer_paths_qrd_skui.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -222,6 +222,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -252,6 +270,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -290,6 +326,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -316,6 +370,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_qrd_skum.xml b/configs/msm8937/mixer_paths_qrd_skum.xml
index 876d910..0a91a0e 100644
--- a/configs/msm8937/mixer_paths_qrd_skum.xml
+++ b/configs/msm8937/mixer_paths_qrd_skum.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ Copyright (c) 2015, 2018, 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
@@ -237,6 +237,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -271,6 +289,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -309,6 +345,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -338,6 +392,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_qrd_skun.xml b/configs/msm8937/mixer_paths_qrd_skun.xml
index 7c45e29..449cea7 100644
--- a/configs/msm8937/mixer_paths_qrd_skun.xml
+++ b/configs/msm8937/mixer_paths_qrd_skun.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ Copyright (c) 2015, 2018, 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
@@ -525,6 +525,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -568,6 +586,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -627,6 +663,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -662,6 +716,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -710,6 +782,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -754,6 +844,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -798,6 +906,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -842,6 +968,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -886,6 +1030,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -930,6 +1092,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -974,6 +1154,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -1018,6 +1216,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8937/mixer_paths_sdm439_pm8953.xml b/configs/msm8937/mixer_paths_sdm439_pm8953.xml
index 5b8f268..e7de00d 100644
--- a/configs/msm8937/mixer_paths_sdm439_pm8953.xml
+++ b/configs/msm8937/mixer_paths_sdm439_pm8953.xml
@@ -279,6 +279,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -326,6 +344,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -377,6 +413,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -419,6 +473,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -453,6 +525,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -491,6 +586,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -512,6 +630,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -533,6 +674,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -554,6 +718,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -575,6 +762,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_skuk.xml b/configs/msm8937/mixer_paths_skuk.xml
index 239c536..dff6122 100644
--- a/configs/msm8937/mixer_paths_skuk.xml
+++ b/configs/msm8937/mixer_paths_skuk.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -218,9 +218,28 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -247,9 +266,28 @@
</path>
<path name="low-latency-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -288,6 +326,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -310,6 +366,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_wcd9306.xml b/configs/msm8937/mixer_paths_wcd9306.xml
index 99d8a16..b03be73 100644
--- a/configs/msm8937/mixer_paths_wcd9306.xml
+++ b/configs/msm8937/mixer_paths_wcd9306.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, 2018, 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 -->
@@ -317,6 +317,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -351,6 +369,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -402,6 +438,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -428,6 +482,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8937/mixer_paths_wcd9326.xml b/configs/msm8937/mixer_paths_wcd9326.xml
index 8bd3ef6..b757a8d 100644
--- a/configs/msm8937/mixer_paths_wcd9326.xml
+++ b/configs/msm8937/mixer_paths_wcd9326.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-16, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 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 -->
@@ -606,6 +606,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -654,6 +672,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -723,6 +759,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -767,6 +821,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -820,6 +892,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -869,6 +959,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -918,6 +1026,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -967,6 +1093,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -1016,6 +1160,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -1065,6 +1227,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -1114,6 +1294,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -1163,6 +1361,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8937/mixer_paths_wcd9330.xml b/configs/msm8937/mixer_paths_wcd9330.xml
index f03a81f..a78e9cc 100644
--- a/configs/msm8937/mixer_paths_wcd9330.xml
+++ b/configs/msm8937/mixer_paths_wcd9330.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, 2018, 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 -->
@@ -451,6 +451,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -485,6 +503,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -532,6 +568,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -566,6 +620,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -601,6 +673,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -636,6 +726,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -671,6 +779,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -706,6 +832,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -741,6 +885,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -776,6 +938,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -811,6 +991,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -846,6 +1044,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8937/mixer_paths_wcd9335.xml b/configs/msm8937/mixer_paths_wcd9335.xml
index 95e1f41..e809dfa 100644
--- a/configs/msm8937/mixer_paths_wcd9335.xml
+++ b/configs/msm8937/mixer_paths_wcd9335.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-16, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 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 -->
@@ -625,6 +625,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -673,6 +691,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -742,6 +778,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -786,6 +840,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -839,6 +911,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -888,6 +978,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -937,6 +1045,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -986,6 +1112,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -1035,6 +1179,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -1084,6 +1246,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -1133,6 +1313,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -1182,6 +1380,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8953/audio_platform_info.xml b/configs/msm8953/audio_platform_info.xml
old mode 100644
new mode 100755
index 1d8193b..8c59d97
--- a/configs/msm8953/audio_platform_info.xml
+++ b/configs/msm8953/audio_platform_info.xml
@@ -62,8 +62,8 @@
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" interface="PRI_MI2S_RX"/>
- <device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INTERNAL_BT_SCO_RX"/>
- <device name="SND_DEVICE_OUT_BT_SCO" interface="INTERNAL_BT_SCO_RX"/>
+ <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"/>
<device name="SND_DEVICE_OUT_LINE" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_ANC_HEADSET" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" interface="PRI_MI2S_RX"/>
@@ -155,6 +155,10 @@
<device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" interface="TERT_MI2S_TX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES" interface="PRI_MI2S_RX"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" interface="PRI_MI2S_RX"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/>
+ <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"/>
</backend_names>
</audio_platform_info>
diff --git a/configs/msm8953/audio_platform_info_extcodec.xml b/configs/msm8953/audio_platform_info_extcodec.xml
index ba2dfe6..826785c 100644
--- a/configs/msm8953/audio_platform_info_extcodec.xml
+++ b/configs/msm8953/audio_platform_info_extcodec.xml
@@ -69,6 +69,8 @@
<param key="ffv_ec_ref_channel_count" value="1"/>
</config_params>
<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"/>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_LINE" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_ANC_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
@@ -80,6 +82,10 @@
<device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/>
+ <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"/>
</backend_names>
</audio_platform_info>
diff --git a/configs/msm8953/mixer_paths.xml b/configs/msm8953/mixer_paths.xml
index 4a771c2..cdc955f 100644
--- a/configs/msm8953/mixer_paths.xml
+++ b/configs/msm8953/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, 2018, 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 -->
@@ -254,6 +254,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -292,6 +310,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -334,6 +370,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -367,6 +421,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -392,6 +464,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-headphones">
<path name="compress-offload-playback2" />
</path>
@@ -408,6 +503,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-headphones">
<path name="compress-offload-playback4" />
</path>
@@ -420,6 +538,28 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
<path name="compress-offload-playback4 speaker-and-headphones">
<path name="compress-offload-playback4" />
@@ -433,6 +573,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-headphones">
<path name="compress-offload-playback5" />
</path>
@@ -445,6 +608,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-headphones">
<path name="compress-offload-playback6" />
</path>
@@ -457,6 +643,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-headphones">
<path name="compress-offload-playback7" />
</path>
diff --git a/configs/msm8953/mixer_paths_mtp.xml b/configs/msm8953/mixer_paths_mtp.xml
index a7f4e21..e4b56a1 100644
--- a/configs/msm8953/mixer_paths_mtp.xml
+++ b/configs/msm8953/mixer_paths_mtp.xml
@@ -281,6 +281,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -328,6 +346,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -379,6 +415,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -421,6 +475,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -455,6 +527,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia7" value="1" />
</path>
@@ -493,6 +588,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia10" value="1" />
</path>
@@ -514,6 +632,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -535,6 +676,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
@@ -556,6 +720,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
@@ -577,6 +764,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 hdmi">
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_qrd_sku3.xml b/configs/msm8953/mixer_paths_qrd_sku3.xml
index 1edb0b4..faa32f5 100644
--- a/configs/msm8953/mixer_paths_qrd_sku3.xml
+++ b/configs/msm8953/mixer_paths_qrd_sku3.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, 2018, 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 -->
@@ -602,6 +602,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -650,6 +668,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -719,6 +755,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -763,6 +817,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -816,6 +888,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -865,6 +955,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -914,6 +1022,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -963,6 +1089,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -1012,6 +1156,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -1061,6 +1223,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -1110,6 +1290,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -1159,6 +1357,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8953/mixer_paths_qrd_skuh.xml b/configs/msm8953/mixer_paths_qrd_skuh.xml
index ff02427..c9aab20 100644
--- a/configs/msm8953/mixer_paths_qrd_skuh.xml
+++ b/configs/msm8953/mixer_paths_qrd_skuh.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -225,6 +225,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -259,6 +277,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -301,6 +337,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -331,6 +385,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_qrd_skuhf.xml b/configs/msm8953/mixer_paths_qrd_skuhf.xml
index 4f707f6..d641b91 100644
--- a/configs/msm8953/mixer_paths_qrd_skuhf.xml
+++ b/configs/msm8953/mixer_paths_qrd_skuhf.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -224,6 +224,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -257,6 +275,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -299,6 +335,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -329,6 +383,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_qrd_skui.xml b/configs/msm8953/mixer_paths_qrd_skui.xml
index d62b197..2b1cf85 100644
--- a/configs/msm8953/mixer_paths_qrd_skui.xml
+++ b/configs/msm8953/mixer_paths_qrd_skui.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -225,6 +225,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -259,6 +277,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -301,6 +337,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -331,6 +385,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_qrd_skum.xml b/configs/msm8953/mixer_paths_qrd_skum.xml
index e778d55..06a47b0 100644
--- a/configs/msm8953/mixer_paths_qrd_skum.xml
+++ b/configs/msm8953/mixer_paths_qrd_skum.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ Copyright (c) 2015, 2018, 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
@@ -240,6 +240,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -278,6 +296,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -320,6 +356,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -353,6 +407,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -378,6 +450,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
</path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback2 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback transmission-fm">
<ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
</path>
@@ -416,6 +511,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" />
</path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback3 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
@@ -424,6 +542,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia11" value="1" />
</path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback4 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-headphones">
<path name="compress-offload-playback4" />
</path>
@@ -436,6 +577,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia12" value="1" />
</path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback5 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-headphones">
<path name="compress-offload-playback5" />
</path>
@@ -448,6 +612,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia13" value="1" />
</path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback6 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-headphones">
<path name="compress-offload-playback6" />
</path>
@@ -460,6 +647,29 @@
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia14" value="1" />
</path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" />
+ <path name="compress-offload-playback7 bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-headphones">
<path name="compress-offload-playback7" />
</path>
diff --git a/configs/msm8953/mixer_paths_qrd_skun.xml b/configs/msm8953/mixer_paths_qrd_skun.xml
index 7c45e29..08ba7da 100644
--- a/configs/msm8953/mixer_paths_qrd_skun.xml
+++ b/configs/msm8953/mixer_paths_qrd_skun.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ Copyright (c) 2015, 2018, 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
@@ -525,6 +525,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -568,6 +586,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -627,6 +663,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -662,6 +716,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -710,6 +782,29 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-hdmi">
+ <path name="compress-offload-playback hdmi" />
+ <path name="compress-offload-playback" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -754,6 +849,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -798,6 +911,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -842,6 +973,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -886,6 +1035,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -930,6 +1097,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -974,6 +1159,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -1018,6 +1221,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8953/mixer_paths_skuk.xml b/configs/msm8953/mixer_paths_skuk.xml
old mode 100644
new mode 100755
index 741e48d..81da460
--- a/configs/msm8953/mixer_paths_skuk.xml
+++ b/configs/msm8953/mixer_paths_skuk.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ Copyright (c) 2014, 2018, 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
@@ -224,6 +224,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -257,6 +275,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path>
@@ -299,6 +335,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -325,6 +379,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_wcd9306.xml b/configs/msm8953/mixer_paths_wcd9306.xml
index 0db0f2d..f07410a 100644
--- a/configs/msm8953/mixer_paths_wcd9306.xml
+++ b/configs/msm8953/mixer_paths_wcd9306.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, 2018, 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 -->
@@ -316,6 +316,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -350,6 +368,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -401,6 +437,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -427,6 +481,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path>
diff --git a/configs/msm8953/mixer_paths_wcd9326.xml b/configs/msm8953/mixer_paths_wcd9326.xml
index 286c393..7854b7a 100644
--- a/configs/msm8953/mixer_paths_wcd9326.xml
+++ b/configs/msm8953/mixer_paths_wcd9326.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-16, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 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 -->
@@ -609,6 +609,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -657,6 +675,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -726,6 +762,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -770,6 +824,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -823,6 +895,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -872,6 +962,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -921,6 +1029,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -970,6 +1096,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -1019,6 +1163,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -1068,6 +1230,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -1117,6 +1297,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -1166,6 +1364,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8953/mixer_paths_wcd9330.xml b/configs/msm8953/mixer_paths_wcd9330.xml
index f03a81f..a78e9cc 100644
--- a/configs/msm8953/mixer_paths_wcd9330.xml
+++ b/configs/msm8953/mixer_paths_wcd9330.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, 2018, 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 -->
@@ -451,6 +451,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -485,6 +503,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -532,6 +568,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -566,6 +620,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -601,6 +673,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -636,6 +726,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -671,6 +779,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -706,6 +832,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -741,6 +885,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -776,6 +938,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -811,6 +991,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -846,6 +1044,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configs/msm8953/mixer_paths_wcd9335.xml b/configs/msm8953/mixer_paths_wcd9335.xml
index db68041..86ef119 100644
--- a/configs/msm8953/mixer_paths_wcd9335.xml
+++ b/configs/msm8953/mixer_paths_wcd9335.xml
@@ -632,6 +632,24 @@
<path name="deep-buffer-playback bt-sco" />
</path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco">
+ <path name="deep-buffer-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback wsa-speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="deep-buffer-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path>
@@ -680,6 +698,24 @@
<path name="low-latency-playback bt-sco" />
</path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco">
+ <path name="low-latency-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="low-latency-playback wsa-speaker-and-bt-sco-wb">
+ <path name="low-latency-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="low-latency-playback speaker-and-hdmi">
<path name="low-latency-playback hdmi" />
<path name="low-latency-playback" />
@@ -749,6 +785,24 @@
<path name="audio-ull-playback bt-sco" />
</path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb" />
+ <path name="audio-ull-playback" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco">
+ <path name="audio-ull-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="audio-ull-playback wsa-speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="audio-ull-playback afe-proxy">
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path>
@@ -793,6 +847,24 @@
<path name="compress-offload-playback bt-sco" />
</path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback speaker-and-hdmi">
<path name="compress-offload-playback hdmi" />
<path name="compress-offload-playback" />
@@ -846,6 +918,24 @@
<path name="compress-offload-playback2 bt-sco" />
</path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb" />
+ <path name="compress-offload-playback2" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback2 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback2 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback2 speaker-and-hdmi">
<path name="compress-offload-playback2 hdmi" />
<path name="compress-offload-playback2" />
@@ -895,6 +985,24 @@
<path name="compress-offload-playback3 bt-sco" />
</path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb" />
+ <path name="compress-offload-playback3" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback3 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback3 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback3 speaker-and-hdmi">
<path name="compress-offload-playback3 hdmi" />
<path name="compress-offload-playback3" />
@@ -944,6 +1052,24 @@
<path name="compress-offload-playback4 bt-sco" />
</path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb" />
+ <path name="compress-offload-playback4" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback4 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback4 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback4 speaker-and-hdmi">
<path name="compress-offload-playback4 hdmi" />
<path name="compress-offload-playback4" />
@@ -993,6 +1119,24 @@
<path name="compress-offload-playback5 bt-sco" />
</path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb" />
+ <path name="compress-offload-playback5" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback5 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback5 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback5 speaker-and-hdmi">
<path name="compress-offload-playback5 hdmi" />
<path name="compress-offload-playback5" />
@@ -1042,6 +1186,24 @@
<path name="compress-offload-playback6 bt-sco" />
</path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb" />
+ <path name="compress-offload-playback6" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback6 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback6 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback6 speaker-and-hdmi">
<path name="compress-offload-playback6 hdmi" />
<path name="compress-offload-playback6" />
@@ -1091,6 +1253,24 @@
<path name="compress-offload-playback7 bt-sco" />
</path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb" />
+ <path name="compress-offload-playback7" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback7 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback7 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback7 speaker-and-hdmi">
<path name="compress-offload-playback7 hdmi" />
<path name="compress-offload-playback7" />
@@ -1140,6 +1320,24 @@
<path name="compress-offload-playback8 bt-sco" />
</path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb" />
+ <path name="compress-offload-playback8" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback8 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback8 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback8 speaker-and-hdmi">
<path name="compress-offload-playback8 hdmi" />
<path name="compress-offload-playback8" />
@@ -1189,6 +1387,24 @@
<path name="compress-offload-playback9 bt-sco" />
</path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb" />
+ <path name="compress-offload-playback9" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco">
+ <path name="compress-offload-playback9 speaker-and-bt-sco" />
+ </path>
+
+ <path name="compress-offload-playback9 wsa-speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb" />
+ </path>
+
<path name="compress-offload-playback9 speaker-and-hdmi">
<path name="compress-offload-playback9 hdmi" />
<path name="compress-offload-playback9" />
diff --git a/configure.ac b/configure.ac
index d92c8bb..ef90749 100644
--- a/configure.ac
+++ b/configure.ac
@@ -136,6 +136,7 @@
AM_CONDITIONAL([AUDIO_HW_FFV], [test x$AUDIO_FEATURE_ENABLED_FFV = xtrue])
AM_CONDITIONAL([CUSTOM_STEREO], [test x$AUDIO_FEATURE_ENABLED_CUSTOM_STEREO = xtrue])
AM_CONDITIONAL([RUN_KEEP_ALIVE_IN_ARM_FFV], [test x$AUDIO_FEATURE_ENABLED_KEEP_ALIVE_ARM_FFV = xtrue])
+AM_CONDITIONAL([INSTANCE_ID], [test x$AUDIO_FEATURE_ENABLED_INSTANCE_ID = xtrue])
AC_CONFIG_FILES([ \
Makefile \
diff --git a/hal/Android.mk b/hal/Android.mk
index 50009c4..7f2db53 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -405,6 +405,10 @@
LOCAL_SRC_FILES += audio_extn/ffv.c
endif
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INSTANCE_ID)), true)
+ LOCAL_CFLAGS += -DINSTANCE_ID_ENABLED
+endif
+
LOCAL_CFLAGS += -Wall -Werror
LOCAL_COPY_HEADERS_TO := mm-audio
diff --git a/hal/Makefile.am b/hal/Makefile.am
index 46882f1..995622d 100644
--- a/hal/Makefile.am
+++ b/hal/Makefile.am
@@ -204,6 +204,10 @@
AM_CFLAGS += -DCUSTOM_STEREO_ENABLED
endif
+if INSTANCE_ID
+AM_CFLAGS += -DINSTANCE_ID_ENABLED
+endif
+
h_sources = audio_extn/audio_defs.h \
audio_extn/audio_extn.h \
audio_hw.h \
diff --git a/hal/acdb.c b/hal/acdb.c
index 4ae03e9..79ef4ae 100644
--- a/hal/acdb.c
+++ b/hal/acdb.c
@@ -28,6 +28,34 @@
#include "acdb.h"
#include "platform_api.h"
+#ifdef INSTANCE_ID_ENABLED
+int check_and_set_instance_id_support(struct mixer* mixer, bool acdb_support)
+{
+ const char *mixer_ctl_name = "Instance ID Support";
+ struct mixer_ctl* ctl;
+
+ ALOGV("%s", __func__);
+
+ /* Check for ACDB and property instance ID support and issue mixer control */
+ ctl = mixer_get_ctl_by_name(mixer, mixer_ctl_name);
+ if (!ctl) {
+ ALOGE("%s: Could not get ctl for mixer cmd - %s",
+ __func__, mixer_ctl_name);
+ return -EINVAL;
+ }
+
+ ALOGD("%s: Final Instance ID support:%d\n", __func__, acdb_support);
+ if (mixer_ctl_set_value(ctl, 0, acdb_support) < 0) {
+ ALOGE("%s: Could not set Instance ID support %d", __func__,
+ acdb_support);
+ return -EINVAL;
+ }
+ return 0;
+}
+#else
+#define check_and_set_instance_id_support(x, y) -ENOSYS
+#endif
+
int acdb_init(int snd_card_num)
{
@@ -83,6 +111,11 @@
ALOGV("%s: DLOPEN successful for %s", __func__, LIB_ACDB_LOADER);
+ my_data->acdb_init_v4 = (acdb_init_v4_t)dlsym(my_data->acdb_handle,
+ "acdb_loader_init_v4");
+ if (my_data->acdb_init_v4 == NULL)
+ ALOGE("%s: dlsym error %s for acdb_loader_init_v4", __func__, dlerror());
+
my_data->acdb_init_v3 = (acdb_init_v3_t)dlsym(my_data->acdb_handle,
"acdb_loader_init_v3");
if (my_data->acdb_init_v3 == NULL)
@@ -96,7 +129,7 @@
my_data->acdb_init = (acdb_init_t)dlsym(my_data->acdb_handle,
"acdb_loader_init_ACDB");
if (my_data->acdb_init == NULL && my_data->acdb_init_v2 == NULL
- && my_data->acdb_init_v3 == NULL) {
+ && my_data->acdb_init_v3 == NULL && my_data->acdb_init_v4 == NULL) {
ALOGE("%s: dlsym error %s for acdb_loader_init_ACDB", __func__, dlerror());
goto cleanup;
}
@@ -140,8 +173,16 @@
int key = 0;
struct listnode *node = NULL;
struct meta_key_list *key_info = NULL;
+ static bool acdb_instance_id_support = false;
- if (my_data->acdb_init_v3) {
+ my_data->acdb_init_data.cvd_version = cvd_version;
+ my_data->acdb_init_data.snd_card_name = strdup(snd_card_name);
+ my_data->acdb_init_data.meta_key_list = &my_data->acdb_meta_key_list;
+ my_data->acdb_init_data.is_instance_id_supported = &acdb_instance_id_support;
+
+ if (my_data->acdb_init_v4) {
+ result = my_data->acdb_init_v4(&my_data->acdb_init_data, ACDB_LOADER_INIT_V4);
+ } else if (my_data->acdb_init_v3) {
result = my_data->acdb_init_v3(snd_card_name, cvd_version,
&my_data->acdb_meta_key_list);
} else if (my_data->acdb_init_v2) {
@@ -152,6 +193,9 @@
} else {
result = my_data->acdb_init();
}
+ ALOGD("%s: ACDB Instance ID support after ACDB init:%d\n",
+ __func__, acdb_instance_id_support);
+ check_and_set_instance_id_support(mixer, acdb_instance_id_support);
cleanup:
if (NULL != my_data) {
diff --git a/hal/acdb.h b/hal/acdb.h
index 140370a..5e8c376 100644
--- a/hal/acdb.h
+++ b/hal/acdb.h
@@ -20,6 +20,7 @@
#ifndef ACDB_H
#define ACDB_H
+#include <stdbool.h>
#include <linux/msm_audio_calibration.h>
#define MAX_CVD_VERSION_STRING_SIZE 100
@@ -34,11 +35,19 @@
#endif
struct mixer;
+enum {
+ ACDB_LOADER_INIT_V1 = 1,
+ ACDB_LOADER_INIT_V2,
+ ACDB_LOADER_INIT_V3,
+ ACDB_LOADER_INIT_V4,
+};
+
/* Audio calibration related functions */
typedef void (*acdb_deallocate_t)();
typedef int (*acdb_init_t)();
typedef int (*acdb_init_v2_t)(const char *, char *, int);
typedef int (*acdb_init_v3_t)(const char *, char *, struct listnode *);
+typedef int (*acdb_init_v4_t)(void *, int);
typedef void (*acdb_send_audio_cal_t)(int, int, int , int);
typedef void (*acdb_send_audio_cal_v3_t)(int, int, int, int, int);
typedef void (*acdb_send_voice_cal_t)(int, int);
@@ -59,13 +68,22 @@
char name[ACDB_METAINFO_KEY_MODULE_NAME_LEN];
};
+struct acdb_init_data_v4 {
+ char *cvd_version;
+ char *snd_card_name;
+ struct listnode *meta_key_list;
+ bool *is_instance_id_supported;
+};
+
struct acdb_platform_data {
/* Audio calibration related functions */
void *acdb_handle;
acdb_init_t acdb_init;
acdb_init_v2_t acdb_init_v2;
acdb_init_v3_t acdb_init_v3;
+ acdb_init_v4_t acdb_init_v4;
struct listnode acdb_meta_key_list;
+ struct acdb_init_data_v4 acdb_init_data;
};
int acdb_init(int);
diff --git a/hal/audio_extn/audio_defs.h b/hal/audio_extn/audio_defs.h
old mode 100755
new mode 100644
index 1b34c53..0e1848e
--- a/hal/audio_extn/audio_defs.h
+++ b/hal/audio_extn/audio_defs.h
@@ -113,6 +113,7 @@
*/
#define AUDIO_INPUT_FLAG_TIMESTAMP 0x80000000
#define AUDIO_INPUT_FLAG_COMPRESS 0x40000000
+#define AUDIO_INPUT_FLAG_PASSTHROUGH 0x20000000
/* MAX SECTORS for sourcetracking feature */
#define MAX_SECTORS 8
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
old mode 100755
new mode 100644
index 0092e87..6c5d0e1
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -798,6 +798,8 @@
#define audio_extn_gef_init(adev) (0)
#define audio_extn_gef_deinit() (0)
#define audio_extn_gef_notify_device_config(devices, cmask, sample_rate, acdb_id) (0)
+
+#ifndef INSTANCE_ID_ENABLED
#define audio_extn_gef_send_audio_cal(dev, acdb_dev_id, acdb_device_type,\
app_type, topology_id, sample_rate, module_id, param_id, data, length, persist) (0)
#define audio_extn_gef_get_audio_cal(adev, acdb_dev_id, acdb_device_type,\
@@ -806,6 +808,20 @@
app_type, topology_id, sample_rate, module_id, param_id, data, length) (0)
#define audio_extn_gef_retrieve_audio_cal(adev, acdb_dev_id, acdb_device_type,\
app_type, topology_id, sample_rate, module_id, param_id, data, length) (0)
+#else
+#define audio_extn_gef_send_audio_cal(dev, acdb_dev_id, acdb_device_type,\
+ app_type, topology_id, sample_rate, module_id, instance_id, param_id, data,\
+ length, persist) (0)
+#define audio_extn_gef_get_audio_cal(adev, acdb_dev_id, acdb_device_type,\
+ app_type, topology_id, sample_rate, module_id, instance_id, param_id, data,\
+ length, persist) (0)
+#define audio_extn_gef_store_audio_cal(adev, acdb_dev_id, acdb_device_type,\
+ app_type, topology_id, sample_rate, module_id, instance_id, param_id, data,\
+ length) (0)
+#define audio_extn_gef_retrieve_audio_cal(adev, acdb_dev_id, acdb_device_type,\
+ app_type, topology_id, sample_rate, module_id, instance_id, param_id, data,\
+ length) (0)
+#endif
#else
@@ -814,18 +830,33 @@
void audio_extn_gef_notify_device_config(audio_devices_t audio_device,
audio_channel_mask_t channel_mask, int sample_rate, int acdb_id);
+#ifndef INSTANCE_ID_ENABLED
int audio_extn_gef_send_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
- void* data, int length, bool persist);
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint32_t param_id, void* data, int length, bool persist);
int audio_extn_gef_get_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
- void* data, int* length, bool persist);
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint32_t param_id, void* data, int* length, bool persist);
int audio_extn_gef_store_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
- void* data, int length);
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint32_t param_id, void* data, int length);
int audio_extn_gef_retrieve_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
- void* data, int* length);
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint32_t param_id, void* data, int* length);
+#else
+int audio_extn_gef_send_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint16_t instance_id, uint32_t param_id, void* data, int length, bool persist);
+int audio_extn_gef_get_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint16_t instance_id, uint32_t param_id, void* data, int* length, bool persist);
+int audio_extn_gef_store_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint16_t instance_id, uint32_t param_id, void* data, int length);
+int audio_extn_gef_retrieve_audio_cal(void* adev, int acdb_dev_id, int acdb_device_type,
+ int app_type, int topology_id, int sample_rate, uint32_t module_id,
+ uint16_t instance_id, uint32_t param_id, void* data, int* length);
+#endif
#endif /* AUDIO_GENERIC_EFFECT_FRAMEWORK_ENABLED */
@@ -845,6 +876,7 @@
#ifdef COMPRESS_INPUT_ENABLED
bool audio_extn_cin_applicable_stream(struct stream_in *in);
bool audio_extn_cin_attached_usecase(audio_usecase_t uc_id);
+bool audio_extn_cin_format_supported(audio_format_t format);
size_t audio_extn_cin_get_buffer_size(struct stream_in *in);
int audio_extn_cin_start_input_stream(struct stream_in *in);
void audio_extn_cin_stop_input_stream(struct stream_in *in);
@@ -855,6 +887,7 @@
#else
#define audio_extn_cin_applicable_stream(in) (false)
#define audio_extn_cin_attached_usecase(uc_id) (false)
+#define audio_extn_cin_format_supported(format) (false)
#define audio_extn_cin_get_buffer_size(in) (0)
#define audio_extn_cin_start_input_stream(in) (0)
#define audio_extn_cin_stop_input_stream(in) (0)
diff --git a/hal/audio_extn/compress_in.c b/hal/audio_extn/compress_in.c
index 305ed5b..3066f3c 100644
--- a/hal/audio_extn/compress_in.c
+++ b/hal/audio_extn/compress_in.c
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+* Copyright (c) 2016-2018, 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
@@ -157,13 +157,22 @@
pthread_mutex_unlock(&cin_lock);
}
+bool audio_extn_cin_format_supported(audio_format_t format)
+{
+ if (format == AUDIO_FORMAT_IEC61937)
+ return true;
+ else
+ return false;
+}
+
size_t audio_extn_cin_get_buffer_size(struct stream_in *in)
{
size_t sz = 0;
cin_private_data_t *cin_data = (cin_private_data_t *) in->cin_extn;
sz = cin_data->compr_config.fragment_size;
- if (in->flags & AUDIO_INPUT_FLAG_TIMESTAMP)
+ if ((in->flags & AUDIO_INPUT_FLAG_TIMESTAMP) ||
+ (in->flags & AUDIO_INPUT_FLAG_PASSTHROUGH))
sz -= sizeof(struct snd_codec_metadata);
ALOGV("%s: in %p, flags 0x%x, cin_data %p, size %zd",
@@ -230,7 +239,7 @@
if (!is_compress_running(cin_data->compr))
compress_start(cin_data->compr);
- if (!(in->flags & AUDIO_INPUT_FLAG_TIMESTAMP))
+ if (!(in->flags & (AUDIO_INPUT_FLAG_TIMESTAMP | AUDIO_INPUT_FLAG_PASSTHROUGH)))
mdata_size = 0;
if (buffer && read_size) {
@@ -265,7 +274,7 @@
cin_private_data_t *cin_data = NULL;
if (!COMPRESSED_TIMESTAMP_FLAG &&
- (in->flags & AUDIO_INPUT_FLAG_TIMESTAMP)) {
+ (in->flags & (AUDIO_INPUT_FLAG_TIMESTAMP | AUDIO_INPUT_FLAG_PASSTHROUGH))) {
ALOGE("%s: timestamp mode not supported!", __func__);
return -EINVAL;
}
@@ -305,7 +314,16 @@
cin_data->compr_config.codec->ch_in = in->config.channels;
cin_data->compr_config.codec->ch_out = in->config.channels;
cin_data->compr_config.codec->format = hal_format_to_alsa(in->format);
- if (in->flags & AUDIO_INPUT_FLAG_TIMESTAMP) {
+
+ if (cin_data->compr_config.codec->id == SND_AUDIOCODEC_PCM)
+ cin_data->compr_config.codec->compr_passthr = LEGACY_PCM;
+ else if (cin_data->compr_config.codec->id == SND_AUDIOCODEC_IEC61937)
+ cin_data->compr_config.codec->compr_passthr = PASSTHROUGH_IEC61937;
+ else
+ cin_data->compr_config.codec->compr_passthr = PASSTHROUGH_GEN;
+
+ if ((in->flags & AUDIO_INPUT_FLAG_TIMESTAMP) ||
+ (in->flags & AUDIO_INPUT_FLAG_PASSTHROUGH)) {
compress_config_set_timstamp_flag(&cin_data->compr_config);
cin_data->compr_config.fragment_size += meta_size;
}
diff --git a/hal/audio_extn/gef.c b/hal/audio_extn/gef.c
index 4525f08..7f82a8a 100644
--- a/hal/audio_extn/gef.c
+++ b/hal/audio_extn/gef.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018, 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
@@ -170,25 +170,31 @@
}
+#ifdef INSTANCE_ID_ENABLED
//this will be called from GEF to exchange calibration using acdb
int audio_extn_gef_send_audio_cal(void* dev, int acdb_dev_id,
int gef_cal_type, int app_type, int topology_id, int sample_rate,
- uint32_t module_id, uint32_t param_id, void* data, int length, bool persist)
+ uint32_t module_id, uint16_t instance_id, uint32_t param_id,
+ void* data, int length, bool persist)
{
int ret = 0;
struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
int acdb_device_type =
make_acdb_device_type_from_gef_cal_type(gef_cal_type);
ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
//lock adev
pthread_mutex_lock(&adev->lock);
- //send cal
- ret = platform_send_audio_cal(adev->platform, acdb_dev_id,
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
acdb_device_type, app_type, topology_id, sample_rate,
- module_id, param_id, data, length, persist);
+ module_id, instance_id, param_id, true);
+
+ ret = platform_send_audio_cal(adev->platform, &cal, data, length, persist);
pthread_mutex_unlock(&adev->lock);
@@ -200,21 +206,154 @@
//this will be called from GEF to exchange calibration using acdb
int audio_extn_gef_get_audio_cal(void* dev, int acdb_dev_id,
int gef_cal_type, int app_type, int topology_id, int sample_rate,
- uint32_t module_id, uint32_t param_id, void* data, int* length, bool persist)
+ uint32_t module_id, uint16_t instance_id, uint32_t param_id,
+ void* data, int* length, bool persist)
{
int ret = 0;
struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
int acdb_device_type =
make_acdb_device_type_from_gef_cal_type(gef_cal_type);
ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
//lock adev
pthread_mutex_lock(&adev->lock);
- ret = platform_get_audio_cal(adev->platform, acdb_dev_id,
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
acdb_device_type, app_type, topology_id, sample_rate,
- module_id, param_id, data, length, persist);
+ module_id, instance_id, param_id, false);
+
+ ret = platform_get_audio_cal(adev->platform, &cal, data, length, persist);
+
+ pthread_mutex_unlock(&adev->lock);
+
+ ALOGV("%s: Exit with error %d", __func__, ret);
+
+ return ret;
+}
+
+//this will be called from GEF to store into acdb
+int audio_extn_gef_store_audio_cal(void* dev, int acdb_dev_id,
+ int gef_cal_type, int app_type, int topology_id, int sample_rate,
+ uint32_t module_id, uint16_t instance_id,
+ uint32_t param_id, void* data, int length)
+{
+ int ret = 0;
+ struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
+ int acdb_device_type =
+ make_acdb_device_type_from_gef_cal_type(gef_cal_type);
+
+ ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
+
+ //lock adev
+ pthread_mutex_lock(&adev->lock);
+
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
+ acdb_device_type, app_type, topology_id, sample_rate,
+ module_id, instance_id, param_id, true);
+
+ ret = platform_store_audio_cal(adev->platform, &cal, data, length);
+
+ pthread_mutex_unlock(&adev->lock);
+
+ ALOGV("%s: Exit with error %d", __func__, ret);
+
+ return ret;
+}
+
+//this will be called from GEF to retrieve calibration using acdb
+int audio_extn_gef_retrieve_audio_cal(void* dev, int acdb_dev_id,
+ int gef_cal_type, int app_type, int topology_id, int sample_rate,
+ uint32_t module_id, uint16_t instance_id, uint32_t param_id, void* data, int* length)
+{
+ int ret = 0;
+ struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
+ int acdb_device_type =
+ make_acdb_device_type_from_gef_cal_type(gef_cal_type);
+
+ ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
+
+ //lock adev
+ pthread_mutex_lock(&adev->lock);
+
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
+ acdb_device_type, app_type, topology_id, sample_rate,
+ module_id, instance_id, param_id, true);
+
+ ret = platform_retrieve_audio_cal(adev->platform, &cal, data, length);
+
+ pthread_mutex_unlock(&adev->lock);
+
+ ALOGV("%s: Exit with error %d", __func__, ret);
+
+ return ret;
+}
+#else
+//this will be called from GEF to exchange calibration using acdb
+int audio_extn_gef_send_audio_cal(void* dev, int acdb_dev_id,
+ int gef_cal_type, int app_type, int topology_id, int sample_rate,
+ uint32_t module_id, uint32_t param_id, void* data, int length,
+ bool persist)
+{
+ int ret = 0;
+ struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
+ int acdb_device_type =
+ make_acdb_device_type_from_gef_cal_type(gef_cal_type);
+
+ ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
+
+ //lock adev
+ pthread_mutex_lock(&adev->lock);
+
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
+ acdb_device_type, app_type, topology_id, sample_rate,
+ module_id, param_id, true);
+
+ ret = platform_send_audio_cal(adev->platform, &cal, data, length, persist);
+
+ pthread_mutex_unlock(&adev->lock);
+
+ ALOGV("%s: Exit with error %d", __func__, ret);
+
+ return ret;
+}
+
+//this will be called from GEF to exchange calibration using acdb
+int audio_extn_gef_get_audio_cal(void* dev, int acdb_dev_id,
+ int gef_cal_type, int app_type, int topology_id, int sample_rate,
+ uint32_t module_id, uint32_t param_id, void* data, int* length,
+ bool persist)
+{
+ int ret = 0;
+ struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
+ int acdb_device_type =
+ make_acdb_device_type_from_gef_cal_type(gef_cal_type);
+
+ ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
+
+ //lock adev
+ pthread_mutex_lock(&adev->lock);
+
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
+ acdb_device_type, app_type, topology_id, sample_rate,
+ module_id, param_id, false);
+
+ ret = platform_get_audio_cal(adev->platform, &cal, data, length, persist);
pthread_mutex_unlock(&adev->lock);
@@ -230,17 +369,22 @@
{
int ret = 0;
struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
int acdb_device_type =
make_acdb_device_type_from_gef_cal_type(gef_cal_type);
ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
//lock adev
pthread_mutex_lock(&adev->lock);
- ret = platform_store_audio_cal(adev->platform, acdb_dev_id,
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
acdb_device_type, app_type, topology_id, sample_rate,
- module_id, param_id, data, length);
+ module_id, param_id, true);
+
+ ret = platform_store_audio_cal(adev->platform, &cal, data, length);
pthread_mutex_unlock(&adev->lock);
@@ -256,17 +400,22 @@
{
int ret = 0;
struct audio_device *adev = (struct audio_device*)dev;
+ acdb_audio_cal_cfg_t cal;
int acdb_device_type =
make_acdb_device_type_from_gef_cal_type(gef_cal_type);
ALOGV("%s: Enter", __func__);
+ memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
//lock adev
pthread_mutex_lock(&adev->lock);
- ret = platform_retrieve_audio_cal(adev->platform, acdb_dev_id,
+ //pack cal
+ platform_make_cal_cfg(&cal, acdb_dev_id,
acdb_device_type, app_type, topology_id, sample_rate,
- module_id, param_id, data, length);
+ module_id, param_id, true);
+
+ ret = platform_retrieve_audio_cal(adev->platform, &cal, data, length);
pthread_mutex_unlock(&adev->lock);
@@ -274,6 +423,7 @@
return ret;
}
+#endif
//this will be called from HAL to notify GEF of new device configuration
void audio_extn_gef_notify_device_config(audio_devices_t audio_device,
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 909ef8f..1c98103 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -79,6 +79,7 @@
AUDIO_EVENT_SVA_EXEC_MODE_STATUS,
AUDIO_EVENT_CAPTURE_STREAM_INACTIVE,
AUDIO_EVENT_CAPTURE_STREAM_ACTIVE,
+ AUDIO_EVENT_BATTERY_STATUS_CHANGED,
AUDIO_EVENT_GET_PARAM
} audio_event_type_t;
@@ -446,9 +447,6 @@
if (!st_dev)
return;
- if (st_dev->sthal_prop_api_version >= STHAL_PROP_API_VERSION_1_0)
- return;
-
if (snd_device >= SND_DEVICE_OUT_BEGIN &&
snd_device < SND_DEVICE_OUT_END)
device_type = PCM_PLAYBACK;
@@ -491,14 +489,15 @@
if (!st_dev)
return;
- if (st_dev->sthal_prop_api_version < STHAL_PROP_API_VERSION_1_0)
- return;
-
if (uc_info == NULL) {
ALOGE("%s: usecase is NULL!!!", __func__);
return;
}
+ if ((st_dev->sthal_prop_api_version < STHAL_PROP_API_VERSION_1_0) &&
+ (uc_info->type != PCM_PLAYBACK))
+ return;
+
if ((uc_info->in_snd_device >= SND_DEVICE_IN_BEGIN &&
uc_info->in_snd_device < SND_DEVICE_IN_END)) {
if (is_same_as_st_device(uc_info->in_snd_device))
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
old mode 100755
new mode 100644
index 8a585df..6aab347
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -140,6 +140,7 @@
STRING_TO_ENUM(AUDIO_INPUT_FLAG_SYNC),
STRING_TO_ENUM(AUDIO_INPUT_FLAG_TIMESTAMP),
STRING_TO_ENUM(AUDIO_INPUT_FLAG_COMPRESS),
+ STRING_TO_ENUM(AUDIO_INPUT_FLAG_PASSTHROUGH),
};
const struct string_to_enum s_format_name_to_enum_table[] = {
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 9993c33..16ac7f4 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -3083,6 +3083,10 @@
}
}
+ if (out->realtime)
+ platform_set_stream_channel_map(adev->platform, out->channel_mask,
+ out->pcm_device_id, &out->channel_map_param.channel_map[0]);
+
while (1) {
ATRACE_BEGIN("pcm_open");
out->pcm = pcm_open(adev->snd_card, out->pcm_device_id,
@@ -3111,7 +3115,8 @@
}
break;
}
- platform_set_stream_channel_map(adev->platform, out->channel_mask,
+ if (!out->realtime)
+ platform_set_stream_channel_map(adev->platform, out->channel_mask,
out->pcm_device_id, &out->channel_map_param.channel_map[0]);
ALOGV("%s: pcm_prepare", __func__);
@@ -3248,7 +3253,8 @@
(format != AUDIO_FORMAT_PCM_24_BIT_PACKED) && (format != AUDIO_FORMAT_PCM_32_BIT) &&
(format != AUDIO_FORMAT_PCM_FLOAT)) &&
!voice_extn_compress_voip_is_format_supported(format) &&
- !audio_extn_compr_cap_format_supported(format))
+ !audio_extn_compr_cap_format_supported(format) &&
+ !audio_extn_cin_format_supported(format))
ret = -EINVAL;
switch (channel_count) {
@@ -3257,6 +3263,7 @@
case 3:
case 4:
case 6:
+ case 8:
break;
default:
ret = -EINVAL;
diff --git a/hal/audio_hw_extn_api.c b/hal/audio_hw_extn_api.c
old mode 100755
new mode 100644
index 550a06b..f5e0659
--- a/hal/audio_hw_extn_api.c
+++ b/hal/audio_hw_extn_api.c
@@ -204,7 +204,8 @@
return -EINVAL;
}
if (COMPRESSED_TIMESTAMP_FLAG &&
- (in->flags & AUDIO_INPUT_FLAG_TIMESTAMP)) {
+ ((in->flags & AUDIO_INPUT_FLAG_TIMESTAMP) ||
+ (in->flags & AUDIO_INPUT_FLAG_PASSTHROUGH))) {
if (bytes != in->stream.common.get_buffer_size(&stream->common)) {
ALOGE("%s: bytes requested must be fragment size in timestamp mode!", __func__);
return -EINVAL;
@@ -213,10 +214,15 @@
buf = (char *) in->qahwi_in.ibuf;
ret = in->qahwi_in.base.read(&in->stream, (void *)buf, bytes + mdata_size);
if (ret == bytes + mdata_size) {
- bytes_read = bytes;
- memcpy(buffer, buf + mdata_size, bytes);
+ mdata = (struct snd_codec_metadata *) buf;
+ bytes_read = mdata->length;
+ if (bytes_read > bytes) {
+ ALOGE("%s: bytes requested to small (given %zu, required %zu)",
+ __func__, bytes, bytes_read);
+ return -EINVAL;
+ }
+ memcpy(buffer, buf + mdata_size, bytes_read);
if (timestamp) {
- mdata = (struct snd_codec_metadata *) buf;
*timestamp = mdata->timestamp;
}
} else {
@@ -281,7 +287,8 @@
in->qahwi_in.is_inititalized = true;
if (COMPRESSED_TIMESTAMP_FLAG &&
- (flags & AUDIO_INPUT_FLAG_TIMESTAMP)) {
+ ((in->flags & AUDIO_INPUT_FLAG_TIMESTAMP) ||
+ (in->flags & AUDIO_INPUT_FLAG_PASSTHROUGH))) {
// set read to NULL as this is not supported in timestamp mode
in->stream.read = NULL;
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index 8093be3..67f239c 100755
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -163,6 +163,7 @@
/* Query external audio device connection status */
#define AUDIO_PARAMETER_KEY_EXT_AUDIO_DEVICE "ext_audio_device"
+#define AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP "spkr_device_chmap"
#define EVENT_EXTERNAL_SPK_1 "qc_ext_spk_1"
#define EVENT_EXTERNAL_SPK_2 "qc_ext_spk_2"
#define EVENT_EXTERNAL_MIC "qc_ext_mic"
@@ -208,19 +209,6 @@
int length;
};
-typedef struct acdb_audio_cal_cfg {
- uint32_t persist;
- uint32_t snd_dev_id;
- audio_devices_t dev_id;
- int32_t acdb_dev_id;
- uint32_t app_type;
- uint32_t topo_id;
- uint32_t sampling_rate;
- uint32_t cal_type;
- uint32_t module_id;
- uint32_t param_id;
-} acdb_audio_cal_cfg_t;
-
enum {
CAL_MODE_SEND = 0x1,
CAL_MODE_PERSIST = 0x2,
@@ -274,6 +262,7 @@
int voice_feature_set;
acdb_init_t acdb_init;
acdb_init_v3_t acdb_init_v3;
+ acdb_init_v4_t acdb_init_v4;
acdb_deallocate_t acdb_deallocate;
acdb_send_audio_cal_t acdb_send_audio_cal;
acdb_send_audio_cal_v3_t acdb_send_audio_cal_v3;
@@ -306,7 +295,14 @@
bool is_dsd_supported;
bool is_asrc_supported;
struct listnode acdb_meta_key_list;
+ struct acdb_init_data_v4 acdb_init_data;
bool use_generic_handset;
+ struct spkr_device_chmap *spkr_ch_map;
+};
+
+struct spkr_device_chmap {
+ int num_ch;
+ char chmap[AUDIO_CHANNEL_COUNT_MAX];
};
static bool is_external_codec = false;
@@ -562,6 +558,7 @@
[SND_DEVICE_IN_INCALL_REC_RX] = "incall-rec-rx",
[SND_DEVICE_IN_INCALL_REC_TX] = "incall-rec-tx",
[SND_DEVICE_IN_INCALL_REC_RX_TX] = "incall-rec-rx-tx",
+ [SND_DEVICE_IN_LINE] = "line-in",
};
// Platform specific backend bit width table
@@ -725,7 +722,8 @@
[SND_DEVICE_IN_HANDSET_8MIC] = 4,
[SND_DEVICE_IN_EC_REF_LOOPBACK_MONO] = 4,
[SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO] = 4,
- [SND_DEVICE_IN_HANDSET_GENERIC_QMIC] = 150
+ [SND_DEVICE_IN_HANDSET_GENERIC_QMIC] = 150,
+ [SND_DEVICE_IN_LINE] = 4,
};
struct name_to_index {
@@ -881,6 +879,7 @@
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_RX)},
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_TX)},
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_RX_TX)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_LINE)},
};
static char * backend_tag_table[SND_DEVICE_MAX] = {0};
@@ -1711,6 +1710,7 @@
hw_interface_table[SND_DEVICE_IN_HANDSET_GENERIC_QMIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_INCALL_REC_RX] = strdup("INCALL_RECORD_RX");
hw_interface_table[SND_DEVICE_IN_INCALL_REC_TX] = strdup("INCALL_RECORD_TX");
+ hw_interface_table[SND_DEVICE_IN_LINE] = strdup("SLIMBUS_0_TX");
my_data->max_mic_count = PLATFORM_DEFAULT_MIC_COUNT;
/*remove ALAC & APE from DSP decoder list based on software decoder availability*/
@@ -1971,7 +1971,12 @@
snd_card_name = mixer_get_name(my_data->adev->mixer);
snd_card_name = platform_get_snd_card_name_for_acdb_loader(snd_card_name);
- if (my_data->acdb_init_v3) {
+ my_data->acdb_init_data.cvd_version = cvd_version;
+ my_data->acdb_init_data.snd_card_name = strdup(snd_card_name);
+ my_data->acdb_init_data.meta_key_list = &my_data->acdb_meta_key_list;
+ if (my_data->acdb_init_v4) {
+ result = my_data->acdb_init_v4(&my_data->acdb_init_data, ACDB_LOADER_INIT_V4);
+ } else if (my_data->acdb_init_v3) {
result = my_data->acdb_init_v3(snd_card_name, cvd_version,
&my_data->acdb_meta_key_list);
} else if (my_data->acdb_init) {
@@ -2281,6 +2286,7 @@
my_data->is_wsa_speaker = false;
my_data->hw_dep_fd = -1;
my_data->mono_speaker = SPKR_1;
+ my_data->spkr_ch_map = NULL;
be_dai_name_table = NULL;
@@ -2453,6 +2459,12 @@
ALOGV("%s: Could not find the symbol acdb_loader_send_gain_dep_cal from %s",
__func__, LIB_ACDB_LOADER);
+ my_data->acdb_init_v4 = (acdb_init_v4_t)dlsym(my_data->acdb_handle,
+ "acdb_loader_init_v4");
+ if (my_data->acdb_init_v4 == NULL) {
+ ALOGE("%s: dlsym error %s for acdb_loader_init_v4", __func__, dlerror());
+ }
+
my_data->acdb_init_v3 = (acdb_init_v3_t)dlsym(my_data->acdb_handle,
"acdb_loader_init_v3");
if (my_data->acdb_init_v3 == NULL) {
@@ -2789,6 +2801,11 @@
my_data->adev->mixer = NULL;
}
+ if (my_data->spkr_ch_map) {
+ free(my_data->spkr_ch_map);
+ my_data->spkr_ch_map = NULL;
+ }
+
int32_t idx;
for (idx = 0; idx < MAX_CODEC_BACKENDS; idx++) {
@@ -4719,6 +4736,8 @@
snd_device = SND_DEVICE_IN_HANDSET_MIC;
} else if (in_device & AUDIO_DEVICE_IN_BACK_MIC) {
snd_device = SND_DEVICE_IN_SPEAKER_MIC;
+ } else if (in_device & AUDIO_DEVICE_IN_LINE) {
+ snd_device = SND_DEVICE_IN_LINE;
} else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) {
snd_device = SND_DEVICE_IN_HEADSET_MIC;
} else if (in_device & AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET) {
@@ -4980,11 +4999,19 @@
cal->module_id = (uint32_t) strtoul(value, NULL, 0);
ret = ret | 0x80;
}
+#ifdef INSTANCE_ID_ENABLED
+ err = str_parms_get_str(parms, "cal_instanceid", value, sizeof(value));
+ if (err >= 0) {
+ str_parms_del(parms, "cal_instanceid");
+ cal->instance_id = (uint32_t) strtoul(value, NULL, 0);
+ ret = ret | 0x100;
+ }
+#endif
err = str_parms_get_str(parms, "cal_paramid", value, sizeof(value));
if (err >= 0) {
str_parms_del(parms, "cal_paramid");
cal->param_id = (uint32_t) strtoul(value, NULL, 0);
- ret = ret | 0x100;
+ ret = ret | 0x200;
}
return ret;
}
@@ -5050,6 +5077,46 @@
if(dptr != NULL)
free(dptr);
}
+static void platform_spkr_device_set_params(struct platform_data *platform,
+ struct str_parms *parms,
+ char *value, int len)
+{
+ int err = 0, i = 0, num_ch = 0;
+ char *test_r = NULL;
+ char *opts = NULL;
+ char *ch_count = NULL;
+
+ err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP,
+ value, len);
+ if (err >= 0) {
+ platform->spkr_ch_map = calloc(1, sizeof(struct spkr_device_chmap));
+ if (!platform->spkr_ch_map) {
+ ALOGE("%s: failed to allocate mem for adm channel map\n", __func__);
+ str_parms_del(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP);
+ return ;
+ }
+
+ ch_count = strtok_r(value, ", ", &test_r);
+ if (ch_count == NULL) {
+ ALOGE("%s: incorrect ch_map\n", __func__);
+ free(platform->spkr_ch_map);
+ platform->spkr_ch_map = NULL;
+ str_parms_del(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP);
+ return;
+ }
+
+ num_ch = atoi(ch_count);
+ if ((num_ch > 0) && (num_ch <= AUDIO_CHANNEL_COUNT_MAX) ) {
+ platform->spkr_ch_map->num_ch = num_ch;
+ for (i = 0; i < num_ch; i++) {
+ opts = strtok_r(NULL, ", ", &test_r);
+ platform->spkr_ch_map->chmap[i] = strtoul(opts, NULL, 16);
+ }
+ }
+ str_parms_del(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP);
+ }
+}
+
int platform_set_parameters(void *platform, struct str_parms *parms)
{
struct platform_data *my_data = (struct platform_data *)platform;
@@ -5174,6 +5241,7 @@
audio_extn_hfp_set_parameters(my_data->adev, parms);
true_32_bit_set_params(parms, value, len);
audio_extn_ffv_set_parameters(my_data->adev, parms);
+ platform_spkr_device_set_params(platform, parms, value, len);
ALOGV("%s: exit with code(%d)", __func__, ret);
return ret;
}
@@ -6219,6 +6287,11 @@
ALOGD("%s:becf: afe: napb not active - set non fractional rate",
__func__);
}
+ /*ensure AFE set to 48khz when sample rate less than 44.1khz*/
+ if (sample_rate < OUTPUT_SAMPLING_RATE_44100) {
+ sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
+ ALOGD("%s:becf: afe: napb set sample rate to default Sample Rate(48k)",__func__);
+ }
}
/*
@@ -6346,6 +6419,7 @@
int i, num_devices = 1;
struct audio_backend_cfg backend_cfg;
bool ret = false;
+ struct platform_data *my_data = (struct platform_data *)adev->platform;
backend_idx = platform_get_backend_index(snd_device);
@@ -6385,6 +6459,11 @@
backend_cfg.sample_rate, backend_cfg.channels, backend_idx, usecase->id,
platform_get_snd_device_name(snd_device));
+ if ((my_data->spkr_ch_map != NULL) &&
+ (platform_get_backend_index(snd_device) == DEFAULT_CODEC_BACKEND))
+ platform_set_channel_map(my_data, my_data->spkr_ch_map->num_ch,
+ my_data->spkr_ch_map->chmap, -1);
+
if (platform_split_snd_device(adev->platform, snd_device,
&num_devices, new_snd_devices) < 0)
new_snd_devices[0] = snd_device;
@@ -7488,6 +7567,7 @@
(!strcmp(snd_card_name, "msm8976-skun-snd-card")) ||
(!strcmp(snd_card_name, "msm8953-snd-card-mtp")) ||
(!strcmp(snd_card_name, "msm8953-sku4-snd-card")) ||
+ (!strcmp(snd_card_name, "sdm439-sku1-snd-card")) ||
(!strcmp(snd_card_name, "sdm439-snd-card-mtp")))
return 1;
else
@@ -7747,7 +7827,37 @@
return;
}
-static void make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
+#ifdef INSTANCE_ID_ENABLED
+void platform_make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
+ int acdb_device_type, int app_type, int topology_id,
+ int sample_rate, uint32_t module_id, uint16_t instance_id,
+ uint32_t param_id, bool persist)
+{
+ int persist_send_flags = 1;
+
+ if (!cal) {
+ return;
+ }
+
+ if (persist)
+ persist_send_flags |= 0x2;
+
+ memset(cal, 0, sizeof(acdb_audio_cal_cfg_t));
+
+ cal->persist = persist;
+ cal->app_type = app_type;
+ cal->acdb_dev_id = acdb_dev_id;
+ cal->sampling_rate = sample_rate;
+ cal->topo_id = topology_id;
+ //if module and param id is set to 0, the whole blob will be stored
+ //or sent to the DSP
+ cal->module_id = module_id;
+ cal->instance_id = instance_id;
+ cal->param_id = param_id;
+ cal->cal_type = acdb_device_type;
+}
+#else
+void platform_make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
int acdb_device_type, int app_type, int topology_id,
int sample_rate, uint32_t module_id, uint32_t param_id, bool persist)
{
@@ -7772,36 +7882,29 @@
cal->module_id = module_id;
cal->param_id = param_id;
cal->cal_type = acdb_device_type;
- cal->persist = persist;
-
}
+#endif
-int platform_send_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id, int sample_rate,
- uint32_t module_id, uint32_t param_id, void* data, int length, bool persist)
+int platform_send_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
+ void* data, int length, bool persist)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, true);
-
if (my_data->acdb_set_audio_cal) {
// persist audio cal in local cache
if (persist) {
- ret = my_data->acdb_set_audio_cal((void*)&cal, data, (uint32_t)length);
+ ret = my_data->acdb_set_audio_cal((void*)cal, data, (uint32_t)length);
}
// send audio cal to dsp
if (ret == 0) {
- cal.persist = false;
- ret = my_data->acdb_set_audio_cal((void*)&cal, data, (uint32_t)length);
+ cal->persist = false;
+ ret = my_data->acdb_set_audio_cal((void*)cal, data, (uint32_t)length);
if (persist && (ret != 0)) {
ALOGV("[%s] audio cal stored with success, ignore set cal failure", __func__);
ret = 0;
@@ -7813,31 +7916,24 @@
return ret;
}
-int platform_get_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id,
- int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_get_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int* length, bool persist)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, false);
-
if (my_data->acdb_get_audio_cal) {
// get cal from dsp
- ret = my_data->acdb_get_audio_cal((void*)&cal, data, (uint32_t*)length);
+ ret = my_data->acdb_get_audio_cal((void*)cal, data, (uint32_t*)length);
// get cached cal if prevoius attempt fails and persist flag is set
if ((ret != 0) && persist) {
- cal.persist = true;
- ret = my_data->acdb_get_audio_cal((void*)&cal, data, (uint32_t*)length);
+ cal->persist = true;
+ ret = my_data->acdb_get_audio_cal((void*)cal, data, (uint32_t*)length);
}
}
@@ -7845,52 +7941,38 @@
return ret;
}
-int platform_store_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id,
- int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_store_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int length)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, true);
-
if (my_data->acdb_set_audio_cal) {
- ret = my_data->acdb_set_audio_cal((void*)&cal, data, (uint32_t)length);
+ ret = my_data->acdb_set_audio_cal((void*)cal, data, (uint32_t)length);
}
ERROR_RETURN:
return ret;
}
-int platform_retrieve_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id,
- int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_retrieve_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int* length)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, true);
-
if (my_data->acdb_get_audio_cal) {
- ret = my_data->acdb_get_audio_cal((void*)&cal, data, (uint32_t*)length);
+ ret = my_data->acdb_get_audio_cal((void*)cal, data, (uint32_t*)length);
}
ERROR_RETURN:
diff --git a/hal/msm8916/platform.h b/hal/msm8916/platform.h
index 2a71f9e..8bb0a3c 100644
--- a/hal/msm8916/platform.h
+++ b/hal/msm8916/platform.h
@@ -234,6 +234,7 @@
SND_DEVICE_IN_INCALL_REC_RX,
SND_DEVICE_IN_INCALL_REC_TX,
SND_DEVICE_IN_INCALL_REC_RX_TX,
+ SND_DEVICE_IN_LINE,
SND_DEVICE_IN_END,
SND_DEVICE_MAX = SND_DEVICE_IN_END,
diff --git a/hal/msm8960/platform.c b/hal/msm8960/platform.c
index f4132c2..442263e 100755
--- a/hal/msm8960/platform.c
+++ b/hal/msm8960/platform.c
@@ -1260,30 +1260,21 @@
}
int platform_send_audio_cal(void* platform __unused,
- int acdb_dev_id __unused, int acdb_device_type __unused,
- int app_type __unused, int topology_id __unused,
- int sample_rate __unused, uint32_t module_id,
- uint32_t param_id, void* data __unused,
+ acdb_audio_cal_cfg_t* cal __unused, void* data __unused,
int length __unused, bool persist __unused)
{
return -ENOSYS;
}
int platform_get_audio_cal(void* platform __unused,
- int acdb_dev_id __unused, int acdb_device_type __unused,
- int app_type __unused, int topology_id __unused,
- int sample_rate __unused, uint32_t module_id,
- uint32_t param_id, void* data __unused,
+ acdb_audio_cal_cfg_t* cal __unused, void* data __unused,
int* length __unused, bool persist __unused)
{
return -ENOSYS;
}
int platform_store_audio_cal(void* platform __unused,
- int acdb_dev_id __unused, int acdb_device_type __unused,
- int app_type __unused, int topology_id __unused,
- int sample_rate __unused, uint32_t module_id,
- uint32_t param_id, void* data __unused,
+ acdb_audio_cal_cfg_t* cal __unused, void* data __unused,
int length __unused)
{
return -ENOSYS;
@@ -1291,10 +1282,7 @@
int platform_retrieve_audio_cal(void* platform __unused,
- int acdb_dev_id __unused, int acdb_device_type __unused,
- int app_type __unused, int topology_id __unused,
- int sample_rate __unused, uint32_t module_id,
- uint32_t param_id, void* data __unused,
+ acdb_audio_cal_cfg_t* cal __unused, void* data __unused,
int* length __unused)
{
return -ENOSYS;
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
old mode 100755
new mode 100644
index 0c28182..3f426e9
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -64,6 +64,7 @@
#define MIXER_XML_PATH_AUXPCM "/etc/mixer_paths_auxpcm.xml"
#define MIXER_XML_PATH_I2S "/etc/mixer_paths_i2s.xml"
#define PLATFORM_INFO_XML_PATH_I2S "/etc/audio_platform_info_extcodec.xml"
+#define PLATFORM_INFO_XML_PATH_CSRA "/etc/audio_platform_info_csra.xml"
#else
#define MIXER_XML_BASE_STRING "/vendor/etc/mixer_paths"
#define MIXER_XML_DEFAULT_PATH "/vendor/etc/mixer_paths.xml"
@@ -74,6 +75,7 @@
#define MIXER_XML_PATH_AUXPCM "/vendor/etc/mixer_paths_auxpcm.xml"
#define MIXER_XML_PATH_I2S "/vendor/etc/mixer_paths_i2s.xml"
#define PLATFORM_INFO_XML_PATH_I2S "/vendor/etc/audio_platform_info_i2s.xml"
+#define PLATFORM_INFO_XML_PATH_CSRA "/vendor/etc/audio_platform_info_csra.xml"
#endif
#include <linux/msm_audio.h>
@@ -140,6 +142,7 @@
* device for voice usecase
*/
#define AUDIO_PARAMETER_KEY_DP_FOR_VOICE_USECASE "dp_for_voice"
+#define AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP "spkr_device_chmap"
#define EVENT_EXTERNAL_SPK_1 "qc_ext_spk_1"
#define EVENT_EXTERNAL_SPK_2 "qc_ext_spk_2"
@@ -184,19 +187,6 @@
int length;
};
-typedef struct acdb_audio_cal_cfg {
- uint32_t persist;
- uint32_t snd_dev_id;
- audio_devices_t dev_id;
- int32_t acdb_dev_id;
- uint32_t app_type;
- uint32_t topo_id;
- uint32_t sampling_rate;
- uint32_t cal_type;
- uint32_t module_id;
- uint32_t param_id;
-} acdb_audio_cal_cfg_t;
-
enum {
CAL_MODE_SEND = 0x1,
CAL_MODE_PERSIST = 0x2,
@@ -253,6 +243,7 @@
int voice_feature_set;
acdb_init_t acdb_init;
acdb_init_v3_t acdb_init_v3;
+ acdb_init_v4_t acdb_init_v4;
acdb_deallocate_t acdb_deallocate;
acdb_send_audio_cal_t acdb_send_audio_cal;
acdb_send_audio_cal_v3_t acdb_send_audio_cal_v3;
@@ -282,7 +273,14 @@
bool is_dsd_supported;
bool is_asrc_supported;
struct listnode acdb_meta_key_list;
+ struct acdb_init_data_v4 acdb_init_data;
bool use_generic_handset;
+ struct spkr_device_chmap *spkr_ch_map;
+};
+
+struct spkr_device_chmap {
+ int num_ch;
+ char chmap[AUDIO_CHANNEL_COUNT_MAX];
};
static int pcm_device_table[AUDIO_USECASE_MAX][2] = {
@@ -482,7 +480,9 @@
[SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = "headset-mic",
[SND_DEVICE_IN_VOICE_SPEAKER_MIC] = "voice-speaker-mic",
[SND_DEVICE_IN_VOICE_HEADSET_MIC] = "voice-headset-mic",
- [SND_DEVICE_IN_HDMI_MIC] = "hdmi-mic",
+ [SND_DEVICE_IN_SPDIF] = "spdif-in",
+ [SND_DEVICE_IN_HDMI_MIC] = "hdmi-in",
+ [SND_DEVICE_IN_HDMI_ARC] = "hdmi-arc-in",
[SND_DEVICE_IN_BT_SCO_MIC] = "bt-sco-mic",
[SND_DEVICE_IN_BT_SCO_MIC_NREC] = "bt-sco-mic",
[SND_DEVICE_IN_BT_SCO_MIC_WB] = "bt-sco-mic-wb",
@@ -542,6 +542,7 @@
[SND_DEVICE_IN_INCALL_REC_RX] = "incall-rec-rx",
[SND_DEVICE_IN_INCALL_REC_TX] = "incall-rec-tx",
[SND_DEVICE_IN_INCALL_REC_RX_TX] = "incall-rec-rx-tx",
+ [SND_DEVICE_IN_LINE] = "line-in",
};
// Platform specific backend bit width table
@@ -648,7 +649,9 @@
[SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = 47,
[SND_DEVICE_IN_VOICE_SPEAKER_MIC] = 11,
[SND_DEVICE_IN_VOICE_HEADSET_MIC] = 8,
+ [SND_DEVICE_IN_SPDIF] = 4,
[SND_DEVICE_IN_HDMI_MIC] = 4,
+ [SND_DEVICE_IN_HDMI_ARC] = 4,
[SND_DEVICE_IN_BT_SCO_MIC] = 21,
[SND_DEVICE_IN_BT_SCO_MIC_NREC] = 122,
[SND_DEVICE_IN_BT_SCO_MIC_WB] = 38,
@@ -705,6 +708,7 @@
[SND_DEVICE_IN_UNPROCESSED_QUAD_MIC] = 146,
[SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC] = 147,
[SND_DEVICE_IN_HANDSET_GENERIC_QMIC] = 150,
+ [SND_DEVICE_IN_LINE] = 4,
};
struct name_to_index {
@@ -796,7 +800,9 @@
{TO_NAME_INDEX(SND_DEVICE_IN_HEADSET_MIC_FLUENCE)},
{TO_NAME_INDEX(SND_DEVICE_IN_VOICE_SPEAKER_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_VOICE_HEADSET_MIC)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_SPDIF)},
{TO_NAME_INDEX(SND_DEVICE_IN_HDMI_MIC)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_HDMI_ARC)},
{TO_NAME_INDEX(SND_DEVICE_IN_BT_SCO_MIC)},
{TO_NAME_INDEX(SND_DEVICE_IN_BT_SCO_MIC_NREC)},
{TO_NAME_INDEX(SND_DEVICE_IN_BT_SCO_MIC_WB)},
@@ -855,6 +861,7 @@
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_RX)},
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_TX)},
{TO_NAME_INDEX(SND_DEVICE_IN_INCALL_REC_RX_TX)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_LINE)},
};
static char * backend_tag_table[SND_DEVICE_MAX] = {0};
@@ -1376,7 +1383,9 @@
backend_tag_table[SND_DEVICE_IN_BT_SCO_MIC_WB] = strdup("bt-sco-wb");
backend_tag_table[SND_DEVICE_IN_BT_SCO_MIC_NREC] = strdup("bt-sco");
backend_tag_table[SND_DEVICE_IN_BT_SCO_MIC_WB_NREC] = strdup("bt-sco-wb");
- backend_tag_table[SND_DEVICE_IN_HDMI_MIC] = strdup("hdmi-mic");
+ backend_tag_table[SND_DEVICE_IN_SPDIF] = strdup("spdif-in");
+ backend_tag_table[SND_DEVICE_IN_HDMI_MIC] = strdup("hdmi-in");
+ backend_tag_table[SND_DEVICE_IN_HDMI_ARC] = strdup("hdmi-arc-in");
backend_tag_table[SND_DEVICE_OUT_BT_SCO] = strdup("bt-sco");
backend_tag_table[SND_DEVICE_OUT_BT_SCO_WB] = strdup("bt-sco-wb");
backend_tag_table[SND_DEVICE_OUT_HDMI] = strdup("hdmi");
@@ -1495,7 +1504,9 @@
hw_interface_table[SND_DEVICE_IN_HEADSET_MIC_FLUENCE] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_VOICE_SPEAKER_MIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_VOICE_HEADSET_MIC] = strdup("SLIMBUS_0_TX");
- hw_interface_table[SND_DEVICE_IN_HDMI_MIC] = strdup("HDMI");
+ hw_interface_table[SND_DEVICE_IN_SPDIF] = strdup("PRI_SPDIF_TX");
+ hw_interface_table[SND_DEVICE_IN_HDMI_MIC] = strdup("SEC_MI2S_TX");
+ hw_interface_table[SND_DEVICE_IN_HDMI_ARC] = strdup("SEC_SPDIF_TX");
hw_interface_table[SND_DEVICE_IN_BT_SCO_MIC] = strdup("SLIMBUS_7_TX");
hw_interface_table[SND_DEVICE_IN_BT_SCO_MIC_NREC] = strdup("SLIMBUS_7_TX");
hw_interface_table[SND_DEVICE_IN_BT_SCO_MIC_WB] = strdup("SLIMBUS_7_TX");
@@ -1549,6 +1560,7 @@
hw_interface_table[SND_DEVICE_IN_HANDSET_GENERIC_QMIC] = strdup("SLIMBUS_0_TX");
hw_interface_table[SND_DEVICE_IN_INCALL_REC_RX] = strdup("INCALL_RECORD_RX");
hw_interface_table[SND_DEVICE_IN_INCALL_REC_TX] = strdup("INCALL_RECORD_TX");
+ hw_interface_table[SND_DEVICE_IN_LINE] = strdup("SLIMBUS_0_TX");
my_data->max_mic_count = PLATFORM_DEFAULT_MIC_COUNT;
@@ -1787,7 +1799,12 @@
snd_card_name = mixer_get_name(my_data->adev->mixer);
snd_card_name = platform_get_snd_card_name_for_acdb_loader(snd_card_name);
- if (my_data->acdb_init_v3) {
+ my_data->acdb_init_data.cvd_version = cvd_version;
+ my_data->acdb_init_data.snd_card_name = strdup(snd_card_name);
+ my_data->acdb_init_data.meta_key_list = &my_data->acdb_meta_key_list;
+ if (my_data->acdb_init_v4) {
+ result = my_data->acdb_init_v4(&my_data->acdb_init_data, ACDB_LOADER_INIT_V4);
+ } else if (my_data->acdb_init_v3) {
result = my_data->acdb_init_v3(snd_card_name, cvd_version,
&my_data->acdb_meta_key_list);
} else if (my_data->acdb_init) {
@@ -2075,6 +2092,7 @@
my_data->hw_dep_fd = -1;
my_data->mono_speaker = SPKR_1;
my_data->speaker_lr_swap = false;
+ my_data->spkr_ch_map = NULL;
be_dai_name_table = NULL;
@@ -2153,6 +2171,9 @@
else if (!strncmp(snd_card_name, "sdm670-skuw-snd-card",
sizeof("sdm670-skuw-snd-card")))
platform_info_init(PLATFORM_INFO_XML_PATH_SKUW, my_data, PLATFORM);
+ else if (!strncmp(snd_card_name, "qcs405-csra",
+ sizeof("qcs405-csra")))
+ platform_info_init(PLATFORM_INFO_XML_PATH_CSRA, my_data, PLATFORM);
else if (my_data->is_internal_codec)
platform_info_init(PLATFORM_INFO_XML_PATH_INTCODEC, my_data, PLATFORM);
else
@@ -2234,6 +2255,12 @@
__func__, LIB_ACDB_LOADER);
+ my_data->acdb_init_v4 = (acdb_init_v4_t)dlsym(my_data->acdb_handle,
+ "acdb_loader_init_v4");
+ if (my_data->acdb_init_v4 == NULL) {
+ ALOGE("%s: dlsym error %s for acdb_loader_init_v4", __func__, dlerror());
+ }
+
my_data->acdb_init_v3 = (acdb_init_v3_t)dlsym(my_data->acdb_handle,
"acdb_loader_init_v3");
if (my_data->acdb_init_v3 == NULL) {
@@ -2437,12 +2464,36 @@
my_data->current_backend_cfg[USB_AUDIO_TX_BACKEND].channels_mixer_ctl =
strdup("USB_AUDIO_TX Channels");
- my_data->current_backend_cfg[HDMI_TX_BACKEND].bitwidth_mixer_ctl =
- strdup("QUAT_MI2S_TX Format");
- my_data->current_backend_cfg[HDMI_TX_BACKEND].samplerate_mixer_ctl =
- strdup("QUAT_MI2S_TX SampleRate");
- my_data->current_backend_cfg[HDMI_TX_BACKEND].channels_mixer_ctl =
- strdup("QUAT_MI2S_TX Channels");
+ if (!strncmp(platform_get_snd_device_backend_interface(SND_DEVICE_IN_HDMI_MIC),
+ "SEC_MI2S_TX", sizeof("SEC_MI2S_TX"))) {
+ my_data->current_backend_cfg[HDMI_TX_BACKEND].bitwidth_mixer_ctl =
+ strdup("SEC_MI2S_TX Format");
+ my_data->current_backend_cfg[HDMI_TX_BACKEND].samplerate_mixer_ctl =
+ strdup("SEC_MI2S_TX SampleRate");
+ my_data->current_backend_cfg[HDMI_TX_BACKEND].channels_mixer_ctl =
+ strdup("SEC_MI2S_TX Channels");
+ } else {
+ my_data->current_backend_cfg[HDMI_TX_BACKEND].bitwidth_mixer_ctl =
+ strdup("QUAT_MI2S_TX Format");
+ my_data->current_backend_cfg[HDMI_TX_BACKEND].samplerate_mixer_ctl =
+ strdup("QUAT_MI2S_TX SampleRate");
+ my_data->current_backend_cfg[HDMI_TX_BACKEND].channels_mixer_ctl =
+ strdup("QUAT_MI2S_TX Channels");
+ }
+
+ my_data->current_backend_cfg[SPDIF_TX_BACKEND].bitwidth_mixer_ctl =
+ strdup("PRIM_SPDIF_TX Format");
+ my_data->current_backend_cfg[SPDIF_TX_BACKEND].samplerate_mixer_ctl =
+ strdup("PRIM_SPDIF_TX SampleRate");
+ my_data->current_backend_cfg[SPDIF_TX_BACKEND].channels_mixer_ctl =
+ strdup("PRIM_SPDIF_TX Channels");
+
+ my_data->current_backend_cfg[HDMI_ARC_TX_BACKEND].bitwidth_mixer_ctl =
+ strdup("SEC_SPDIF_TX Format");
+ my_data->current_backend_cfg[HDMI_ARC_TX_BACKEND].samplerate_mixer_ctl =
+ strdup("SEC_SPDIF_TX SampleRate");
+ my_data->current_backend_cfg[HDMI_ARC_TX_BACKEND].channels_mixer_ctl =
+ strdup("SEC_SPDIF_TX Channels");
for (idx = 0; idx < MAX_CODEC_BACKENDS; idx++) {
if (my_data->current_backend_cfg[idx].bitwidth_mixer_ctl) {
@@ -2593,6 +2644,11 @@
my_data->adev->mixer = NULL;
}
+ if (my_data->spkr_ch_map) {
+ free(my_data->spkr_ch_map);
+ my_data->spkr_ch_map = NULL;
+ }
+
int32_t idx;
for (idx = 0; idx < MAX_CODEC_BACKENDS; idx++) {
@@ -3210,8 +3266,12 @@
port = USB_AUDIO_TX_BACKEND;
else if (strstr(backend_tag_table[snd_device], "bt-sco") != NULL)
port = BT_SCO_TX_BACKEND;
- else if (strcmp(backend_tag_table[snd_device], "hdmi-mic") == 0)
+ else if (strcmp(backend_tag_table[snd_device], "spdif-in") == 0)
+ port = SPDIF_TX_BACKEND;
+ else if (strcmp(backend_tag_table[snd_device], "hdmi-in") == 0)
port = HDMI_TX_BACKEND;
+ else if (strcmp(backend_tag_table[snd_device], "hdmi-arc-in") == 0)
+ port = HDMI_ARC_TX_BACKEND;
}
} else {
ALOGW("%s:napb: Invalid device - %d ", __func__, snd_device);
@@ -4513,6 +4573,8 @@
snd_device = SND_DEVICE_IN_HANDSET_MIC;
} else if (in_device & AUDIO_DEVICE_IN_BACK_MIC) {
snd_device = SND_DEVICE_IN_SPEAKER_MIC;
+ } else if (in_device & AUDIO_DEVICE_IN_LINE) {
+ snd_device = SND_DEVICE_IN_LINE;
} else if (in_device & AUDIO_DEVICE_IN_WIRED_HEADSET) {
snd_device = SND_DEVICE_IN_HEADSET_MIC;
} else if (in_device & AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET) {
@@ -4527,8 +4589,13 @@
else
snd_device = SND_DEVICE_IN_BT_SCO_MIC;
}
+ } else if (in_device & AUDIO_DEVICE_IN_SPDIF) {
+ snd_device = SND_DEVICE_IN_SPDIF;
} else if (in_device & AUDIO_DEVICE_IN_AUX_DIGITAL) {
snd_device = SND_DEVICE_IN_HDMI_MIC;
+ } else if (in_device & AUDIO_DEVICE_IN_TV_TUNER) {
+ /* add separate AUDIO_DEVICE for this? */
+ snd_device = SND_DEVICE_IN_HDMI_ARC;
} else if (in_device & AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET ||
in_device & AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET) {
snd_device = SND_DEVICE_IN_USB_HEADSET_MIC;
@@ -4810,11 +4877,19 @@
cal->module_id = (uint32_t) strtoul(value, NULL, 0);
ret = ret | 0x80;
}
+#ifdef INSTANCE_ID_ENABLED
+ err = str_parms_get_str(parms, "cal_instanceid", value, sizeof(value));
+ if (err >= 0) {
+ str_parms_del(parms, "cal_instanceid");
+ cal->instance_id = (uint32_t) strtoul(value, NULL, 0);
+ ret = ret | 0x100;
+ }
+#endif
err = str_parms_get_str(parms, "cal_paramid", value, sizeof(value));
if (err >= 0) {
str_parms_del(parms, "cal_paramid");
cal->param_id = (uint32_t) strtoul(value, NULL, 0);
- ret = ret | 0x100;
+ ret = ret | 0x200;
}
return ret;
}
@@ -4941,6 +5016,46 @@
}
}
+static void platform_spkr_device_set_params(struct platform_data *platform,
+ struct str_parms *parms,
+ char *value, int len)
+{
+ int err = 0, i = 0, num_ch = 0;
+ char *test_r = NULL;
+ char *opts = NULL;
+ char *ch_count = NULL;
+
+ err = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP,
+ value, len);
+ if (err >= 0) {
+ platform->spkr_ch_map = calloc(1, sizeof(struct spkr_device_chmap));
+ if (!platform->spkr_ch_map) {
+ ALOGE("%s: failed to allocate mem for adm channel map\n", __func__);
+ str_parms_del(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP);
+ return ;
+ }
+
+ ch_count = strtok_r(value, ", ", &test_r);
+ if (ch_count == NULL) {
+ ALOGE("%s: incorrect ch_map\n", __func__);
+ free(platform->spkr_ch_map);
+ platform->spkr_ch_map = NULL;
+ str_parms_del(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP);
+ return;
+ }
+
+ num_ch = atoi(ch_count);
+ if ((num_ch > 0) && (num_ch <= AUDIO_CHANNEL_COUNT_MAX) ) {
+ platform->spkr_ch_map->num_ch = num_ch;
+ for (i = 0; i < num_ch; i++) {
+ opts = strtok_r(NULL, ", ", &test_r);
+ platform->spkr_ch_map->chmap[i] = strtoul(opts, NULL, 16);
+ }
+ }
+ str_parms_del(parms, AUDIO_PARAMETER_KEY_SPKR_DEVICE_CHMAP);
+ }
+}
+
int platform_set_parameters(void *platform, struct str_parms *parms)
{
struct platform_data *my_data = (struct platform_data *)platform;
@@ -5082,6 +5197,7 @@
audio_extn_hfp_set_parameters(adev, parms);
perf_lock_set_params(platform, parms, value, len);
true_32_bit_set_params(parms, value, len);
+ platform_spkr_device_set_params(platform, parms, value, len);
done:
ALOGV("%s: exit with code(%d)", __func__, ret);
if(kv_pairs != NULL)
@@ -5717,7 +5833,9 @@
if (rate_str == NULL) {
switch (sample_rate) {
case 32000:
- if (passthrough_enabled || (backend_idx == HDMI_TX_BACKEND )) {
+ if (passthrough_enabled || (backend_idx == SPDIF_TX_BACKEND ) ||
+ (backend_idx == HDMI_TX_BACKEND ) ||
+ (backend_idx == HDMI_ARC_TX_BACKEND )) {
rate_str = "KHZ_32";
break;
}
@@ -5826,8 +5944,18 @@
} else if (backend_idx == DISP_PORT_RX_BACKEND) {
ext_disp_format = "Display Port RX Format";
set_ext_disp_format = true;
+ } else if (backend_idx == SPDIF_TX_BACKEND) {
+ ext_disp_format = "PRI SPDIF TX Format";
+ set_mi2s_tx_data_format = true;
} else if (backend_idx == HDMI_TX_BACKEND) {
- ext_disp_format = "QUAT MI2S TX Format";
+ if (!strncmp(platform_get_snd_device_backend_interface(snd_device),
+ "SEC_MI2S_TX", sizeof("SEC_MI2S_TX")))
+ ext_disp_format = "SEC MI2S TX Format";
+ else
+ ext_disp_format = "QUAT MI2S TX Format";
+ set_mi2s_tx_data_format = true;
+ } else if (backend_idx == HDMI_ARC_TX_BACKEND) {
+ ext_disp_format = "SEC SPDIF TX Format";
set_mi2s_tx_data_format = true;
} else {
ALOGV("%s: Format doesnt have to be set", __func__);
@@ -5844,10 +5972,10 @@
return -EINVAL;
}
if (format == AUDIO_FORMAT_PCM) {
- ALOGE("%s:MI2S data format LPCM", __func__);
+ ALOGE("%s:Set %s to LPCM", __func__, ext_disp_format);
mixer_ctl_set_enum_by_string(ctl, "LPCM");
} else {
- ALOGE("%s:MI2S data format Compr", __func__);
+ ALOGE("%s:Set %s to Compr", __func__, ext_disp_format);
mixer_ctl_set_enum_by_string(ctl, "Compr");
}
my_data->current_backend_cfg[backend_idx].format = format;
@@ -6128,6 +6256,11 @@
ALOGD("%s:becf: afe: napb not active - set non fractional rate",
__func__);
}
+ /*ensure AFE set to 48khz when sample rate less than 44.1khz*/
+ if (sample_rate < OUTPUT_SAMPLING_RATE_44100) {
+ sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
+ ALOGD("%s:becf: afe: napb set sample rate to default Sample Rate(48k)",__func__);
+ }
}
/*
@@ -6276,6 +6409,11 @@
backend_cfg.sample_rate, backend_cfg.channels, backend_idx, usecase->id,
platform_get_snd_device_name(snd_device));
+ if ((my_data->spkr_ch_map != NULL) &&
+ (platform_get_backend_index(snd_device) == DEFAULT_CODEC_BACKEND))
+ platform_set_channel_map(my_data, my_data->spkr_ch_map->num_ch,
+ my_data->spkr_ch_map->chmap, -1);
+
if (platform_split_snd_device(my_data, snd_device, &num_devices,
new_snd_devices) < 0)
new_snd_devices[0] = snd_device;
@@ -7516,7 +7654,37 @@
return;
}
-static void make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
+#ifdef INSTANCE_ID_ENABLED
+void platform_make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
+ int acdb_device_type, int app_type, int topology_id,
+ int sample_rate, uint32_t module_id, uint16_t instance_id,
+ uint32_t param_id, bool persist)
+{
+ int persist_send_flags = 1;
+
+ if (!cal) {
+ return;
+ }
+
+ if (persist)
+ persist_send_flags |= 0x2;
+
+ memset(cal, 0, sizeof(acdb_audio_cal_cfg_t));
+
+ cal->persist = persist;
+ cal->app_type = app_type;
+ cal->acdb_dev_id = acdb_dev_id;
+ cal->sampling_rate = sample_rate;
+ cal->topo_id = topology_id;
+ //if module and param id is set to 0, the whole blob will be stored
+ //or sent to the DSP
+ cal->module_id = module_id;
+ cal->instance_id = instance_id;
+ cal->param_id = param_id;
+ cal->cal_type = acdb_device_type;
+}
+#else
+void platform_make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
int acdb_device_type, int app_type, int topology_id,
int sample_rate, uint32_t module_id, uint32_t param_id, bool persist)
{
@@ -7541,36 +7709,29 @@
cal->module_id = module_id;
cal->param_id = param_id;
cal->cal_type = acdb_device_type;
- cal->persist = persist;
-
}
+#endif
-int platform_send_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id, int sample_rate,
- uint32_t module_id, uint32_t param_id, void* data, int length, bool persist)
+int platform_send_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
+ void* data, int length, bool persist)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, true);
-
if (my_data->acdb_set_audio_cal) {
// persist audio cal in local cache
if (persist) {
- ret = my_data->acdb_set_audio_cal((void*)&cal, data, (uint32_t)length);
+ ret = my_data->acdb_set_audio_cal((void*)cal, data, (uint32_t)length);
}
// send audio cal to dsp
if (ret == 0) {
- cal.persist = false;
- ret = my_data->acdb_set_audio_cal((void*)&cal, data, (uint32_t)length);
+ cal->persist = false;
+ ret = my_data->acdb_set_audio_cal((void*)cal, data, (uint32_t)length);
if (persist && (ret != 0)) {
ALOGV("[%s] audio cal stored with success, ignore set cal failure", __func__);
ret = 0;
@@ -7582,31 +7743,24 @@
return ret;
}
-int platform_get_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id,
- int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_get_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int* length, bool persist)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, false);
-
if (my_data->acdb_get_audio_cal) {
// get cal from dsp
- ret = my_data->acdb_get_audio_cal((void*)&cal, data, (uint32_t*)length);
+ ret = my_data->acdb_get_audio_cal((void*)cal, data, (uint32_t*)length);
// get cached cal if prevoius attempt fails and persist flag is set
if ((ret != 0) && persist) {
- cal.persist = true;
- ret = my_data->acdb_get_audio_cal((void*)&cal, data, (uint32_t*)length);
+ cal->persist = true;
+ ret = my_data->acdb_get_audio_cal((void*)cal, data, (uint32_t*)length);
}
}
@@ -7614,52 +7768,38 @@
return ret;
}
-int platform_store_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id,
- int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_store_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int length)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, true);
-
if (my_data->acdb_set_audio_cal) {
- ret = my_data->acdb_set_audio_cal((void*)&cal, data, (uint32_t)length);
+ ret = my_data->acdb_set_audio_cal((void*)cal, data, (uint32_t)length);
}
ERROR_RETURN:
return ret;
}
-int platform_retrieve_audio_cal(void* platform, int acdb_dev_id,
- int acdb_device_type, int app_type, int topology_id,
- int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_retrieve_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int* length)
{
int ret = 0;
struct platform_data *my_data = (struct platform_data *)platform;
- acdb_audio_cal_cfg_t cal;
- memset(&cal, 0, sizeof(acdb_audio_cal_cfg_t));
if (!my_data) {
ret = -EINVAL;
goto ERROR_RETURN;
}
- make_cal_cfg(&cal, acdb_dev_id, acdb_device_type, app_type, topology_id,
- sample_rate, module_id, param_id, true);
-
if (my_data->acdb_get_audio_cal) {
- ret = my_data->acdb_get_audio_cal((void*)&cal, data, (uint32_t*)length);
+ ret = my_data->acdb_get_audio_cal((void*)cal, data, (uint32_t*)length);
}
ERROR_RETURN:
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index e0aa58d..c8ddaec 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -174,7 +174,9 @@
SND_DEVICE_IN_HEADSET_MIC_FLUENCE,
SND_DEVICE_IN_VOICE_SPEAKER_MIC,
SND_DEVICE_IN_VOICE_HEADSET_MIC,
+ SND_DEVICE_IN_SPDIF,
SND_DEVICE_IN_HDMI_MIC,
+ SND_DEVICE_IN_HDMI_ARC,
SND_DEVICE_IN_BT_SCO_MIC,
SND_DEVICE_IN_BT_SCO_MIC_NREC,
SND_DEVICE_IN_BT_SCO_MIC_WB,
@@ -237,6 +239,7 @@
SND_DEVICE_IN_INCALL_REC_RX,
SND_DEVICE_IN_INCALL_REC_TX,
SND_DEVICE_IN_INCALL_REC_RX_TX,
+ SND_DEVICE_IN_LINE,
SND_DEVICE_IN_END,
SND_DEVICE_MAX = SND_DEVICE_IN_END,
@@ -266,7 +269,9 @@
DEFAULT_CODEC_TX_BACKEND = SLIMBUS_0_TX,
USB_AUDIO_TX_BACKEND,
BT_SCO_TX_BACKEND,
+ SPDIF_TX_BACKEND,
HDMI_TX_BACKEND,
+ HDMI_ARC_TX_BACKEND,
MAX_CODEC_BACKENDS
};
diff --git a/hal/platform_api.h b/hal/platform_api.h
index 2bacf6d..09c69de 100755
--- a/hal/platform_api.h
+++ b/hal/platform_api.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
* Not a contribution.
*
* Copyright (C) 2013 The Android Open Source Project
@@ -73,6 +73,23 @@
char be_name[BE_DAI_NAME_MAX_LENGTH];
};
+typedef struct acdb_audio_cal_cfg {
+ uint32_t persist;
+ uint32_t snd_dev_id;
+ audio_devices_t dev_id;
+ int32_t acdb_dev_id;
+ uint32_t app_type;
+ uint32_t topo_id;
+ uint32_t sampling_rate;
+ uint32_t cal_type;
+ uint32_t module_id;
+#ifdef INSTANCE_ID_ENABLED
+ uint16_t instance_id;
+ uint16_t reserved;
+#endif
+ uint32_t param_id;
+} acdb_audio_cal_cfg_t;
+
enum card_status_t;
void *platform_init(struct audio_device *adev);
@@ -240,20 +257,27 @@
void platform_invalidate_hdmi_config(void *platform);
void platform_invalidate_backend_config(void * platform,snd_device_t snd_device);
-int platform_send_audio_cal(void* platform, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
+#ifdef INSTANCE_ID_ENABLED
+void platform_make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
+ int acdb_device_type, int app_type, int topology_id,
+ int sample_rate, uint32_t module_id, uint16_t instance_id,
+ uint32_t param_id, bool persist);
+#else
+void platform_make_cal_cfg(acdb_audio_cal_cfg_t* cal, int acdb_dev_id,
+ int acdb_device_type, int app_type, int topology_id,
+ int sample_rate, uint32_t module_id, uint32_t param_id, bool persist);
+#endif
+
+int platform_send_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int length, bool persist);
-int platform_get_audio_cal(void* platform, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_get_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int* length, bool persist);
-int platform_store_audio_cal(void* platform, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_store_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int length);
-int platform_retrieve_audio_cal(void* platform, int acdb_dev_id, int acdb_device_type,
- int app_type, int topology_id, int sample_rate, uint32_t module_id, uint32_t param_id,
+int platform_retrieve_audio_cal(void* platform, acdb_audio_cal_cfg_t* cal,
void* data, int* length);
unsigned char* platform_get_license(void* platform, int* size);
diff --git a/post_proc/Android.mk b/post_proc/Android.mk
index be06ae2..5da769c 100644
--- a/post_proc/Android.mk
+++ b/post_proc/Android.mk
@@ -110,6 +110,10 @@
LOCAL_CFLAGS += -DHW_ACC_HPX
endif
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_INSTANCE_ID)), true)
+ LOCAL_CFLAGS += -DINSTANCE_ID_ENABLED
+endif
+
LOCAL_MODULE:= libhwacceffectswrapper
LOCAL_VENDOR_MODULE := true
diff --git a/post_proc/bass_boost.c b/post_proc/bass_boost.c
index a4e2292..68cd46f 100644
--- a/post_proc/bass_boost.c
+++ b/post_proc/bass_boost.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2015, 2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2015, 2017-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2013 The Android Open Source Project
@@ -63,6 +63,10 @@
uint32_t sampling_rate;
uint32_t cal_type;
uint32_t module_id;
+#ifdef INSTANCE_ID_ENABLED
+ uint16_t instance_id;
+ uint16_t reserved;
+#endif
uint32_t param_id;
} acdb_audio_cal_cfg_t;
diff --git a/qahw/inc/qahw_defs.h b/qahw/inc/qahw_defs.h
index e67c91e..573c4af 100755
--- a/qahw/inc/qahw_defs.h
+++ b/qahw/inc/qahw_defs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2011 The Android Open Source Project *
@@ -170,6 +170,7 @@
*/
#define QAHW_INPUT_FLAG_TIMESTAMP 0x80000000
#define QAHW_INPUT_FLAG_COMPRESS 0x40000000
+#define QAHW_INPUT_FLAG_PASSTHROUGH 0x20000000
/* Query fm volume */
#define QAHW_PARAMETER_KEY_FM_VOLUME "fm_volume"
diff --git a/qahw/src/qahw.c b/qahw/src/qahw.c
index d03a570..0c00158 100644
--- a/qahw/src/qahw.c
+++ b/qahw/src/qahw.c
@@ -1722,7 +1722,8 @@
}
/* dlsym qahwi_in_read_v2 if timestamp flag is used */
- if (!rc && (flags & QAHW_INPUT_FLAG_TIMESTAMP)) {
+ if (!rc && ((flags & QAHW_INPUT_FLAG_TIMESTAMP) ||
+ (flags & QAHW_INPUT_FLAG_PASSTHROUGH))) {
const char *error;
/* clear any existing errors */
diff --git a/qahw_api/inc/qahw_defs.h b/qahw_api/inc/qahw_defs.h
old mode 100755
new mode 100644
index c708ce0..c6d42ca
--- a/qahw_api/inc/qahw_defs.h
+++ b/qahw_api/inc/qahw_defs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2011 The Android Open Source Project *
@@ -170,6 +170,7 @@
*/
#define QAHW_INPUT_FLAG_TIMESTAMP 0x80000000
#define QAHW_INPUT_FLAG_COMPRESS 0x40000000
+#define QAHW_INPUT_FLAG_PASSTHROUGH 0x20000000
/* Query fm volume */
#define QAHW_PARAMETER_KEY_FM_VOLUME "fm_volume"
diff --git a/qahw_api/inc/qahw_effect_audiosphere.h b/qahw_api/inc/qahw_effect_audiosphere.h
index 2d294de..7bad4b0 100644
--- a/qahw_api/inc/qahw_effect_audiosphere.h
+++ b/qahw_api/inc/qahw_effect_audiosphere.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2017-2018, 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
@@ -32,7 +32,7 @@
#include <qahw_effect_api.h>
-#if __cplusplus
+#ifdef __cplusplus
extern "C" {
#endif
@@ -54,7 +54,7 @@
ASPHERE_PARAM_STATUS,
} qahw_asphere_params;
-#if __cplusplus
+#ifdef __cplusplus
} // extern "C"
#endif
diff --git a/qahw_api/inc/qahw_effect_bassboost.h b/qahw_api/inc/qahw_effect_bassboost.h
index 24b02e1..2ca8409 100644
--- a/qahw_api/inc/qahw_effect_bassboost.h
+++ b/qahw_api/inc/qahw_effect_bassboost.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2011 The Android Open Source Project
@@ -22,7 +22,7 @@
#include <qahw_effect_api.h>
-#if __cplusplus
+#ifdef __cplusplus
extern "C" {
#endif
@@ -43,7 +43,7 @@
BASSBOOST_PARAM_STRENGTH
} qahw_bassboost_params;
-#if __cplusplus
+#ifdef __cplusplus
} // extern "C"
#endif
diff --git a/qahw_api/inc/qahw_effect_equalizer.h b/qahw_api/inc/qahw_effect_equalizer.h
index 4f9e8f3..fd71c4c 100644
--- a/qahw_api/inc/qahw_effect_equalizer.h
+++ b/qahw_api/inc/qahw_effect_equalizer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2011 The Android Open Source Project
@@ -22,7 +22,7 @@
#include <qahw_effect_api.h>
-#if __cplusplus
+#ifdef __cplusplus
extern "C" {
#endif
@@ -76,7 +76,7 @@
uint16_t bandLevels[];
} qahw_equalizer_settings;
-#if __cplusplus
+#ifdef __cplusplus
} // extern "C"
#endif
diff --git a/qahw_api/inc/qahw_effect_presetreverb.h b/qahw_api/inc/qahw_effect_presetreverb.h
index 1edd0a5..ef3376a 100644
--- a/qahw_api/inc/qahw_effect_presetreverb.h
+++ b/qahw_api/inc/qahw_effect_presetreverb.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2011 The Android Open Source Project
@@ -22,7 +22,7 @@
#include <qahw_effect_api.h>
-#if __cplusplus
+#ifdef __cplusplus
extern "C" {
#endif
@@ -59,7 +59,7 @@
REVERB_PRESET_LAST = REVERB_PRESET_PLATE
} qahw_reverb_presets;
-#if __cplusplus
+#ifdef __cplusplus
} // extern "C"
#endif
diff --git a/qahw_api/inc/qahw_effect_virtualizer.h b/qahw_api/inc/qahw_effect_virtualizer.h
index 73af232..5ff95ce 100644
--- a/qahw_api/inc/qahw_effect_virtualizer.h
+++ b/qahw_api/inc/qahw_effect_virtualizer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2011 The Android Open Source Project
@@ -22,7 +22,7 @@
#include <qahw_effect_api.h>
-#if __cplusplus
+#ifdef __cplusplus
extern "C" {
#endif
@@ -78,7 +78,7 @@
VIRTUALIZER_PARAM_VIRTUALIZATION_MODE
} qahw_virtualizer_params;
-#if __cplusplus
+#ifdef __cplusplus
} // extern "C"
#endif
diff --git a/qahw_api/test/qahw_multi_record_test.c b/qahw_api/test/qahw_multi_record_test.c
index ed8fe40..18508b5 100644
--- a/qahw_api/test/qahw_multi_record_test.c
+++ b/qahw_api/test/qahw_multi_record_test.c
@@ -279,6 +279,9 @@
case 4:
params->config.channel_mask = AUDIO_CHANNEL_INDEX_MASK_4;
break;
+ case 8:
+ params->config.channel_mask = AUDIO_CHANNEL_INDEX_MASK_8;
+ break;
default:
fprintf(log_file, "ERROR :::: channle count %d not supported, handle(%d)", params->channels, params->handle);
if (log_file != stdout)
@@ -351,7 +354,11 @@
if (log_file != stdout)
fprintf(stdout, "\n ADL: Please speak into the microphone for %lf seconds, handle(%d)\n", params->record_length, params->handle);
- snprintf(file_name + name_len, sizeof(file_name) - name_len, "%d.wav", (0x99A - params->handle));
+ if (audio_is_linear_pcm(params->config.format))
+ snprintf(file_name + name_len, sizeof(file_name) - name_len, "%d.wav", (0x99A - params->handle));
+ else
+ snprintf(file_name + name_len, sizeof(file_name) - name_len, "%d.raw", (0x99A - params->handle));
+
FILE *fd = fopen(file_name,"w");
if (fd == NULL) {
fprintf(log_file, "File open failed \n");
@@ -403,7 +410,8 @@
hdr.bits_per_sample = bps;
hdr.data_id = ID_DATA;
hdr.data_sz = 0;
- fwrite(&hdr, 1, sizeof(hdr), fd);
+ if (audio_is_linear_pcm(params->config.format))
+ fwrite(&hdr, 1, sizeof(hdr), fd);
memset(&in_buf,0, sizeof(qahw_in_buffer_t));
start_time = time(0);
@@ -432,7 +440,7 @@
bytes_read = qahw_in_read(in_handle, &in_buf);
if (params->timestamp_mode)
- fprintf(fd_in_ts, "timestamp:%lu\n", timestamp);
+ fprintf(fd_in_ts, "timestamp:%lld\n", timestamp);
if (kpi_mode) {
if (count == 0) {
ret = clock_gettime(CLOCK_REALTIME, &tsColdF);
@@ -450,12 +458,12 @@
}
time_elapsed = difftime(time(0), start_time);
- written_size = fwrite(in_buf.buffer, 1, buffer_size, fd);
- if (written_size < buffer_size) {
+ written_size = fwrite(in_buf.buffer, 1, bytes_read, fd);
+ if (written_size < bytes_read) {
printf("Error in fwrite(%d)=%s\n",ferror(fd), strerror(ferror(fd)));
break;
}
- data_sz += buffer_size;
+ data_sz += bytes_read;
}
if ((params->timestamp_mode) && fd_in_ts) {
fclose(fd_in_ts);
@@ -465,11 +473,13 @@
/*Stopping sourcetracking thread*/
sourcetrack_done = 1;
- /* update lengths in header */
- hdr.data_sz = data_sz;
- hdr.riff_sz = data_sz + 44 - 8;
- fseek(fd, 0, SEEK_SET);
- fwrite(&hdr, 1, sizeof(hdr), fd);
+ if (audio_is_linear_pcm(params->config.format)) {
+ /* update lengths in header */
+ hdr.data_sz = data_sz;
+ hdr.riff_sz = data_sz + 44 - 8;
+ fseek(fd, 0, SEEK_SET);
+ fwrite(&hdr, 1, sizeof(hdr), fd);
+ }
free(buffer);
fclose(fd);
fd = NULL;
@@ -846,7 +856,11 @@
/* Register the SIGINT to close the App properly */
if (signal(SIGINT, stop_signal_handler) == SIG_ERR)
- fprintf(log_file, "Failed to register SIGINT:%d\n",errno);
+ fprintf(log_file, "Failed to register SIGINT:%d\n", errno);
+
+ /* Register the SIGTERM to close the App properly */
+ if (signal(SIGTERM, stop_signal_handler) == SIG_ERR)
+ fprintf(log_file, "Failed to register SIGTERM:%d\n", errno);
for (i = 0; i < MAX_RECORD_SESSIONS; i++) {
if (thread_active[i] == 1) {
diff --git a/qahw_api/test/qahw_playback_test.c b/qahw_api/test/qahw_playback_test.c
index 3ce01ef..8834252 100644
--- a/qahw_api/test/qahw_playback_test.c
+++ b/qahw_api/test/qahw_playback_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2015 The Android Open Source Project *
@@ -2403,8 +2403,14 @@
/* Register the SIGINT to close the App properly */
if (signal(SIGINT, stop_signal_handler) == SIG_ERR) {
- fprintf(log_file, "Failed to register SIGINT:%d\n",errno);
- fprintf(stderr, "Failed to register SIGINT:%d\n",errno);
+ fprintf(log_file, "Failed to register SIGINT:%d\n", errno);
+ fprintf(stderr, "Failed to register SIGINT:%d\n", errno);
+ }
+
+ /* Register the SIGTERM to close the App properly */
+ if (signal(SIGTERM, stop_signal_handler) == SIG_ERR) {
+ fprintf(log_file, "Failed to register SIGTERM:%d\n", errno);
+ fprintf(stderr, "Failed to register SIGTERM:%d\n", errno);
}
/* Check for Dual main content */