diff options
20 files changed, 483 insertions, 33 deletions
diff --git a/configs/msm8953/audio_output_policy.conf b/configs/msm8953/audio_output_policy.conf index d983d9a0..b19fbb03 100644 --- a/configs/msm8953/audio_output_policy.conf +++ b/configs/msm8953/audio_output_policy.conf @@ -18,6 +18,13 @@ outputs { bit_width 16 app_type 69937 } + voip_rx { + flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT + formats AUDIO_FORMAT_PCM_16_BIT + sampling_rates 8000|16000|32000|48000 + bit_width 16 + app_type 69946 + } deep_buffer { flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER formats AUDIO_FORMAT_PCM_16_BIT diff --git a/configs/msm8953/audio_platform_info_intcodec.xml b/configs/msm8953/audio_platform_info_intcodec.xml index 157d9983..557cd0f0 100644 --- a/configs/msm8953/audio_platform_info_intcodec.xml +++ b/configs/msm8953/audio_platform_info_intcodec.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015 - 2016, 2018, 2020, The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -53,6 +53,8 @@ <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" /> + <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="27" /> + <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="27" /> </pcm_ids> <config_params> <param key="spkr_1_tz_name" value="wsa881x.0f"/> @@ -64,6 +66,7 @@ <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="136"/> <device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" acdb_id="136"/> <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="137"/> + <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/> </acdb_ids> <backend_names> @@ -165,6 +168,10 @@ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/> </backend_names> <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP --> <microphone_characteristics> diff --git a/configs/msm8953/audio_platform_info_sku3_tasha.xml b/configs/msm8953/audio_platform_info_sku3_tasha.xml index d3cf6209..806584ec 100644 --- a/configs/msm8953/audio_platform_info_sku3_tasha.xml +++ b/configs/msm8953/audio_platform_info_sku3_tasha.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015 - 2016, 2018, 2020 The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -62,6 +62,8 @@ <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" /> + <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="28" /> + <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="28" /> </pcm_ids> <config_params> <param key="native_audio_mode" value="src"/> @@ -69,6 +71,9 @@ <param key="ffv_split_ec_ref_data" value="false"/> <param key="ffv_ec_ref_channel_count" value="1"/> </config_params> + <acdb_ids> + <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/> + </acdb_ids> <backend_names> <device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_BT_SCO" interface="INT_BT_SCO_RX"/> @@ -87,6 +92,10 @@ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/> </backend_names> <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP --> <microphone_characteristics> diff --git a/configs/msm8953/audio_platform_info_sku4.xml b/configs/msm8953/audio_platform_info_sku4.xml index 8b211a75..d8487905 100644 --- a/configs/msm8953/audio_platform_info_sku4.xml +++ b/configs/msm8953/audio_platform_info_sku4.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015 - 2016, 2018, 2020, The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -52,6 +52,8 @@ <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" /> + <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="27" /> + <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="27" /> </pcm_ids> <config_params> <param key="spkr_1_tz_name" value="wsa881x.0f"/> @@ -63,6 +65,7 @@ <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="136"/> <device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" acdb_id="136"/> <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="137"/> + <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/> </acdb_ids> <backend_names> @@ -164,6 +167,10 @@ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-INT_BT_SCO_RX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/> </backend_names> <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP --> <microphone_characteristics> diff --git a/configs/msm8953/audio_platform_info_tasha.xml b/configs/msm8953/audio_platform_info_tasha.xml index b9ae0497..ee65dac3 100644 --- a/configs/msm8953/audio_platform_info_tasha.xml +++ b/configs/msm8953/audio_platform_info_tasha.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015 - 2016, 2018, 2020, The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -64,6 +64,8 @@ <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" /> + <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="28" /> + <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="28" /> </pcm_ids> <config_params> <param key="native_audio_mode" value="src"/> @@ -71,6 +73,9 @@ <param key="ffv_split_ec_ref_data" value="false"/> <param key="ffv_ec_ref_channel_count" value="1"/> </config_params> + <acdb_ids> + <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/> + </acdb_ids> <backend_names> <device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_BT_SCO" interface="INT_BT_SCO_RX"/> @@ -89,6 +94,10 @@ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/> </backend_names> <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP --> <microphone_characteristics> diff --git a/configs/msm8953/audio_platform_info_tashalite.xml b/configs/msm8953/audio_platform_info_tashalite.xml index a358144c..ee65dac3 100644 --- a/configs/msm8953/audio_platform_info_tashalite.xml +++ b/configs/msm8953/audio_platform_info_tashalite.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015 - 2016, 2018, 2020 The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -64,6 +64,8 @@ <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="14" /> <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="14" /> + <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="28" /> + <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="28" /> </pcm_ids> <config_params> <param key="native_audio_mode" value="src"/> @@ -71,6 +73,9 @@ <param key="ffv_split_ec_ref_data" value="false"/> <param key="ffv_ec_ref_channel_count" value="1"/> </config_params> + <acdb_ids> + <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/> + </acdb_ids> <backend_names> <device name="SND_DEVICE_OUT_BT_SCO_WB" interface="INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_BT_SCO" interface="INT_BT_SCO_RX"/> @@ -89,6 +94,10 @@ <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO" backend="wsa-speaker-and-bt-sco" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> <device name="SND_DEVICE_OUT_SPEAKER_WSA_AND_BT_SCO_WB" backend="wsa-speaker-and-bt-sco-wb" interface="SLIMBUS_0_RX--and-INT_BT_SCO_RX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="INT_BT_SCO_TX"/> + <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="INT_BT_SCO_TX"/> </backend_names> <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP --> <microphone_characteristics> diff --git a/configs/msm8953/mixer_paths_mtp.xml b/configs/msm8953/mixer_paths_mtp.xml index fea32be2..3d38818e 100644 --- a/configs/msm8953/mixer_paths_mtp.xml +++ b/configs/msm8953/mixer_paths_mtp.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <!-- - Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved. + Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -266,6 +266,15 @@ <ctl name="IIR1 Enable Band5" value="0" /> <!-- IIR --> + <!-- VoIP over audio --> + <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="0" /> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" /> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" /> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="0" /> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="0" /> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="0" /> + <!-- VoIP over audio --> + <!-- ADSP testfwk --> <ctl name="MI2S_DL_HL Switch" value="0" /> <!-- ADSP testfwk end--> @@ -1309,7 +1318,68 @@ <ctl name="SpkrMono WSA_RDAC" value="Switch" /> </path> - <path name="spkr-rx-calib"> + <!-- VoIP Rx settings --> + <path name="audio-playback-voip"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip headphones"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco-wb"> + <ctl name="BT SampleRate" value="KHZ_16" /> + <path name="audio-playback-voip bt-sco" /> + </path> + + <path name="audio-playback-voip afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip usb-headphones"> + <path name="audio-playback-voip afe-proxy" /> + </path> + + <path name="audio-playback-voip speaker-and-usb-headphones"> + <path name="audio-playback-voip usb-headphones" /> + <path name="audio-playback-voip" /> + </path> + + <path name="audio-playback-voip speaker-and-headphones"> + <path name="audio-playback-voip" /> + </path> + + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" /> + <path name="audio-record-voip bt-sco" /> + </path> + + <path name="audio-record-voip usb-headset-mic"> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" /> + </path> + + <path name="spkr-rx-calib"> <ctl name="PRI_MI2S_RX_DL_HL Switch" value="1" /> </path> diff --git a/configs/msm8953/mixer_paths_sku3_tasha.xml b/configs/msm8953/mixer_paths_sku3_tasha.xml index 7efefd28..8bc89e9c 100644 --- a/configs/msm8953/mixer_paths_sku3_tasha.xml +++ b/configs/msm8953/mixer_paths_sku3_tasha.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -546,6 +546,12 @@ <ctl name="SLIMBUS6_DL_HL Switch" value="0" /> <!-- ADSP testfwk end--> + <!-- VoIP over audio --> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" /> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" /> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" /> + <!-- VoIP over audio --> + <!-- These are audio route (FE to BE) specific mixer settings --> <path name="deep-buffer-playback"> <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" /> @@ -1964,6 +1970,60 @@ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" /> </path> + <!-- VoIP Rx settings --> + <path name="audio-playback-voip"> + <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip headphones"> + <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco-wb"> + <ctl name="BT SampleRate" value="KHZ_16" /> + <path name="audio-playback-voip bt-sco" /> + </path> + + <path name="audio-playback-voip afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip usb-headphones"> + <path name="audio-playback-voip afe-proxy" /> + </path> + + <path name="audio-playback-voip speaker-and-usb-headphones"> + <path name="audio-playback-voip usb-headphones" /> + <path name="audio-playback-voip" /> + </path> + + <path name="audio-playback-voip speaker-and-headphones"> + <path name="audio-playback-voip" /> + </path> + + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" /> + <ctl name="SLIM_1 SampleRate" value="16000" /> + <path name="audio-record-voip bt-sco" /> + </path> + + <path name="audio-record-voip usb-headset-mic"> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" /> + </path> + <path name="spkr-rx-calib"> <ctl name="SLIMBUS_DL_HL Switch" value="1" /> </path> diff --git a/configs/msm8953/mixer_paths_sku4.xml b/configs/msm8953/mixer_paths_sku4.xml index 91a4d1a6..d1718738 100644 --- a/configs/msm8953/mixer_paths_sku4.xml +++ b/configs/msm8953/mixer_paths_sku4.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <!-- - Copyright (c) 2015, 2018, 2020 The Linux Foundation. All rights reserved. + Copyright (c) 2015, 2018, 2020-2021, The Linux Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -270,6 +270,15 @@ <ctl name="MI2S_DL_HL Switch" value="0" /> <!-- ADSP testfwk end--> + <!-- VoIP over audio --> + <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="0" /> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" /> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" /> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="0" /> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="0" /> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="0" /> + <!-- VoIP over audio --> + <path name="bt-sco-wb-samplerate"> <ctl name="Internal BTSCO SampleRate" value="16000" /> </path> @@ -1308,6 +1317,59 @@ <ctl name="SpkrMono WSA_RDAC" value="Switch" /> </path> + <!-- VoIP Rx settings --> + <path name="audio-playback-voip"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip headphones"> + <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco-wb"> + <ctl name="BT SampleRate" value="KHZ_16" /> + <path name="audio-playback-voip bt-sco" /> + </path> + + <path name="audio-playback-voip afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip usb-headphones"> + <path name="audio-playback-voip afe-proxy" /> + </path> + + <path name="audio-playback-voip speaker-and-usb-headphones"> + <path name="audio-playback-voip usb-headphones" /> + <path name="audio-playback-voip" /> + </path> + + <path name="audio-playback-voip speaker-and-headphones"> + <path name="audio-playback-voip" /> + </path> + + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer TERT_MI2S_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" /> + <path name="audio-record-voip bt-sco" /> + </path> + + <path name="audio-record-voip usb-headset-mic"> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" /> + </path> + <path name="spkr-rx-calib"> <ctl name="PRI_MI2S_RX_DL_HL Switch" value="1" /> </path> diff --git a/configs/msm8953/mixer_paths_tasha.xml b/configs/msm8953/mixer_paths_tasha.xml index 1a2987c7..948a88e3 100644 --- a/configs/msm8953/mixer_paths_tasha.xml +++ b/configs/msm8953/mixer_paths_tasha.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -571,6 +571,12 @@ <ctl name="SLIMBUS6_DL_HL Switch" value="0" /> <!-- ADSP testfwk end--> + <!-- VoIP over audio --> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" /> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" /> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" /> + <!-- VoIP over audio --> + <!-- These are audio route (FE to BE) specific mixer settings --> <path name="deep-buffer-playback"> <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" /> @@ -2034,6 +2040,68 @@ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" /> </path> + <!-- VoIP Rx settings --> + <path name="audio-playback-voip"> + <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip headphones"> + <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco-wb"> + <ctl name="BT SampleRate" value="KHZ_16" /> + <path name="audio-playback-voip bt-sco" /> + </path> + + <path name="audio-playback-voip afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip usb-headphones"> + <path name="audio-playback-voip afe-proxy" /> + </path> + + <path name="audio-playback-voip speaker-and-usb-headphones"> + <path name="audio-playback-voip usb-headphones" /> + <path name="audio-playback-voip" /> + </path> + + <path name="audio-playback-voip speaker-and-headphones"> + <path name="audio-playback-voip" /> + </path> + + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" /> + <ctl name="SLIM_1 SampleRate" value="16000" /> + <path name="audio-record bt-sco" /> + </path> + + <path name="audio-record-voip usb-headset-mic"> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" /> + </path> + <path name="spkr-rx-calib"> <ctl name="SLIMBUS_DL_HL Switch" value="1" /> </path> diff --git a/configs/msm8953/mixer_paths_tashalite.xml b/configs/msm8953/mixer_paths_tashalite.xml index 5efe6d3e..923bff13 100644 --- a/configs/msm8953/mixer_paths_tashalite.xml +++ b/configs/msm8953/mixer_paths_tashalite.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015-2016, 2018, 2020 The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2016, 2018, 2020-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -553,6 +553,12 @@ <ctl name="SLIMBUS6_DL_HL Switch" value="0" /> <!-- ADSP testfwk end--> + <!-- VoIP over audio --> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" /> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="0" /> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0" /> + <!-- VoIP over audio --> + <!-- These are audio route (FE to BE) specific mixer settings --> <path name="deep-buffer-playback"> <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" /> @@ -2011,6 +2017,68 @@ <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" /> </path> + <!-- VoIP Rx settings --> + <path name="audio-playback-voip"> + <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip headphones"> + <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco"> + <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip bt-sco-wb"> + <ctl name="BT SampleRate" value="KHZ_16" /> + <path name="audio-playback-voip bt-sco" /> + </path> + + <path name="audio-playback-voip afe-proxy"> + <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1" /> + </path> + + <path name="audio-playback-voip usb-headphones"> + <path name="audio-playback-voip afe-proxy" /> + </path> + + <path name="audio-playback-voip speaker-and-usb-headphones"> + <path name="audio-playback-voip usb-headphones" /> + <path name="audio-playback-voip" /> + </path> + + <path name="audio-playback-voip speaker-and-headphones"> + <path name="audio-playback-voip" /> + </path> + + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + <!-- VoIP Tx settings --> + <path name="audio-record-voip"> + <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco"> + <ctl name="MultiMedia10 Mixer INTERNAL_BT_SCO_TX" value="1" /> + </path> + + <path name="audio-record-voip bt-sco-wb"> + <ctl name="Internal BTSCO SampleRate" value="BTSCO_RATE_16KHZ" /> + <ctl name="SLIM_1 SampleRate" value="16000" /> + <path name="audio-record-voip bt-sco" /> + </path> + + <path name="audio-record-voip usb-headset-mic"> + <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="1" /> + </path> + <path name="spkr-rx-calib"> <ctl name="SLIMBUS_DL_HL Switch" value="1" /> </path> diff --git a/configs/msm8953/msm8953.mk b/configs/msm8953/msm8953.mk index e68cc7e2..3043a4c2 100644 --- a/configs/msm8953/msm8953.mk +++ b/configs/msm8953/msm8953.mk @@ -8,7 +8,7 @@ AUDIO_FEATURE_QSSI_COMPLIANCE := true #AUDIO_FEATURE_ENABLED_VOICE_CONCURRENCY := true AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false -AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true +AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true @@ -257,7 +257,7 @@ vendor.audio.feature.hdmi_edid.enable=true \ endor.audio.feature.spkr_prot.enable=true \ vendor.audio.feature.dsm_feedback.enable=false \ vendor.audio.feature.ssrec.enable=true \ -vendor.audio.feature.compr_voip.enable=true \ +vendor.audio.feature.compr_voip.enable=false \ vendor.audio.feature.kpi_optimize.enable=true \ vendor.audio.feature.usb_offload.enable=false \ vendor.audio.feature.usb_offload_burst_mode.enable=false \ diff --git a/configs/sdm660/audio_policy_configuration.xml b/configs/sdm660/audio_policy_configuration.xml index aff987d9..2d401ba7 100644 --- a/configs/sdm660/audio_policy_configuration.xml +++ b/configs/sdm660/audio_policy_configuration.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!-- Copyright (c) 2016-2020 The Linux Foundation. All rights reserved +<!-- Copyright (c) 2016-2021 The Linux Foundation. All rights reserved Not a Contribution. --> <!-- Copyright (C) 2015 The Android Open Source Project @@ -163,6 +163,17 @@ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/> </mixPort> + <mixPort name="usb_surround_sound" role="sink"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + </mixPort> <mixPort name="voip_tx" role="sink" flags="AUDIO_INPUT_FLAG_VOIP_TX"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" @@ -341,7 +352,9 @@ <route type="mix" sink="voice_rx" sources="Telephony Rx"/> <route type="mix" sink="primary input" - sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,USB Headset In"/> + sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/> + <route type="mix" sink="usb_surround_sound" + sources="USB Device In,USB Headset In"/> <route type="mix" sink="voip_tx" sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/> <route type="mix" sink="surround_sound" diff --git a/configs/sdm660/mixer_paths_mtp.xml b/configs/sdm660/mixer_paths_mtp.xml index fba65eb6..ccab771b 100644 --- a/configs/sdm660/mixer_paths_mtp.xml +++ b/configs/sdm660/mixer_paths_mtp.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2015-2017, 2020 The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2015-2017, 2020-2021 The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -3020,6 +3020,10 @@ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="1" /> </path> + <path name="hifi-record"> + <ctl name="MultiMedia2 Mixer INT3_MI2S_TX" value="1" /> + </path> + <path name="hifi-record usb-headset-mic"> <ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1" /> </path> diff --git a/configs/sdm710/audio_policy_configuration.xml b/configs/sdm710/audio_policy_configuration.xml index d3bada44..57a3d7e6 100644 --- a/configs/sdm710/audio_policy_configuration.xml +++ b/configs/sdm710/audio_policy_configuration.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved +<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved Not a Contribution. --> <!-- Copyright (C) 2015 The Android Open Source Project @@ -172,6 +172,17 @@ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/> </mixPort> + <mixPort name="usb_surround_sound" role="sink"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + </mixPort> <mixPort name="voip_tx" role="sink" flags="AUDIO_INPUT_FLAG_VOIP_TX"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" @@ -349,7 +360,9 @@ <route type="mix" sink="voice_rx" sources="Telephony Rx"/> <route type="mix" sink="primary input" - sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,USB Headset In"/> + sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/> + <route type="mix" sink="usb_surround_sound" + sources="USB Device In,USB Headset In"/> <route type="mix" sink="voip_tx" sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/> <route type="mix" sink="surround_sound" diff --git a/configs/sdm845/audio_platform_info.xml b/configs/sdm845/audio_platform_info.xml index 9d0c9e6d..b8c2ad8b 100644 --- a/configs/sdm845/audio_platform_info.xml +++ b/configs/sdm845/audio_platform_info.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!-- Copyright (c) 2014, 2016-2020, The Linux Foundation. All rights reserved. --> +<!-- Copyright (c) 2014, 2016-2021, The Linux Foundation. All rights reserved. --> <!-- --> <!-- Redistribution and use in source and binary forms, with or without --> <!-- modification, are permitted provided that the following conditions are --> @@ -99,6 +99,8 @@ <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="27" /> <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="27" /> <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" /> + <usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" /> + <usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" /> </pcm_ids> <config_params> <param key="spkr_1_tz_name" value="wsatz.13"/> diff --git a/configs/sdm845/audio_policy_configuration.xml b/configs/sdm845/audio_policy_configuration.xml index 130e9f86..9d726f5d 100644 --- a/configs/sdm845/audio_policy_configuration.xml +++ b/configs/sdm845/audio_policy_configuration.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved +<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved Not a Contribution. --> <!-- Copyright (C) 2015 The Android Open Source Project @@ -21,7 +21,7 @@ <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” --> <!-- Global configuration Decalaration --> - <globalConfiguration speaker_drc_enabled="true"/> + <globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/> <!-- Modules section: @@ -161,6 +161,23 @@ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> + <mixPort name="usb_surround_sound" role="sink"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" + samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000" + channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/> + </mixPort> + <mixPort name="incall_music_uplink" role="source" + flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC"> + <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" + samplingRates="8000,16000,48000" + channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> + </mixPort> <mixPort name="primary input" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" @@ -332,11 +349,13 @@ <route type="mix" sink="USB Headset Out" sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/> <route type="mix" sink="Telephony Tx" - sources="voice_tx"/> + sources="voice_tx,incall_music_uplink"/> <route type="mix" sink="voice_rx" sources="Telephony Rx"/> <route type="mix" sink="primary input" - sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,USB Headset In"/> + sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/> + <route type="mix" sink="usb_surround_sound" + sources="USB Device In,USB Headset In"/> <route type="mix" sink="voip_tx" sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/> <route type="mix" sink="record_24" diff --git a/configs/sdm845/sdm845.mk b/configs/sdm845/sdm845.mk index 4762cad8..0fefe53c 100644 --- a/configs/sdm845/sdm845.mk +++ b/configs/sdm845/sdm845.mk @@ -52,7 +52,7 @@ AUDIO_FEATURE_ENABLED_HDMI_PASSTHROUGH := true AUDIO_FEATURE_ENABLED_DISPLAY_PORT := true AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false AUDIO_FEATURE_ENABLED_HFP := true -AUDIO_FEATURE_ENABLED_INCALL_MUSIC := false +AUDIO_FEATURE_ENABLED_INCALL_MUSIC := true AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c index 97742c76..0ba2f4f8 100644 --- a/hal/audio_extn/utils.c +++ b/hal/audio_extn/utils.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2021, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright (C) 2014 The Android Open Source Project @@ -1159,9 +1159,6 @@ int audio_extn_utils_get_app_sample_rate_for_device( if (usecase->id == USECASE_AUDIO_PLAYBACK_VOIP) { usecase->stream.out->app_type_cfg.sample_rate = usecase->stream.out->sample_rate; - } else if (compare_device_type(&usecase->stream.out->device_list, - AUDIO_DEVICE_OUT_SPEAKER)) { - usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE; } else if ((snd_device == SND_DEVICE_OUT_HDMI || snd_device == SND_DEVICE_OUT_USB_HEADSET || snd_device == SND_DEVICE_OUT_DISPLAY_PORT) && @@ -1180,9 +1177,7 @@ int audio_extn_utils_get_app_sample_rate_for_device( (usecase->stream.out->sample_rate < OUTPUT_SAMPLING_RATE_44100)) { /* Reset to default if no native stream is active*/ usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE; - } else if (usecase->out_snd_device == SND_DEVICE_OUT_BT_A2DP || - usecase->out_snd_device == SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP || - usecase->out_snd_device == SND_DEVICE_OUT_SPEAKER_SAFE_AND_BT_A2DP) { + } else if (snd_device == SND_DEVICE_OUT_BT_A2DP) { /* * For a2dp playback get encoder sampling rate and set copp sampling rate, * for bit width use the stream param only. @@ -1190,6 +1185,9 @@ int audio_extn_utils_get_app_sample_rate_for_device( audio_extn_a2dp_get_enc_sample_rate(&usecase->stream.out->app_type_cfg.sample_rate); ALOGI("%s using %d sample rate rate for A2DP CoPP", __func__, usecase->stream.out->app_type_cfg.sample_rate); + } else if (compare_device_type(&usecase->stream.out->device_list, + AUDIO_DEVICE_OUT_SPEAKER)) { + usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE; } audio_extn_btsco_get_sample_rate(snd_device, &usecase->stream.out->app_type_cfg.sample_rate); sample_rate = usecase->stream.out->app_type_cfg.sample_rate; diff --git a/hal/audio_hw.c b/hal/audio_hw.c index 0fe502da..8fc29614 100644 --- a/hal/audio_hw.c +++ b/hal/audio_hw.c @@ -3160,7 +3160,7 @@ int start_input_stream(struct stream_in *in) } if (is_sco_in_device_type(&in->device_list)) { - if (!adev->bt_sco_on) { + if (!adev->bt_sco_on || audio_extn_a2dp_source_is_ready()) { ALOGE("%s: SCO profile is not ready, return error", __func__); ret = -EIO; goto error_config; @@ -8750,7 +8750,32 @@ static int adev_set_parameters(struct audio_hw_device *dev, const char *kvpairs) /* When set to false, HAL should disable EC and NS */ if (strcmp(value, AUDIO_PARAMETER_VALUE_ON) == 0){ adev->bt_sco_on = true; - } else { + /* + * When ever BT_SCO=ON arrives, make sure to route + * all use cases to SCO device, otherwise due to delay in + * BT_SCO=ON and lack of synchronization with create audio patch + * request for SCO device, some times use case not routed properly to + * SCO device + */ + struct audio_usecase *usecase; + struct listnode *node; + list_for_each(node, &adev->usecase_list) { + usecase = node_to_item(node, struct audio_usecase, list); + if (usecase->stream.in && (usecase->type == PCM_CAPTURE || + usecase->type == VOICE_CALL) && + (!is_btsco_device(SND_DEVICE_NONE, usecase->in_snd_device))) { + ALOGD("BT_SCO ON, switch all in use case to it"); + select_devices(adev, usecase->id); + } + if (usecase->stream.out && (usecase->type == PCM_PLAYBACK || + usecase->type == VOICE_CALL) && + (!is_btsco_device(usecase->out_snd_device, SND_DEVICE_NONE))) { + ALOGD("BT_SCO ON, switch all out use case to it"); + select_devices(adev, usecase->id); + } + } + } + else { adev->bt_sco_on = false; audio_extn_sco_reset_configuration(); } |