ASoC: WCD9310: Enable AUX PGA loopback support

Aux PGA (Auxiliary Programmable Gain Amplifier) interface on the
audio codec is used to loopback the analog audio signal from
input (line-in) to output (line-out/HPH/EAR) only through the
analog domain of the codec. AUX PGA also supports analog gain,
which is used to control the gain of the input signal

For WCD9310, line-in5 is used as AUX PGA Left and line-in6 is
used as AUX PGA Right. Add mixer controls to enable routing
AUX PGA inputs to all possible outputs

Change-Id: I85a7865528aa3b2455c190b2617754fe22f3d24a
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>

Conflicts:

	sound/soc/codecs/wcd9310.c
ASoC: wcd9310: Add the second mixer support to audio RX path

Add the second mixer to audio RX1, RX2, and RX3 path to provide
an option so that the sidetone can be generated from codec
instead of from DSP.

Change-Id: I9ffd5b833abe2d832c4f9b4c9d3ec5ab94fdbde9
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
ASoC: MSM: add cpu and codec dais for Ultrasound

Ultrasound needs decimators to be running at 96k or 192k. The signals
from those decimators  need to sent to slimbus ports which belong to
afe slimbus port which is exclusively reserved for ultrasound.

CRs-Fixed: 347464
Change-Id: I50c1f79a972acc6d363108ae2a8679f9851e8b45
Signed-off-by: Kiran Kandi <kkandi@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/board-8064.c
	arch/arm/mach-msm/devices.h
	sound/soc/codecs/wcd9310.c
	sound/soc/msm/apq8064.c
	sound/soc/msm/msm-dai-q6.c
	sound/soc/msm/qdsp6/q6afe.c
ASoC: msm: Add support for external EC reference from APQ.

Add support for a back-end DAI that routes the mixed audio and
voice streams from the application processor to the external
modem for echo-cancellation.

Change-Id: I6c938803dccdb6ed8e15e870cceb6b0de7019afb
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>

Conflicts:

	sound/soc/msm/qdsp6/q6afe.c
ASoC: msm: add platform routing for voice call via MI2S use case

There can be board design which MI2S block is connected to external
CODEC. External CODEC can be used for voice call purpose.
Enable routing so voice call downlink, uplink, echo
cancellation can be transferred to off-chip modem.

Change-Id: Id240eb5ba4fcea52c5e261e2c09610fcbb718d65
Signed-off-by: Patrick Lai <plai@codeaurora.org>
ASoC: msm: Add backend enablement
ASoC: msm: Add Enablement for stubbed CPU DAI

Add backend enablement for stubbed DAIs.

Change-Id: I737b5cb114459a6288402ba81ae8cd1f9d14424b
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
ASoC: msm: Remove the condition check before sending FENS command

If FENS is disabled before starting voice call, FENS disable
command is not sent to CVD.
Remove the condition check, fens disable and enable command will
send to CVD when starting voice call.

Change-Id: Ibae3ae679066b8ba57229709ff6141f7085b5a0c
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
ASoC: msm: Add VSS_IVOCPROC_CMD_SET_MUTE case in cvp callback

Add VSS_IVOCPROC_CMD_SET_MUTE case in cvp callback to
wake up the waiting for the response after sending rx
device mute to Q6.

Change-Id: I7356b4e3a459615d101c470d2d096b0452e2da04
CRs-fixed: 352476
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
ASoC: msm: Add supplementary service for VoLTE and voice call.

Add support for call hold and resume for Voice and VoLTE calls.
This is added to support new events from user space for voice
driver. These new events are used to switch between Voice and
VoLTE calls. These events are handled in trigger function of
driver which puts vocproc to standby mode for pause and starts
when resume is passed to trigger function of driver.

Change-Id: Id8774515fdb8437846e7a8864002f4be800e66e1
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
msm: 8064: Add support for Slimbus3 Rx CPU DAI.

Use Slimbus3 rx CPU DAI to send the mixed audio and voice streams
from the application processor to the external modem for
echo-cancellation.

Change-Id: I275ae11c1ec84bd49f482892126ee65dfa7d68fc
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/board-8064.c
ASoC: msm: Add support for voice over HDMI

Add support for slimbus tx channels between external modem and APQ. The
tx channels transfer voice packets from modem to HDMI output in APQ.

CRs-Fixed: 360641
Change-Id: I8953df61954758f1a19590ec79bffe614bc02bd8
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/board-8064.c
ASoC: msm: Add routing control to route voice to HDMI

Add mixer control to route voice to HDMI.

Change-Id: Id94bdefc302edbcbc82a3430abee0f6d361075a1
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
ASoC: msm: Add support for SGLTE feature

Impact:
Add SGLTE feature support.

Change:
- Add changes for SGLTE feature in machine, cpu,
routing, platform and proxy voice drivers.

Change-Id: Ie5006fbf40b2c3a0c772912303adbf7775c33382
Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
ASoC: msm: Add BE enablement for AUX PCM CPU DAI

Add primary and secondary PCM RX and TX to the routing
table to support AUX PCM over primary and secondary
audio interface.

Change-Id: Ieca8f0af6479087d86625bec1a38e6357bb5faa3
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
ASoC: msm: Fix CVS variable with VoLTE string.

Add CVS session variable with VoLTE string. MVM is
used wrongly with VoLTE string for passive stream create
command. This is replaced with correct CVS variable with
VoLTE string.

Change-Id: I1eb764a87368807cd7faad8ef4c7f3bff2e4328c
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
ASoC: msm: Add back-end enablement for CPU DAIs.

ALSA framework in kernel 3.4 requires all CPU DAIs to be routed to
the repective back-end input or output. Add the routing for STUB_1,
SLIMBUS_1, SLIMBUS_3, and SLIMBUS_4 CPU DAIs.

CRs-Fixed: 376720
Change-Id: Ie7799777d500194c53520320302e667f2ed07480
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>
ASoC: msm: Fix for voice call recording

-Voice call recording is not working because of missing
backends configuration for incall record Tx/Rx.

Change-Id: Ie69112e2929ed98a5bc19164cf9a9c66d73cc8dc
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
ASoC: msm: Apply cached volume and mute at call start.

Volume and mute settings before voice call is started are cached
in the driver, apply the cached settings at call start.

Change-Id: Iabc1f47c46a8e986c79106545ac3ee977fbca99c
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>
msm: audio: qdsp6v2: Add support for VOLTE

Update the number of supported voice networks
in the ACDB driver and change the voice driver
to support concurrent calibration for VOLTE,
VOIP & voice.

Change-Id: I945fa40cbb4ac079a79fa0cb829971f1aa9d07f6
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>