am 9e7af36d: Merge "hal: Fix sidetone sequence during voice call" into mnc-dr-dev
* commit '9e7af36d52afbc04f3d86ba2739b93faa1f76b61':
hal: Fix sidetone sequence during voice call
diff --git a/hal/Android.mk b/hal/Android.mk
index 0bb29b5..a51fac7 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -64,6 +64,10 @@
LOCAL_SRC_FILES += audio_extn/hfp.c
endif
+ifeq ($(strip $(AUDIO_FEATURE_SUPPORTED_EXTERNAL_BT)),true)
+ LOCAL_CFLAGS += -DEXTERNAL_BT_SUPPORTED
+endif
+
ifeq ($(strip $(AUDIO_FEATURE_NO_AUDIO_OUT)),true)
LOCAL_CFLAGS += -DNO_AUDIO_OUT
endif
diff --git a/hal/audio_extn/hfp.c b/hal/audio_extn/hfp.c
index a108730..bfeb6e7 100644
--- a/hal/audio_extn/hfp.c
+++ b/hal/audio_extn/hfp.c
@@ -71,7 +71,11 @@
{
int32_t vol, ret = 0;
struct mixer_ctl *ctl;
+#ifdef EXTERNAL_BT_SUPPORTED
+ const char *mixer_ctl_name = "PRI AUXPCM LOOPBACK Volume";
+#else
const char *mixer_ctl_name = "Internal HFP RX Volume";
+#endif
ALOGV("%s: entry", __func__);
ALOGD("%s: (%f)\n", __func__, value);
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 4958cb1..ed56991 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -29,6 +29,7 @@
#include <linux/msm_audio.h>
#define MIXER_XML_PATH "/system/etc/mixer_paths.xml"
+#define MIXER_XML_PATH_WCD9330 "/system/etc/mixer_paths_wcd9330.xml"
#define LIB_ACDB_LOADER "libacdbloader.so"
#define AUDIO_DATA_BLOCK_MIXER_CTL "HDMI EDID"
#define CVD_VERSION_MIXER_CTL "CVD Version"
@@ -937,7 +938,15 @@
ALOGD("%s: snd_card_name: %s", __func__, snd_card_name);
- adev->audio_route = audio_route_init(snd_card_num, MIXER_XML_PATH);
+ if (!strncmp(snd_card_name, "msm8226-tomtom-snd-card",
+ sizeof("msm8226-tomtom-snd-card"))) {
+ ALOGD("%s: Call MIXER_XML_PATH_WCD9330", __func__);
+ adev->audio_route = audio_route_init(snd_card_num,
+ MIXER_XML_PATH_WCD9330);
+ } else {
+ adev->audio_route = audio_route_init(snd_card_num, MIXER_XML_PATH);
+ }
+
if (!adev->audio_route) {
ALOGE("%s: Failed to init audio route controls, aborting.", __func__);
goto init_failed;
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
index 1c06726..b471634 100644
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -203,18 +203,36 @@
#define LOWLATENCY_PCM_DEVICE 15
#define VOICE_VSID 0x10C01000
+#ifdef PLATFORM_MSM8x26
+#define VOICE_CALL_PCM_DEVICE 2
+#define VOICE2_CALL_PCM_DEVICE 14
+#define VOLTE_CALL_PCM_DEVICE 17
+#define QCHAT_CALL_PCM_DEVICE 18
+#define VOWLAN_CALL_PCM_DEVICE 30
+#elif PLATFORM_MSM8084
+#define VOICE_CALL_PCM_DEVICE 20
+#define VOICE2_CALL_PCM_DEVICE 25
+#define VOLTE_CALL_PCM_DEVICE 21
+#define QCHAT_CALL_PCM_DEVICE 33
+#define VOWLAN_CALL_PCM_DEVICE -1
+#else
#define VOICE_CALL_PCM_DEVICE 2
#define VOICE2_CALL_PCM_DEVICE 22
#define VOLTE_CALL_PCM_DEVICE 14
#define QCHAT_CALL_PCM_DEVICE 20
#define VOWLAN_CALL_PCM_DEVICE 36
+#endif
#define AFE_PROXY_PLAYBACK_PCM_DEVICE 7
#define AFE_PROXY_RECORD_PCM_DEVICE 8
#define HFP_PCM_RX 5
#ifdef PLATFORM_MSM8x26
-#define HFP_SCO_RX 28
+#ifdef EXTERNAL_BT_SUPPORTED
+#define HFP_SCO_RX 10 // AUXPCM Hostless
+#else
+#define HFP_SCO_RX 28 // INT_HFP_BT Hostless
+#endif
#define HFP_ASM_RX_TX 29
#else
#define HFP_SCO_RX 23