msm: watchdog-v2: use request_mem_region instead of request_region

Use request_mem_region api to request for allocating io resource in place
of request_region since the resource is actually not an io port resource
but io memory.

Change-Id: Iddb279466495e34aa469dabaa134a209db2e21ea
Signed-off-by: Aparna Das <adas@codeaurora.org>
ASoC: wcd9xxx: Report lineout immediately

If extension cable is inserted into the jack, it
is taking 5 sec to report the insertion. Reduce
this delay by reporting high headphone immediately.

Change-Id: I904f232ede585c39c6b600692ddb8750b848ebcd
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
ASoC: wcd9xxx: Notify mbhc when TX1/IN1 path is enabled

Notification is sent to mbhc whenever TX1/IN1 path is used
for audio capture. MBHC then will switch to VDDIO if headset
is inserted. This is to avoid polling noise that gets captured
in the recorded audio due to noise coupling in hardware b/w
TX2 and TX1 paths.

Change-Id: Iac40f41572d1417d2afdc55438d86c047710824f
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
msm:qdsp6v2: Check null pointer on userspace data argument in kernel

The null pointer check is required to ensure that userspace data
in kernalspace is not null.

Change-Id: I9e522c393ae643626a4bae03731a73f5d6db6458
CRs-Fixed: 563752
Signed-off-by: Mohammad Johny Shaik <mjshai@codeaurora.org>
ASoC: wcd9xxx: Fix RX Ear register gain values

Rx Ear Gain register on WCD9306 supports different gain
values from 6DB to -12DB. It was wrongly configured with
2DB. This change fixes the issue and adds support for
correct gain values for Ear PA Gain.

CRs-Fixed: 520688
Change-Id: I6493cf63a1d36d9c9c0a3086b645b92f8c3de588
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
ASoC: dapm: Convert pin switches to use snd_soc_card

Since the addition of the non-CODEC control adds card controls like the
DAPM pin switch have been broken as they are expecting the private data
for the control to be the CODEC but it's now the card. Fix that for the
pin switches, an audit of other drivers is required.

CRs-Fixed: 567030
Change-Id: I7333c14d944a5fb6c18d59888438911bca556791
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
ASoC: dapm: Use DAPM mutex for DAPM ops instead of codec mutex

It has now become necessary to use a DAPM mutex instead of the codec
mutex to lock the DAPM operations. This is due to the recent multi
component support and forth coming Dynamic PCM updates.

Currently we lock DAPM operations with the codec mutex of the calling
RTD context. However, DAPM operations can span the whole card context
and all components.

This patch updates the DAPM operations that use the codec mutex to
now use the DAPM mutex PCM subclass for all DAPM ops.

We also add a mutex subclass for DAPM init and PCM operations.

CRs-Fixed: 567030
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Change-Id: Ica9e4654558fd181e1d85e70576fa262f76b4a78
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
ASoC: dapm: lock mixer & mux update power with DAPM mutex

Both snd_soc_dapm_mux_update_power() and snd_soc_dapm_mixer_update_power() can
be called internally within DAPM core (with DAPM mutex held) and externally.

Provide some wrappers so that external users of both functions do not have to
remember to hold the DAPM mutex.

CRs-Fixed: 567030
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Change-Id: I54172ba20edb352c813a28676059df2ec7aaaa18
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
ASoC: dapm: Change mutex lock subclass in dapm

Address the compilation issue by changing the subclass
enum in mixer/mux power update dapm functions

Change-Id: I3946cf2a5c6a0b469378d5c0583fd9c8567d4b70
CRs-Fixed: 567030
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
ASoC: dapm: Fix race condition in dapm

Dirty widget list can be accessed by multiple
paths in dapm framework. Dirty list is protected by
dapm mutex. Since stream_event function accesses the dirty list,
it should acquire dapm mutex instead of codec mutex.

CRs-fixed: 593141, 596103
Change-Id: I9f41bf436b41ba9b4fa3bb447035fd1fe262e76b
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
ASoC: Compress: Check and set pcm_new driver op

Check and set if pcm_new driver op is initialized by the driver.
This allows the compress offload drivers to register mixer
controls.

Change-Id: If54fa36cf19cbca7239d6e3e30455472e9a173d8
Signed-off-by: Ravi Kumar Alamanda <ralama@codeaurora.org>
ASoC: msm: Add support for AAC decode in ADTS format

- Set AAC format based on the format value set in
  compress params
- Default is RAW AAC

Change-Id: I4815fdfa0bc0716a44cde0c4440eaa15180c03fc
Signed-off-by: ApurupaPattapu <apurupa@codeaurora.org>
ASoc: msm : update speaker gain control.

Configuring speaker max gain as 8 in the SPKR_DRV_GAIN register.
Other wise the gain setting when the invert flag is set will differ.

Change-Id: I18ae30c4035088fd439ae00bba2a34aa4e9385a9
CRs-Fixed: 593181
Signed-off-by: Mohammad Johny Shaik <mjshai@codeaurora.org>
ASoC: msm: Fix for wma playback after SSR

After SSR apr session doesn't get destroyed as
the callback from apr driver doesn't come.Fix
this by not doing NULL allocation in q6asm callback.

Change-Id: Idfec89dfd06075fec4199869354bdcb9e01a3dc9
Signed-off-by: Anish Kumar <kanish@codeaurora.org>
ASoC: msm: Add support to change bit rate during VoIP call

Add support to change the bit rate for AMR NB and AMR WB
vocoders while in VoIP call. This change is needed as part of
supporting VoWLAN feature.

Change-Id: Ic486dd7f48aca2c640b2364d00712741b50df4c8
Signed-off-by: Narsinga Rao Chella <nrchella@codeaurora.org>

Conflicts:
	sound/soc/msm/qdsp6v2/q6voice.h
ASoC: msm: Send endpoint parameters for DDP decoder

DDP decoder requires end point parameters to be configured or
updated based on the input clip configuration or as updated by
the user through set parameter. Add support for the same

Change-Id: I1d331b4be27d67e1da5b3a03cfaff161e5fd1550
Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
ALSA: jack: Add support to report second microphone

ALSA jack framework currently supports reporting only
one microphone. Add support to report presence of
second microphone to the userspace.

Change-Id: Id0df7aa222e547da3771f5d61092a959394c10dc
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
ASoC: wcd9xxx: Add support for MBHC 5-pole plug detection

Add support to determine the presence of second microphone
on a 5-pole plug used for active noise cancellation.

Change-Id: I85227a00c47fed1d0e4453b77902c1b473097a5b
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
ASoC: msm: Add support for 96KHz/192KHz sample rate playback over HDMI

Add support for 96KHz and 192KHz sample rate audio playback over
HDMI. A mixer control has been added to select 96 or 192 KHz sample
rate on HDMI backend.

Change-Id: Ic2b46e282236d5b27c30d85b58f65d1625383a21
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>

Conflicts:
	sound/soc/msm/msm8974.c
ASoC: msm: Fixup number of channels for FM transmitter

Backend during FM transmission supports only stereo
channels. Fix up the number of channels to 2 for FM
transmitter.

CRs-fixed: 556019
Change-Id: I453a13ea0a8f27228670e72b41bc10a8560e7d31
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>