ASoC: wcd9320: Set Audio MAD IIR coefficients from ACDB

WCD9320 codec has HW MAD which requires the Audio IIR
filter coefficients to be configured. ACDB data contains
IIR filter coefficients, these values are written to
codec registers when MAD session is initiated. This
change reads ACDB data for Audio MAD and sets the audio
IIR registers for MAD.

Change-Id: I5613d0751c257a63fa235d8f908a4153e1a0a369
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
ASoC: msm: metaInfo support in acdb kernel driver

implements store_meta_info and get_meta_info API
metainfo is supplied by userspace to kernel driver via
store_meta_info, later this info is sent to ADSP by querying
using get_meta_info

Change-Id: Ic1202b906422baecf7d42738eca827b7f6046da2
Signed-off-by: Srikanth Uyyala <suyyala@codeaurora.org>
ASoC: msm: Add MultiKeyword support for Listen

Listen is a Voice activation and recognition feature.
Currently Listen feature supports recognition of single
keyword for a given session. This change adds support
for MultiKeyword detection for each Listen session.

Change-Id: I614dcbe101eeb42e8420496d39edace74010f5c8
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>

ASoC: msm: Add MultiKeyword support for Listen

Listen is a Voice activation and recognition feature.
Currently Listen feature supports recognition of single
keyword for a given session. This change adds support
for MultiKeyword in Listen interface header. Userspace
hal will use this interface header to determine Sound
Model version based on App ID.

Change-Id: I5fb77297121ecc52eeeabbd522f536b97c73dc8f
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
ASoC : msm: Add IOCTL for Listen LookAhead Buffering

LookAhead buffering is a feature used for buffering PCM
data from codec once the successfull keyword detection is
done for a given sound model. This change defines the IOCTL
interface for LAB feature to user space. User space
can use these IOCTL to control and stop LAB.

Change-Id: I386c4855949a7b6ed0c3c12d950cd804af772f4c
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
ASoC: msm: qdsp6v2: Fix event status issue for Sound Model V1

Multikeyword supports different sound models. Keyword detection
status for sound model V1 and V2 are different. This caused the
event status for sound model V1 to fail even though the events
were from ADSP were correct. This change fixes the issue of
detecting the status correctly for Sound model V1 and V2 types.

Crs-fixed: 654078
Change-Id: Ia11a4e98813e40e80fd68e458fb9d33a37402035
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
ASoC: core: Add compat ioctl support for listen driver

Change adds compat ioctl to listen driver for supporting 32 bit userspace
client when kernel is compiled for 64 bit.

Change-Id: Ie6a6fb1f2b6ea569e03b02bc520ef79b95c1009c
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
ASoC: msm: qdsp6v2: avoid null pointer dereference

If memory allocation fails or allocation of extremely
large buffer is attempted causing kmalloc to return a
NULL, the present code goes ahead and dereferences the
NULL pointer.
The change returns from the function immediately if
kmalloc returns a NULL.

CRs-Fixed: 683684
Change-Id: Iffd532b9eacebfc3c365ced6856a117164111988
Signed-off-by: Aravind Kumar <akumark@codeaurora.org>
ASoC: msm-lsm-client: Handle close gracefully

The listen pcm device could get closed abruptly due to userspace
application crash. In such cases, the device close will be invoked
abruptly. Handle this scenario gracefully by properly cleaning up the
driver before close.

Change-Id: Ie841f300400d547260da92383712a9aa0689d7a7
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
asoc: wcd9320: Fix SVA runtime PM

 * Use a wakeup source here as our DAPM is old.

Change-Id: I8694c796d6746cf65828bde84ab7271284e4ab9a