msm: qdsp6v2: Reduce the step size of soft volume and soft pause.

With current step size, as there is raise in amplitude levels
abruptly, quality issues are observed. Reduce the step size to
zero to improve the performance.

Change-Id: Id0372a75736b610946a1ff53b4947e19ed62d400
CRs-fixed: 360715
Signed-off-by: Deepa Madiregama <dmadireg@codeaurora.org>
ASoc: msm: Refactor some codec functionality into separate files

- Add all codec driver common functionality in common files.
- Add separate files for callback function definitions.
- Add header files according to the platform.

Change-Id: I906811043d4bb33571f719f79988fbdb89f5c385
Signed-off-by: Harmandeep Singh <hsingh@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/Kconfig
	arch/arm/mach-msm/qdsp6v2/Makefile
	arch/arm/mach-msm/qdsp6v2/rtac.c
	sound/soc/msm/Kconfig
ASOC: Fix mutex unlock issues for error cases

Unlock mutex acquired within the same function during
error case handling, which was not unlocked before.
This could affect system stability if there are issues
in buffer memory allocations

Change-Id: I250dcb915181f4824375e31ab882ca021e61a65f
Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>
msm: audio: qdsp6v2: PCM Encoder is configured to native channel count

Impact:
When the content switches from 5.1 channels to mono. Noise is heard
in one of the channels.

Problem:
At the start of the playback, number of output channels of PCM
Encoder is configured to 2 when the number of channels in the input
stream are greater than 2. This is done to confine maximum output
channels from PCM encoder to 2.

Change:
Modify output channel configuration of PCM encoder to native
channel count as Q6 decoder takes care for converting channel count
to 2 for the clips with channel count greater than 2.

Change-Id: I305e7c6d0e19977ae56503a8cdb0495231d51468
CRs-Fixed: 344426
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
ASoc: msm: Add support for AAC and WMA decoders.

Add support for AAC and WMA decoders.

Change-Id: Iba66fdf71e852387015a0d03d0f1f9b5a0f09682
Signed-off-by: Harmandeep Singh <hsingh@codeaurora.org>

Conflicts:

	include/sound/apr_audio-v2.h
	include/sound/q6asm-v2.h
	sound/soc/msm/qdsp6v2/q6asm.c
msm: audio: qdsp6v2: Add RTAC voice lookup by CVP or CVS handle

Add functionality to look up RTAC voice structures by CVP
handle or CVS handle. The CVP ioctls now expect the CVP
handle to be sent instead of the CVS handle.

Change-Id: I2464e940a92b56632af45bc5649e323bed6113be
CRs-fixed: 397348
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
(cherry picked from commit cb32361aca99ffe1b3df2182fe4e5f8e857c05f1)
msm: audio: qdsp6v2: Set end of frame flag to avoid aac multiseek issue

- During aac playback, multiple seek lead to target freeze.
- DSP starts decoding when internal buffer size maximum is
  reached, hence, if there are corrupted frames in that buffer,
  the entire set will not be decoded. This results in target freeze.
- Fix is to set the end of frame flag in the buffers that
  are sent to DSP for decoding.

(cherry picked from commit 08508ac42fed7b1e3a7a9b7e098dfb4ceff8b836)

Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>

Change-Id: Ic34272222dcb1df42d7e2fe5d028d513b8cf452f
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
msm: Add support for amr-wb+ non-tunnel driver

-Non tunnel playback is use case where compressed
 data is sent to driver(for decoding) and
 caller expects PCM data back from the driver.
-Add non-tunnel driver for amr-wb+.
-Add support for amr-wb+ in asm driver

Change-Id: I266e70dff0466a20b0435da840a31a8a1774cf35
Signed-off-by: Ajit Khare <ajitk@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/qdsp6v2/Makefile