Merge "config: Update mixerpath according to QRD Starhawk DMIC placement"
diff --git a/configs/sdm660/mixer_paths_mtp.xml b/configs/sdm660/mixer_paths_mtp.xml
index 307e557..a11d843 100644
--- a/configs/sdm660/mixer_paths_mtp.xml
+++ b/configs/sdm660/mixer_paths_mtp.xml
@@ -287,6 +287,9 @@
<ctl name="SpkrLeft SWR DAC_Port Switch" value="0" />
<ctl name="SpkrRight SWR DAC_Port Switch" value="0" />
<ctl name="SpkrLeft WSA PA Gain" value="G_0_DB" />
+ <ctl name="SpkrRight WSA PA Gain" value="G_0_DB" />
+ <ctl name="SpkrLeft WSA PA Mute" value="1" />
+ <ctl name="SpkrRight WSA PA Mute" value="1" />
<ctl name="EAR SPKR PA Gain" value="G_DEFAULT" />
<!-- Volume controls -->
@@ -1610,6 +1613,8 @@
<ctl name="SpkrRight BOOST Switch" value="1" />
<ctl name="SpkrRight VISENSE Switch" value="1" />
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
+ <ctl name="SpkrLeft WSA PA Mute" value="0" />
+ <ctl name="SpkrRight WSA PA Mute" value="0" />
</path>
<path name="speaker-mono">
@@ -1620,6 +1625,7 @@
<ctl name="SpkrLeft BOOST Switch" value="1" />
<ctl name="SpkrLeft VISENSE Switch" value="1" />
<ctl name="SpkrLeft SWR DAC_Port Switch" value="1" />
+ <ctl name="SpkrLeft WSA PA Mute" value="0" />
</path>
<path name="speaker-mono-2">
@@ -1630,6 +1636,7 @@
<ctl name="SpkrRight BOOST Switch" value="1" />
<ctl name="SpkrRight VISENSE Switch" value="1" />
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
+ <ctl name="SpkrRight WSA PA Mute" value="0" />
</path>
<path name="speaker-fluid">
@@ -1729,8 +1736,8 @@
</path>
<path name="handset">
+ <ctl name="EAR SPKR PA Gain" value="G_3_DB" />
<path name="speaker-mono" />
- <ctl name="EAR SPKR PA Gain" value="G_6_DB" />
</path>
<path name="handset-mic">
diff --git a/configs/sdm660/mixer_paths_wcd9340.xml b/configs/sdm660/mixer_paths_wcd9340.xml
index 5cfc68e..6160cb3 100644
--- a/configs/sdm660/mixer_paths_wcd9340.xml
+++ b/configs/sdm660/mixer_paths_wcd9340.xml
@@ -479,27 +479,27 @@
<ctl name="ASRC1 Output Mode" value="INT" />
<!-- IIR/voice anc -->
- <ctl name="IIR0 Band1" id ="0" value="268435456" />
+ <ctl name="IIR0 Band1" id ="0" value="0" />
<ctl name="IIR0 Band1" id ="1" value="0" />
<ctl name="IIR0 Band1" id ="2" value="0" />
<ctl name="IIR0 Band1" id ="3" value="0" />
<ctl name="IIR0 Band1" id ="4" value="0" />
- <ctl name="IIR0 Band2" id ="0" value="268435456" />
+ <ctl name="IIR0 Band2" id ="0" value="0" />
<ctl name="IIR0 Band2" id ="1" value="0" />
<ctl name="IIR0 Band2" id ="2" value="0" />
<ctl name="IIR0 Band2" id ="3" value="0" />
<ctl name="IIR0 Band2" id ="4" value="0" />
- <ctl name="IIR0 Band3" id ="0" value="268435456" />
+ <ctl name="IIR0 Band3" id ="0" value="0" />
<ctl name="IIR0 Band3" id ="1" value="0" />
<ctl name="IIR0 Band3" id ="2" value="0" />
<ctl name="IIR0 Band3" id ="3" value="0" />
<ctl name="IIR0 Band3" id ="4" value="0" />
- <ctl name="IIR0 Band4" id ="0" value="268435456" />
+ <ctl name="IIR0 Band4" id ="0" value="0" />
<ctl name="IIR0 Band4" id ="1" value="0" />
<ctl name="IIR0 Band4" id ="2" value="0" />
<ctl name="IIR0 Band4" id ="3" value="0" />
<ctl name="IIR0 Band4" id ="4" value="0" />
- <ctl name="IIR0 Band5" id ="0" value="268435456" />
+ <ctl name="IIR0 Band5" id ="0" value="0" />
<ctl name="IIR0 Band5" id ="1" value="0" />
<ctl name="IIR0 Band5" id ="2" value="0" />
<ctl name="IIR0 Band5" id ="3" value="0" />
@@ -1859,6 +1859,31 @@
</path>
<path name="sidetone-iir">
+ <ctl name="IIR0 Band1" id ="0" value="268435456" />
+ <ctl name="IIR0 Band1" id ="1" value="0" />
+ <ctl name="IIR0 Band1" id ="2" value="0" />
+ <ctl name="IIR0 Band1" id ="3" value="0" />
+ <ctl name="IIR0 Band1" id ="4" value="0" />
+ <ctl name="IIR0 Band2" id ="0" value="268435456" />
+ <ctl name="IIR0 Band2" id ="1" value="0" />
+ <ctl name="IIR0 Band2" id ="2" value="0" />
+ <ctl name="IIR0 Band2" id ="3" value="0" />
+ <ctl name="IIR0 Band2" id ="4" value="0" />
+ <ctl name="IIR0 Band3" id ="0" value="268435456" />
+ <ctl name="IIR0 Band3" id ="1" value="0" />
+ <ctl name="IIR0 Band3" id ="2" value="0" />
+ <ctl name="IIR0 Band3" id ="3" value="0" />
+ <ctl name="IIR0 Band3" id ="4" value="0" />
+ <ctl name="IIR0 Band4" id ="0" value="268435456" />
+ <ctl name="IIR0 Band4" id ="1" value="0" />
+ <ctl name="IIR0 Band4" id ="2" value="0" />
+ <ctl name="IIR0 Band4" id ="3" value="0" />
+ <ctl name="IIR0 Band4" id ="4" value="0" />
+ <ctl name="IIR0 Band5" id ="0" value="268435456" />
+ <ctl name="IIR0 Band5" id ="1" value="0" />
+ <ctl name="IIR0 Band5" id ="2" value="0" />
+ <ctl name="IIR0 Band5" id ="3" value="0" />
+ <ctl name="IIR0 Band5" id ="4" value="0" />
<ctl name="IIR0 Enable Band1" value="1" />
<ctl name="IIR0 Enable Band2" value="1" />
<ctl name="IIR0 Enable Band3" value="1" />
diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index 40632bc..659d72c 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -808,7 +808,8 @@
{
bool ret = false;
- if ((a2dp.is_a2dp_offload_supported) &&
+ if ((a2dp.bt_state != A2DP_STATE_DISCONNECTED) &&
+ (a2dp.is_a2dp_offload_supported) &&
(a2dp.audio_check_a2dp_ready))
ret = a2dp.audio_check_a2dp_ready();
return ret;
@@ -843,7 +844,9 @@
ALOGE(" a2dp handle is not identified");
return latency;
}
- codec_info = a2dp.audio_get_codec_config(&multi_cast, &num_dev,
+
+ if (a2dp.a2dp_started)
+ codec_info = a2dp.audio_get_codec_config(&multi_cast, &num_dev,
&codec_type);
memset(value, '\0', sizeof(char)*PROPERTY_VALUE_MAX);
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index f887904..870f64e 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -5173,6 +5173,7 @@
unsigned int sample_rate;
unsigned int channels;
bool passthrough_enabled = false;
+ bool voice_call_active = false;
int backend_idx = DEFAULT_CODEC_BACKEND;
struct platform_data *my_data = (struct platform_data *)adev->platform;
int na_mode = platform_get_native_support();
@@ -5205,6 +5206,7 @@
bit_width = CODEC_BACKEND_DEFAULT_BIT_WIDTH;
sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
channels = CODEC_BACKEND_DEFAULT_CHANNELS;
+ voice_call_active = true;
} else {
/*
* The backend should be configured at highest bit width and/or
@@ -5244,7 +5246,7 @@
}
/* Native playback is preferred for Headphone/HS device over 192Khz */
- if (codec_device_supports_native_playback(usecase->devices)) {
+ if (!voice_call_active && codec_device_supports_native_playback(usecase->devices)) {
if (audio_is_true_native_stream_active(adev)) {
if (check_hdset_combo_device(snd_device)) {
/*
@@ -5255,8 +5257,8 @@
*/
sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
bit_width = CODEC_BACKEND_DEFAULT_BIT_WIDTH;
- ALOGD("%s:becf: afe: port has to run at 48k for a combo device",
- __func__);
+ ALOGD("%s:becf: afe: port to run at 48k if combo device or in voice call"
+ , __func__);
} else {
/*
* in single BE mode, if native audio playback
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 93b28ca..a434515 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -5062,6 +5062,7 @@
unsigned int sample_rate;
unsigned int channels;
bool passthrough_enabled = false;
+ bool voice_call_active = false;
int backend_idx = DEFAULT_CODEC_BACKEND;
struct platform_data *my_data = (struct platform_data *)adev->platform;
int na_mode = platform_get_native_support();
@@ -5095,6 +5096,7 @@
bit_width = CODEC_BACKEND_DEFAULT_BIT_WIDTH;
sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
channels = CODEC_BACKEND_DEFAULT_CHANNELS;
+ voice_call_active = true;
} else {
/*
* The backend should be configured at highest bit width and/or
@@ -5134,7 +5136,7 @@
}
/* Native playback is preferred for Headphone/HS device over 192Khz */
- if (codec_device_supports_native_playback(usecase->devices)) {
+ if (!voice_call_active && codec_device_supports_native_playback(usecase->devices)) {
if (audio_is_true_native_stream_active(adev)) {
if (check_hdset_combo_device(snd_device)) {
/*
@@ -5145,8 +5147,8 @@
*/
sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
bit_width = CODEC_BACKEND_DEFAULT_BIT_WIDTH;
- ALOGD("%s:becf: afe: port has to run at 48k for a combo device",
- __func__);
+ ALOGD("%s:becf: afe: port to run at 48k if combo device or in voice call"
+ , __func__);
} else {
/*
* in single BE mode, if native audio playback