Asoc: msm: 8064: Add support for in-call features
- Add support for slimbus rx and tx channels
between external modem and APQ.
- Use the slimbus rx channel to route audio packets
from APQ to external modem for music delivery to
far-end during a voice call.
- Use the slimbus tx channel to route the voice packets
from external modem to APQ to record to a file.
- Add mixer control to set mono or stereo recording.
Change-Id: Ice6315de19bf0e2a8d7bd55973976b3c320f1984
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
diff --git a/sound/soc/msm/qdsp6/q6afe.c b/sound/soc/msm/qdsp6/q6afe.c
index f474542..dc120b08 100644
--- a/sound/soc/msm/qdsp6/q6afe.c
+++ b/sound/soc/msm/qdsp6/q6afe.c
@@ -152,6 +152,7 @@
case INT_FM_RX:
case VOICE_PLAYBACK_TX:
case RT_PROXY_PORT_001_RX:
+ case SLIMBUS_4_RX:
ret = MSM_AFE_PORT_TYPE_RX;
break;
@@ -168,6 +169,7 @@
case VOICE_RECORD_RX:
case INT_BT_SCO_TX:
case RT_PROXY_PORT_001_TX:
+ case SLIMBUS_4_TX:
ret = MSM_AFE_PORT_TYPE_TX;
break;
@@ -211,6 +213,8 @@
case INT_FM_TX:
case RT_PROXY_PORT_001_RX:
case RT_PROXY_PORT_001_TX:
+ case SLIMBUS_4_RX:
+ case SLIMBUS_4_TX:
{
ret = 0;
break;
@@ -274,6 +278,8 @@
case INT_FM_TX: return IDX_INT_FM_TX;
case RT_PROXY_PORT_001_RX: return IDX_RT_PROXY_PORT_001_RX;
case RT_PROXY_PORT_001_TX: return IDX_RT_PROXY_PORT_001_TX;
+ case SLIMBUS_4_RX: return IDX_SLIMBUS_4_RX;
+ case SLIMBUS_4_TX: return IDX_SLIMBUS_4_TX;
default: return -EINVAL;
}
@@ -299,6 +305,8 @@
case SLIMBUS_1_RX:
case SLIMBUS_1_TX:
case SLIMBUS_2_TX:
+ case SLIMBUS_4_RX:
+ case SLIMBUS_4_TX:
ret_size = SIZEOF_CFG_CMD(afe_port_slimbus_sch_cfg);
break;
case RT_PROXY_PORT_001_RX: