Merge "audio: cobalt: configs: Update configs to enable APE/ALAC SW Decs" into audio-userspace.lnx.2.1-dev
diff --git a/configs/msm8953/mixer_paths_qrd_sku3.xml b/configs/msm8953/mixer_paths_qrd_sku3.xml
index 0d68a71..486f49a 100644
--- a/configs/msm8953/mixer_paths_qrd_sku3.xml
+++ b/configs/msm8953/mixer_paths_qrd_sku3.xml
@@ -2028,6 +2028,11 @@
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
</path>
+ <path name="wsa-speaker-and-headphones">
+ <path name="wsa-speaker" />
+ <path name="headphones" />
+ </path>
+
<path name="usb-headphones">
</path>
@@ -2045,6 +2050,11 @@
<path name="usb-headphones" />
</path>
+ <path name="wsa-speaker-and-usb-headphones">
+ <path name="wsa-speaker" />
+ <path name="usb-headphones" />
+ </path>
+
<path name="speaker-and-hdmi">
<path name="wsa-speaker" />
<path name="hdmi" />
@@ -2248,4 +2258,9 @@
<path name="speaker-and-line">
<path name="speaker-and-headphones" />
</path>
+
+ <path name="wsa-speaker-and-line">
+ <path name="wsa-speaker" />
+ <path name="headphones" />
+ </path>
</mixer>
diff --git a/configs/msmcobalt/audio_output_policy.conf b/configs/msmcobalt/audio_output_policy.conf
index 67d79bf..1bbaad2 100644
--- a/configs/msmcobalt/audio_output_policy.conf
+++ b/configs/msmcobalt/audio_output_policy.conf
@@ -48,8 +48,8 @@
}
compress_passthrough_16 {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
- formats AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_E_AC3_JOC|AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD
- sampling_rates 32000|44100|48000|88200|96000|176400|192000
+ formats AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_E_AC3_JOC|AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
+ sampling_rates 32000|44100|48000|88200|96000|176400|192000|352800
bit_width 16
app_type 69941
}
diff --git a/configs/msmcobalt/audio_platform_info.xml b/configs/msmcobalt/audio_platform_info.xml
index 512e8ee..f5547dc 100644
--- a/configs/msmcobalt/audio_platform_info.xml
+++ b/configs/msmcobalt/audio_platform_info.xml
@@ -55,6 +55,8 @@
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="35"/>
<usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="6"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="7"/>
+ <usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="17" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="17" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
@@ -70,9 +72,12 @@
<backend_names>
<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"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_6_RX"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
+ <device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
<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"/>
diff --git a/configs/msmcobalt/audio_policy.conf b/configs/msmcobalt/audio_policy.conf
index a3b0c55..166b9b6 100644
--- a/configs/msmcobalt/audio_policy.conf
+++ b/configs/msmcobalt/audio_policy.conf
@@ -71,6 +71,13 @@
devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES|AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
}
+ dsd_compress_passthrough {
+ sampling_rates 2822400|5644800
+ channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_DSD
+ devices AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ }
incall_music {
sampling_rates 8000|16000|48000
channel_masks AUDIO_CHANNEL_OUT_MONO
diff --git a/configs/msmcobalt/audio_policy_configuration.xml b/configs/msmcobalt/audio_policy_configuration.xml
index 4336aa2..b7da238 100644
--- a/configs/msmcobalt/audio_policy_configuration.xml
+++ b/configs/msmcobalt/audio_policy_configuration.xml
@@ -137,6 +137,12 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
+ <mixPort name="dsd_compress_passthrough" role="source"
+ flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
+ <profile name="" format="AUDIO_FORMAT_DSD"
+ samplingRates="2822400,5644800"
+ channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+ </mixPort>
<mixPort name="voice_tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
@@ -277,11 +283,11 @@
<route type="mix" sink="Speaker"
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
<route type="mix" sink="Wired Headset"
- sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,dsd_compress_passthrough,voip_rx"/>
<route type="mix" sink="Wired Headphones"
- sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,dsd_compress_passthrough,voip_rx"/>
<route type="mix" sink="Line"
- sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,dsd_compress_passthrough,voip_rx"/>
<route type="mix" sink="HDMI"
sources="primary output,raw,deep_buffer,multichannel,direct_pcm,compressed_offload,compress_passthrough"/>
<route type="mix" sink="Proxy"
diff --git a/configs/msmcobalt/mixer_paths_dtp.xml b/configs/msmcobalt/mixer_paths_dtp.xml
index 9bcf15b..a6c61e4 100644
--- a/configs/msmcobalt/mixer_paths_dtp.xml
+++ b/configs/msmcobalt/mixer_paths_dtp.xml
@@ -138,6 +138,8 @@
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="0" />
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia7" value="0" />
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia7" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="0" />
+ <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia8" value="0" />
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia11" value="0" />
@@ -617,7 +619,7 @@
</path>
<path name="audio-ull-playback">
- <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback speaker-protected">
@@ -634,11 +636,11 @@
</path>
<path name="audio-ull-playback hdmi">
- <ctl name="HDMI Mixer MultiMedia3" value="1" />
+ <ctl name="HDMI Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco">
- <ctl name="AUX_PCM_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="AUX_PCM_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco-wb">
@@ -652,7 +654,7 @@
</path>
<path name="audio-ull-playback afe-proxy">
- <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="multi-channel-playback hdmi">
<ctl name="HDMI Mixer MultiMedia2" value="1" />
@@ -1103,11 +1105,11 @@
</path>
<path name="low-latency-record">
- <ctl name="MultiMedia5 Mixer SLIM_0_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="1" />
</path>
<path name="low-latency-record bt-sco">
- <ctl name="MultiMedia5 Mixer AUX_PCM_UL_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer AUX_PCM_UL_TX" value="1" />
</path>
<path name="low-latency-record bt-sco-wb">
@@ -1116,11 +1118,11 @@
</path>
<path name="low-latency-record usb-headset-mic">
- <ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer AFE_PCM_TX" value="1" />
</path>
<path name="low-latency-record capture-fm">
- <ctl name="MultiMedia5 Mixer TERT_MI2S_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer TERT_MI2S_TX" value="1" />
</path>
<path name="fm-virtual-record capture-fm">
diff --git a/configs/msmcobalt/mixer_paths_tasha.xml b/configs/msmcobalt/mixer_paths_tasha.xml
index 0927678..eb5a150 100644
--- a/configs/msmcobalt/mixer_paths_tasha.xml
+++ b/configs/msmcobalt/mixer_paths_tasha.xml
@@ -694,7 +694,7 @@
</path>
<path name="audio-ull-playback">
- <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback speaker-protected">
@@ -702,7 +702,7 @@
</path>
<path name="audio-ull-playback headphones">
- <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback speaker-and-headphones">
@@ -711,11 +711,11 @@
</path>
<path name="audio-ull-playback hdmi">
- <ctl name="HDMI Mixer MultiMedia3" value="1" />
+ <ctl name="HDMI Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco">
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco-wb">
@@ -729,11 +729,11 @@
</path>
<path name="audio-ull-playback afe-proxy">
- <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback usb-headphones">
- <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="multi-channel-playback hdmi">
@@ -1223,11 +1223,11 @@
</path>
<path name="low-latency-record">
- <ctl name="MultiMedia5 Mixer SLIM_0_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="1" />
</path>
<path name="low-latency-record bt-sco">
- <ctl name="MultiMedia5 Mixer SLIM_7_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
</path>
<path name="low-latency-record bt-sco-wb">
@@ -1236,11 +1236,11 @@
</path>
<path name="low-latency-record usb-headset-mic">
- <ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
<path name="low-latency-record capture-fm">
- <ctl name="MultiMedia5 Mixer SLIM_8_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer SLIM_8_TX" value="1" />
</path>
<path name="fm-virtual-record capture-fm">
@@ -1876,8 +1876,8 @@
<ctl name="SLIM RX2 MUX" value="AIF4_PB" />
<ctl name="SLIM RX3 MUX" value="AIF4_PB" />
<ctl name="SLIM_6_RX Channels" value="Two" />
- <ctl name= "RX INT1_1 MIX1 INP0" value="RX2" />
- <ctl name= "RX INT2_1 MIX1 INP0" value="RX3" />
+ <ctl name= "RX INT1_2 MUX" value="RX2" />
+ <ctl name= "RX INT2_2 MUX" value="RX3" />
<ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="RX INT2 DEM MUX" value="CLSH_DSM_OUT" />
</path>
@@ -1907,6 +1907,14 @@
<ctl name= "RX INT2 SPLINE MIX HPHR Native Switch" value="1" />
</path>
+ <path name="hph-highquality-mode">
+ <ctl name="RX HPH Mode" value="CLS_H_LOHIFI" />
+ </path>
+
+ <path name="hph-lowpower-mode">
+ <ctl name="RX HPH Mode" value="CLS_H_LP" />
+ </path>
+
<path name="line">
<path name="headphones" />
</path>
diff --git a/configs/msmcobalt/mixer_paths_tavil.xml b/configs/msmcobalt/mixer_paths_tavil.xml
index 79116a4..98b9bbf 100644
--- a/configs/msmcobalt/mixer_paths_tavil.xml
+++ b/configs/msmcobalt/mixer_paths_tavil.xml
@@ -50,6 +50,7 @@
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia4" value="0" />
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia5" value="0" />
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia7" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia8" value="0" />
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia11" value="0" />
<ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia12" value="0" />
@@ -67,6 +68,9 @@
<ctl name="MultiMedia1 Mixer SLIM_0_TX" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_4_TX" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer SLIM_4_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
<ctl name="HDMI Mixer MultiMedia1" value="0" />
<ctl name="HDMI Mixer MultiMedia2" value="0" />
<ctl name="HDMI Mixer MultiMedia3" value="0" />
@@ -95,6 +99,9 @@
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia7" value="0" />
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia7" value="0" />
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia7" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="0" />
+ <ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia8" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia8" value="0" />
<ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="SLIMBUS_5_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
@@ -122,6 +129,7 @@
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="0" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="0" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia7" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="0" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia11" value="0" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia12" value="0" />
@@ -141,6 +149,7 @@
<ctl name="MultiMedia6 Mixer SLIM_0_TX" value="0" />
<ctl name="SLIM_0_RX Channels" value="One" />
<ctl name="SLIM_5_RX Channels" value="One" />
+ <ctl name="SLIM_6_RX Channels" value="One" />
<ctl name="SLIM_0_TX Channels" value="One" />
<ctl name="SLIM_1_TX Channels" value="One" />
<ctl name="AIF1_CAP Mixer SLIM TX7" value="0" />
@@ -278,10 +287,18 @@
<!-- Codec controls -->
<ctl name="SLIM RX0 MUX" value="ZERO" />
<ctl name="SLIM RX1 MUX" value="ZERO" />
+ <ctl name="SLIM RX2 MUX" value="ZERO" />
+ <ctl name="SLIM RX3 MUX" value="ZERO" />
<ctl name="CDC_IF RX0 MUX" value="SLIM RX0" />
<ctl name="CDC_IF RX1 MUX" value="SLIM RX1" />
+ <ctl name="CDC_IF RX2 MUX" value="SLIM RX2" />
+ <ctl name="CDC_IF RX3 MUX" value="SLIM RX3" />
+ <ctl name="RX INT1_1 MIX1 INP0" value="ZERO" />
+ <ctl name="RX INT2_1 MIX1 INP0" value="ZERO" />
<ctl name="RX INT7_1 MIX1 INP0" value="ZERO" />
<ctl name="RX INT8_1 MIX1 INP0" value="ZERO" />
+ <ctl name="COMP1 Switch" value="1" />
+ <ctl name="COMP2 Switch" value="1" />
<ctl name="COMP7 Switch" value="0" />
<ctl name="COMP8 Switch" value="0" />
<ctl name="SpkrLeft COMP Switch" value="0" />
@@ -299,6 +316,8 @@
<ctl name="AIF4_VI Mixer SPKR_VI_2" value="0" />
<ctl name="SLIM_4_TX Format" value="UNPACKED" />
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT" />
+ <ctl name="RX INT2 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="AIF1_CAP Mixer SLIM TX0" value="0" />
<ctl name="AIF1_CAP Mixer SLIM TX2" value="0" />
<ctl name="CDC_IF TX0 MUX" value="ZERO" />
@@ -342,6 +361,7 @@
</path>
<path name="echo-reference headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
</path>
<path name="echo-reference headphones-44.1">
@@ -444,7 +464,7 @@
</path>
<path name="audio-ull-playback">
- <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback speaker-protected">
@@ -452,7 +472,7 @@
</path>
<path name="audio-ull-playback headphones">
- <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback speaker-and-headphones">
@@ -461,11 +481,11 @@
</path>
<path name="audio-ull-playback hdmi">
- <ctl name="HDMI Mixer MultiMedia3" value="1" />
+ <ctl name="HDMI Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco">
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback bt-sco-wb">
@@ -479,11 +499,11 @@
</path>
<path name="audio-ull-playback afe-proxy">
- <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="audio-ull-playback usb-headphones">
- <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia3" value="1" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="multi-channel-playback hdmi">
@@ -973,11 +993,11 @@
</path>
<path name="low-latency-record">
- <ctl name="MultiMedia5 Mixer SLIM_0_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="1" />
</path>
<path name="low-latency-record bt-sco">
- <ctl name="MultiMedia5 Mixer SLIM_7_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
</path>
<path name="low-latency-record bt-sco-wb">
@@ -986,11 +1006,11 @@
</path>
<path name="low-latency-record usb-headset-mic">
- <ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
</path>
<path name="low-latency-record capture-fm">
- <ctl name="MultiMedia5 Mixer SLIM_8_TX" value="1" />
+ <ctl name="MultiMedia8 Mixer SLIM_8_TX" value="1" />
</path>
<path name="fm-virtual-record capture-fm">
@@ -1438,6 +1458,11 @@
</path>
<path name="headphones">
+ <ctl name="SLIM RX2 MUX" value="AIF4_PB" />
+ <ctl name="SLIM RX3 MUX" value="AIF4_PB" />
+ <ctl name="SLIM_6_RX Channels" value="Two" />
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX2" />
+ <ctl name="RX INT2_1 MIX1 INP0" value="RX3" />
</path>
<path name="headphones-44.1">
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 7e37efc..6142e86 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -98,9 +98,9 @@
status = -ENOMEM;
break;
}
- memcpy(&st_ses_info->st_ses, &config->st_ses, sizeof (config->st_ses));
- ALOGV("%s: add capture_handle %d pcm %p", __func__,
- st_ses_info->st_ses.capture_handle, st_ses_info->st_ses.pcm);
+ memcpy(&st_ses_info->st_ses, &config->st_ses, sizeof (struct sound_trigger_session_info));
+ ALOGV("%s: add capture_handle %d st session opaque ptr %p", __func__,
+ st_ses_info->st_ses.capture_handle, st_ses_info->st_ses.p_ses);
list_add_tail(&st_dev->st_ses_list, &st_ses_info->list);
break;
@@ -112,12 +112,12 @@
}
st_ses_info = get_sound_trigger_info(config->st_ses.capture_handle);
if (!st_ses_info) {
- ALOGE("%s: pcm %p not in the list!", __func__, config->st_ses.pcm);
+ ALOGE("%s: st session opaque ptr %p not in the list!", __func__, config->st_ses.p_ses);
status = -EINVAL;
break;
}
- ALOGV("%s: remove capture_handle %d pcm %p", __func__,
- st_ses_info->st_ses.capture_handle, st_ses_info->st_ses.pcm);
+ ALOGV("%s: remove capture_handle %d st session opaque ptr %p", __func__,
+ st_ses_info->st_ses.capture_handle, st_ses_info->st_ses.p_ses);
list_remove(&st_ses_info->list);
free(st_ses_info);
break;
@@ -181,7 +181,7 @@
pthread_mutex_unlock(&st_dev->lock);
if (st_ses_info) {
event.u.ses_info = st_ses_info->st_ses;
- ALOGV("%s: AUDIO_EVENT_STOP_LAB pcm %p", __func__, st_ses_info->st_ses.pcm);
+ ALOGV("%s: AUDIO_EVENT_STOP_LAB st sess %p", __func__, st_ses_info->st_ses.p_ses);
st_dev->st_callback(AUDIO_EVENT_STOP_LAB, &event);
in->is_st_session_active = false;
}
@@ -201,7 +201,6 @@
list_for_each(node, &st_dev->st_ses_list) {
st_ses_info = node_to_item(node, struct sound_trigger_info , list);
if (st_ses_info->st_ses.capture_handle == in->capture_handle) {
- in->pcm = st_ses_info->st_ses.pcm;
in->config = st_ses_info->st_ses.config;
in->channel_mask = audio_channel_in_mask_from_count(in->config.channels);
in->is_st_session = true;
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 69d5cce..af399a1 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -1362,10 +1362,6 @@
out_snd_device,
in_snd_device);
enable_audio_route_for_voice_usecases(adev, usecase);
- /* Enable sidetone only if voice/voip call already exists */
- if (voice_is_call_state_active(adev) ||
- voice_extn_compress_voip_is_started(adev))
- voice_set_sidetone(adev, out_snd_device, true);
}
usecase->in_snd_device = in_snd_device;
@@ -1386,6 +1382,13 @@
enable_audio_route(adev, usecase);
+ if (usecase->type == VOICE_CALL || usecase->type == VOIP_CALL) {
+ /* Enable sidetone only if other voice/voip call already exists */
+ if (voice_is_call_state_active(adev) ||
+ voice_extn_compress_voip_is_started(adev))
+ voice_set_sidetone(adev, out_snd_device, true);
+ }
+
/* Applicable only on the targets that has external modem.
* Enable device command should be sent to modem only after
* enabling voice call mixer controls
@@ -2346,15 +2349,16 @@
}
if (!out->standby) {
- audio_extn_perf_lock_acquire(&adev->perf_lock_handle, 0,
- adev->perf_lock_opts,
- adev->perf_lock_opts_size);
if (!same_dev) {
ALOGV("update routing change");
out->routing_change = true;
+ audio_extn_perf_lock_acquire(&adev->perf_lock_handle, 0,
+ adev->perf_lock_opts,
+ adev->perf_lock_opts_size);
}
select_devices(adev, out->usecase);
- audio_extn_perf_lock_release(&adev->perf_lock_handle);
+ if (!same_dev)
+ audio_extn_perf_lock_release(&adev->perf_lock_handle);
}
}
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index bf5b62b..e0400c6 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -4323,7 +4323,7 @@
// default backend
// force routing is not required here, caller will do it anyway
if ((voice_is_in_call(adev) || adev->mode == AUDIO_MODE_IN_COMMUNICATION) &&
- backend_idx == DEFAULT_CODEC_BACKEND) {
+ usecase->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) {
ALOGW("%s:becf: afe:Use default bw and sr for voice/voip calls ",
__func__);
bit_width = CODEC_BACKEND_DEFAULT_BIT_WIDTH;
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index f0f507d..8daa715 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -4290,7 +4290,7 @@
// default backend
// force routing is not required here, caller will do it anyway
if ((voice_is_in_call(adev) || adev->mode == AUDIO_MODE_IN_COMMUNICATION) &&
- backend_idx == DEFAULT_CODEC_BACKEND) {
+ usecase->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) {
ALOGW("%s:becf: afe:Use default bw and sr for voice/voip calls ",
__func__);
bit_width = CODEC_BACKEND_DEFAULT_BIT_WIDTH;