Open second ASM loopback session in RX path.
Add support to Open second ASM loopback session in RX path for HFP feature.
CRs-Fixed: 986695
Change-Id: I22bd0e70343e35dfe69f8225468f6fcd34ce88bd
Signed-off-by: Surendar Karka <sukark@codeaurora.org>
diff --git a/msm8909/hal/Android.mk b/msm8909/hal/Android.mk
index 286191c..2f85a31 100644
--- a/msm8909/hal/Android.mk
+++ b/msm8909/hal/Android.mk
@@ -44,6 +44,10 @@
LOCAL_SRC_FILES += audio_extn/audio_extn.c \
audio_extn/utils.c
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ASM_LOOPBACK_RX)),true)
+ LOCAL_CFLAGS += -DASM_LOOPBACK_RX_ENABLED
+endif
+
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_PCM_OFFLOAD)),true)
LOCAL_CFLAGS += -DPCM_OFFLOAD_ENABLED
endif
diff --git a/msm8909/hal/audio_extn/hfp.c b/msm8909/hal/audio_extn/hfp.c
index a0588a3..4faa1e4 100644
--- a/msm8909/hal/audio_extn/hfp.c
+++ b/msm8909/hal/audio_extn/hfp.c
@@ -167,7 +167,7 @@
__func__, pcm_dev_rx_id, pcm_dev_tx_id, uc_info->id);
ALOGV("%s: Opening PCM playback device card_id(%d) device_id(%d)",
- __func__, adev->snd_card, pcm_dev_rx_id);
+ __func__, adev->snd_card, pcm_dev_asm_rx_id);
hfpmod.hfp_sco_rx = pcm_open(adev->snd_card,
pcm_dev_asm_rx_id,
PCM_OUT, &pcm_config_hfp);
diff --git a/msm8909/hal/msm8916/platform.c b/msm8909/hal/msm8916/platform.c
index 547ecd7..3076d1b 100644
--- a/msm8909/hal/msm8916/platform.c
+++ b/msm8909/hal/msm8916/platform.c
@@ -203,8 +203,13 @@
[USECASE_AUDIO_RECORD_FM_VIRTUAL] = {MULTIMEDIA2_PCM_DEVICE,
MULTIMEDIA2_PCM_DEVICE},
[USECASE_AUDIO_PLAYBACK_FM] = {FM_PLAYBACK_PCM_DEVICE, FM_CAPTURE_PCM_DEVICE},
+#ifdef ASM_LOOPBACK_RX_ENABLED
+ [USECASE_AUDIO_HFP_SCO] = {HFP_ASM_RX_TX_SESSION2, HFP_ASM_RX_TX_SESSION2},
+ [USECASE_AUDIO_HFP_SCO_WB] = {HFP_ASM_RX_TX_SESSION2, HFP_ASM_RX_TX_SESSION2},
+#else
[USECASE_AUDIO_HFP_SCO] = {HFP_PCM_RX, HFP_SCO_RX},
[USECASE_AUDIO_HFP_SCO_WB] = {HFP_PCM_RX, HFP_SCO_RX},
+#endif
[USECASE_VOICE_CALL] = {VOICE_CALL_PCM_DEVICE, VOICE_CALL_PCM_DEVICE},
[USECASE_VOICE2_CALL] = {VOICE2_CALL_PCM_DEVICE, VOICE2_CALL_PCM_DEVICE},
[USECASE_VOLTE_CALL] = {VOLTE_CALL_PCM_DEVICE, VOLTE_CALL_PCM_DEVICE},
diff --git a/msm8909/hal/msm8916/platform.h b/msm8909/hal/msm8916/platform.h
index 15c6473..507926c 100644
--- a/msm8909/hal/msm8916/platform.h
+++ b/msm8909/hal/msm8916/platform.h
@@ -203,6 +203,7 @@
#define HFP_PCM_RX 5
#define HFP_SCO_RX 17
#define HFP_ASM_RX_TX 18
+#define HFP_ASM_RX_TX_SESSION2 36
#define INCALL_MUSIC_UPLINK_PCM_DEVICE 1
#define INCALL_MUSIC_UPLINK2_PCM_DEVICE 16