ASoC: msm: Add support timestamp update VCAP playback usecase.

Compressed data in HDMI IN or VCAP usecase is propagated with
timestamp from DSP with each buffer. For playback, the same or
interpolated timestamp is updated with the corresponding buffer.
DSP will render the buffer a) without any delay if timestamp mode is
synchronous to absolute timestamp b) with a delay if timestamp is more
than the absolute timestamp c) drop the buffer if the timestamp is
less than the absolute timestamp. Add support for the same.

Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
(cherry picked from commit aa1f5e51dbc251dc758a1f762802d87d4f2128b7)
(cherry picked from commit cb209b8f0bddcedaf26a181f20de696e4ad729bc)

Change-Id: I5b7b2cb405f72ea9afa4751c6a92cde09f40d69c
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Add support for 4-pole extension cable.

- Add the support to report lineout device when inserted plug
  has high impedance on microphone line.
- This feature is enabled only with gpio headset detection.

Signed-off-by: Ravi Kumar Alamanda <ralama@codeaurora.org>
(cherry picked from commit 07b6bd6a9a1e431a86efa76b14030d882ee7771b)
(cherry picked from commit 39c0e134f67fcab824f1457a256c4fbf2525c347)

Change-Id: I6d4e3f147433ee9c0cc313118b540fee0b90f45f
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: include msm-specific ion header.

All msm_ion clients need to use <linux/msm_ion.h> instead of
<linux/ion.h>

 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
(cherry picked from commit 71a6ac9d4fc5e88efd57c2077caaff34afa36603)
(cherry picked from commit 353fac8a22a0253e990c745232d45586adb0defb)

Change-Id: I26165047d3361802ff3957b54a645544a8e9c3b5
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Fixup of the SEC I2S port to 2 channels.

Add the fixup function for the SEC I2S backend to
configure the number of channels to 2 and
sample rate to 48000Khz.

CRs-Fixed: 395160
Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
(cherry picked from commit 695c30beb5b12f7f4b1169e6c65a1c67bef03c19)
(cherry picked from commit cb3b26e043e1e32a543d799e1ba37a0e882f1aa6)

Change-Id: I670881282655e20059ed7fa039f575b6411366bc
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Fix seekbar issue while excercising tunnel mode playback

While playing a file via tunnel mode, the timestamp was not getting
updated in the seekbar.

Provide a fix for this by parsing the lsw and msw timestamp
correctly before being sent to userspace.

Signed-off-by: Harmandeep Singh <hsingh@codeaurora.org>
(cherry picked from commit 3377a88c4b4e7b71abd09e2bf66c1844743c329f)
(cherry picked from commit 0c5d9b68488f318538caa7ada53ed6fbb1a2309f)

Change-Id: I0f94e07e43f922ceeb59a83c9628fa47cd17ef4e
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Updated the period size of Multichannel driver.

Upadate the multichannel driver period size to accomodate the
8 channels with 1536 bytes for each channel in HDMI IN use case.
Update the channels of wma according to the structure populated
by the HAL

Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
(cherry picked from commit 572d504a7a57d521bd5a823a3bb8a443ac34842a)
(cherry picked from commit a955dd94918bc4241d28053d8f6587b1c055238a)

Change-Id: Id043cbf07ff1b8a80ac0961ddeff0c1d3ff1283b
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: WCD9310: Defer the setup of headphone removal detection.

After the inserted accessory is detected as a valid headphone,
polling is performed on the microphone to correct the accessory
detection in case it was wrongly identified as a headphone.

It was observed that at the end of polling, headphone removal
interrupt was fired, causing headphone playback to stop. Fixed
by deferring the headphone removal setup until either polling is
complete or polling detects a removal

CRs-fixed: 384967
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
(cherry picked from commit afc86431f330ee51f7980b620bef75935422c764)
(cherry picked from commit f87a8b2658964249917c815719d15abedd03771e)

Change-Id: Ic2c04aa300fc029957c71294e153aef479967b84
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: wcd9310: reduce mbhc button release GPIO debounce time.

Current GPIO debounce time is too long so it delays next button
press detection.  Reduce this debounce time so driver can detect
next button press and release quickly.
Typically mic voltage ramps up within few milliseconds after button
release so 50ms is long enough.

Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
(cherry picked from commit db606b0a39452c90e26692c22300c390f5822f29)
(cherry picked from commit 96e92e0a22a0c54f9cfda447d346c1a2dd9f4639)

Change-Id: Ibf0aa4d4c07fab9cd50021cb0e256ee23b320059
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Default format for the compressed driver as LPCM.

Setting the LPCM as default format for the compressed driver.
It is needed for the HDMI IN compressed use case, where we are
not aware of the format beforehand

Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
(Cherry picked from commit 7e259d841857f06951c41c1159e95bb4b343602f)

Conflicts:

	sound/soc/msm/msm-compr-q6.c

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit 390ef43a8103c52273614e09ed1e5e8ceab97f04)

Change-Id: I2d380e97e3225e1b6cb3250d10ca016f8fcc4b1e
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Disable 100 KHz level shifter when not in use

When 100KHz level shifter is enabled this is causing an i2c
Failures for the tuner chips sitting on the same bus, to avoid this
Errors the spdif 100KHz level shifter should be disabled when
The i2c read / write of cs8427 chip is not in use.

How 100KHz disabled is, as and when the driver tries to do I2C
Write / Read Level shifter is enabled and disabled after i2c
Read / Write is done, This is done for every read / write i2c
Transfers on cs8427 chip, though it adds and over head of enabling
And disabling level shifter every time, this is the only better way
To address this.

CRs-Fixed: 390239
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
(cherry picked from commit 3896ed363d0958bde89de2f31709616eb96cb489)
(cherry picked from commit a6fa21f13dac271fc6b9ba971f9746b5fe0d7093)

Change-Id: If0c953771295aac9ddfc2b72389ed30e94fedb9b
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
Apply last patch to board-mako.

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Add AIO support for multi channel pcm platform driver.

Add Async write mechanism for multichannel PCM platform driver.
This will facilitate to have meta data information flow from apps
To DSP and vice versa.

Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
(cherry picked from commit 69f2b8ac7106fe5d5fa19ee12131c27efc8e5ec1)
(cherry picked from commit 45e605da5fd57e07609657c0fac43853d3d0658e)

Change-Id: I6a931b4458f14b64040eb7502aee26250938ba9d
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Add AMR-WB tunnel capture support.

Update compress audio platform driver
to support AMR-WB tunnel mode capture.

Signed-off-by: Sachin Shah <sachins@codeaurora.org>
(cherry picked from commit b96124a67cebcbe91e13f5e4c7f2bb9bcb2bb15f)

Conflicts:

	sound/soc/msm/msm-compr-q6.c

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit cbf47c164b124f0d8581be6023adc0827beb0854)

Change-Id: I09cf19698ed0c1ddc321eef03ecf319f63bcfe11
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Remove the check to break when the app not ready with data.

When the Application pointer is same as hardware pointer, the dequeing
from DSP chain will be broken to start the session again there should
be trigger called explicitly from the user space, to avoid resending
the trigger command from the user space.

Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
(cherry picked from commit 5bb19ee2b22ca42e708da052517853496fc5b98d)
(cherry picked from commit d5d591f945b25b82a7177a6b466387fbc9b1bf93)

Change-Id: I42bb47de76e3f9368188161b5a1a71734fec3b6e
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Modify default buffer params of compressed driver

There can be a use case where HAL may request for
Smaller period size and corresponding buffer size for
A session, update compressed driver default period size
And buffer size based on the userspace configuration

Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
(cherry picked from commit d4e62aeb8839cf9accf2356568a14adb8d24152f)
(cherry picked from commit 462a09e10e32afb49ca50bdbfb8c4a4e13cc068a)

Change-Id: Id1aef6c71c5c71b269b6607816f7c3e5c4fd4314
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC : msm: HDMI 5.1 LPCM playback support.

Support 6 channels configuration in HDMI driver
and the ALSA framework to play 5.1 LPCM format

CRs-Fixed: 370096
Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
(cherry picked from commit fc3b780b571b62f302fe38c9faaa58508ad5464f)
(cherry picked from commit 7fd4b7af623ac3dfef0b23d4e68758b1a65941d6)

Change-Id: I091cd3187e9c68eb2589c9b3412b1d8a7bb59164
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm: Change the reset timeout to look the PLL on cs8427.

Change the reset timeout form 100 jiffies to 1 jiffy which
is used for the PLL lock timeout for cs8427 chip

CRs-Fixed: 361937
Signed-off-by: Sharad Sangle <assangle@codeaurora.org>
(cherry picked from commit 1cbe87dd6ef07013dff2e58d6d75adc1d440fe24)
(cherry picked from commit fa5ec08bb0b19b3065b6b5c2db7bc8a13b7e01a2)

Change-Id: I95049ddae148ba951b06ae4fd96f4875d929ced1
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: wcd9310: Turn on EAR DAC and PA at the same time.

Turn on EAR DAC and EAR PA at the same time to avoid pop
at start of playback.

CRs-Fixed: 386288
Signed-off-by: Damir Didjusto <damird@codeaurora.org>
(cherry picked from commit 7c85d71830e1781c113cf1d69234169e8feb31c9)
(cherry picked from commit deb584f6a8788dcda97a9d83038103ebd2576771)

Change-Id: Ib50f6a488fe93595423bae30164073cc25b90076
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: apq8064-i2s: Add machine driver for APQ8064 I2S.

This machine driver implements the topology which voice
downlink/uplink streams from/to MDM are received via primary
spkr/mic I2S interfaces and internally loop back within LPASS
to MI2S interface with the other end connected to wcd9310
CODEC.

Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
(cherry picked from commit 80f8ec49294e9698751a5afd8c33fb327f8f5b6a)
(cherry picked from commit bf8f93bc69fb3e6a7333525249984212271ca3ad)

Change-Id: I2d9140c49d14f172ae402d738ab3b6b523250486
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
ASoC: msm8960: Fix button detection voltage thresholds.

Recent measurements indicate that the button threshold voltages
have changed. Adjust the button voltages accordingly

CRs-fixed: 390846
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
(cherry picked from commit b15d0e39310c93f859b51d382797784717935555)
(cherry picked from commit 9cf308d9926fd3f6ae3f642cb2fabfe6f01fcb47)

Change-Id: I721c89a7d36266926ab1ac343d938cf0f2f3c237
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>