Commit graph

19464 commits

Author SHA1 Message Date
Linux Build Service Account
5a42580d46 Merge "ARM: dts: msm: correct stereo wsa speaker setting for 8976 devices" 2015-12-04 12:44:22 -08:00
Linux Build Service Account
b5154c4552 Merge "ASoC: msm8x16-wcd: Fix hph pop in switching usecase" 2015-12-04 12:44:22 -08:00
Linux Build Service Account
182099f21d Merge "ASoC: wcd9335: re-set micb_ref to zero post SSR" 2015-12-04 12:44:20 -08:00
Linux Build Service Account
0fb91456df Merge "ASoC: wcd9335: add fixes for TX pop and spkr gain updates" 2015-12-04 12:43:59 -08:00
Linux Build Service Account
953d2255a4 Merge "ASoC: msm: increase slimbus channel FIFO watermark value" 2015-12-04 12:43:28 -08:00
Linux Build Service Account
75b4505e08 Merge "ASoC: msm-cpe-lsm: Queue 2 buffers with slimbus before afe start" 2015-12-04 12:43:27 -08:00
Linux Build Service Account
36a98dc86c Merge "ASoC: msm: add support for faster CPE data transfer rate" 2015-12-04 12:43:26 -08:00
Yeleswarapu Nagaradhesh
676c042483 ARM: dts: msm: correct stereo wsa speaker setting for 8976 devices
When BUSID pin is connected to ground, wsa speaker should be
set as left. When it is connected to VDD, wsa speaker should
be set as right. Current setting is inversed.
Correct stereo wsa speaker left/right setting for 8976.

Change-Id: If2b44be202f084d76cd9e58307d36c3fce802e3f
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-12-03 03:51:57 -08:00
Laxminath Kasam
984910d8e0 ASoC: wcd9335: add fixes for TX pop and spkr gain updates
Port fixes for TX pop and spkr gain updates for tasha.
Also add fix in WSA for retry when device re-enumeration.

Change-Id: I6573517a101a4e5b0c34ef07a78c7dd0a4f127e5
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-12-01 02:38:44 -08:00
Laxminath Kasam
4469042b92 ASoC: msm8x16-wcd: Fix hph pop in switching usecase
In device switch from bongo speaker to HPH, observe
pop in headset. Since the PA select bit is changed
to HPH before DAC disable when tearing down bongo
speaker, this can result in pop in headset. Move
the PA selection bit to be changed to HPH after
PA and DAC disable.

Change-Id: Idb4f96f03880563e4bb81b98f623b6b05f27da8e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-11-26 21:37:29 -08:00
Yeleswarapu Nagaradhesh
a93236328e ASoC: wcd9335: re-set micb_ref to zero post SSR
After SSR, MICBIAS is not enabled as micb_ref is not correct.
So set micb_ref to zero post SSR.

Change-Id: Iaffa7a29799a9b3ed7a46da3cb11a2d4c47e45e9
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-11-26 21:31:26 -08:00
Vidyakumar Athota
a54b5908ff ASoC: wcd9335: reset CPE TX PP buffer memory
From second detection onwards, buffered data has one extra
stale sample before the actual data even though CPE TX PP
(PingPong) buffer is properly disabled. Avoid this extra data
by clearing TX PP buffer memory after reading the complete buffer.

Change-Id: Id3183f64136e827641ab4d00450dbdb7806f00ab
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-11-19 03:01:43 -08:00
Vidyakumar Athota
8222a86039 ASoC: msm: increase slimbus channel FIFO watermark value
Default FIFO watermark value is set as 8 bytes. Observed data skipping
randomly at higher sample rates with default watermark value. Increase
the watermark value to 16 bytes to avoid data loss.

Change-Id: Ic595f62f243b6087ceb2dc61089f957b6a6f8121
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-11-19 02:58:46 -08:00
Vidyakumar Athota
8d96120d13 ASoC: msm-cpe-lsm: Queue 2 buffers with slimbus before afe start
When userspace requests small duration of buffer then it is possible
that the buffer can overflow if only one buffer is queued at a time.
This is because of more channel setup time than buffer size duration.
Queue two buffers with slimbus before starting AFE port to avoid
data loss.

Change-Id: Iabb6f6b1d0e3ee8227ed8be26a64e7eb025e7018
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-11-19 02:52:41 -08:00
Vidyakumar Athota
a9e07835aa ASoC: msm: add support for faster CPE data transfer rate
Currently 16KHz is the maximum supported CPE data transfer
rate. Add support to transfer LAB(Look Ahead buffer) data
from CPE at maximum rate of 384KHz/32bit.

Change-Id: Ic4475d91ca2962c90f424816ef03df0a68ccdf92
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-11-19 02:49:28 -08:00
Vidyakumar Athota
68f2f0ccea ASoC: wcd9335: add support for CPE PP buffer
CPE PP(ping-pong) buffer hardware block is added to support
higher data transfers from CPE in WCD9335 V2. Update codec
driver to enable CPE PP buffer path.

Change-Id: I030cef25d6eddc72a02859f6ee78f201efc3dd43
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-11-19 02:46:30 -08:00
Vidyakumar Athota
dd2229b265 ASoC: wcd_cpe_core: add support to select CPE AFE port
Currently only one CPE AFE output port is supported. Add
an API to get CPE AFE port ID from codec driver. Use that
port ID for LAB buffering.

Change-Id: I74fdeb1800a64ed775608967e4d315f28d48e9ef
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-11-19 02:42:34 -08:00
Vidyakumar Athota
d9aab49235 ALSA: pcm: add support for 384KHz sample rate
Currenlty HW params fails to set 384KHz sample rate
due to unsupported sample rate. Change to add 384KHz
sample rate support to ALSA.

Change-Id: I381f7cdcc69e6cf9339cec53aab3fa295760c17c
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-11-19 02:39:29 -08:00
Linux Build Service Account
80016ec41c Merge "soundwire: Remove pm runtime sync during soundwire read and write" 2015-11-05 16:09:26 -08:00
Linux Build Service Account
481186059b Merge "ASoC: wcd9330: Update slim RX port disconnect sequence" 2015-11-05 16:09:26 -08:00
Laxminath Kasam
2ded4ce4ef ASoC: wcd9330: Update slim RX port disconnect sequence
Issue slim slave port disconnect command to tear
down the audio playback path and then wait for
the channel removal interrupt from the slimbus slave.
This is required because of the slim protocol (pull
mode) being used for 44.1KHz native audio playback.
If MSM side slimbus channels are closed first followed
by slim slave ports, it will lead to underflow errors
at the end of audio playback with 44.1KHz sample rate.
To avoid underflow errors, slim slave port disconnect
command is issued explicitly.

Change-Id: Ib7ae6f7c5301073f7a9cf51ec3536504b9cdd7c7
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-11-04 20:11:23 -08:00
Banajit Goswami
e4980fc41a ASoC: wcd9335: ensure MCLK is enabled before efuse sensing
MCLK needs to be turned on for efuse sensing to be successful.
During post SSR codec bring up, make sure MCLK is restored
before efuse sensing, if audio use cases were running when
SSR happened.

Change-Id: I3a04775ebd88ca81804e472ffa20cb91a66ecaee
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2015-11-04 13:59:08 +05:30
Laxminath Kasam
a065f3dfe0 ASoC: wsa881x: cancel delayed work queue during device down
When device down is called, the work queue for temparature
reading should be cancelled. Without this, there might be
read/write happening while WSA881x device is still in
down (no clock) state.

Change-Id: Ib0a6a9e5f8b45c3952e6a7fe5889901971bf0f08
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-11-04 13:58:40 +05:30
Laxminath Kasam
17434fcd1e ASoC: msm8x16-wcd: Fix SSR mute on speaker for internal codec
When SSR triggered on speaker in internal codec,
sometimes dapm fails to mark dapm widget dirty after SSR
for specific clips and speaker codec widgets fail
to powerup. As this widget associated with SPK DAC register
which is also changed in driver when SSR power down and
powerup, resulting in timing issue when this register
being read by DAPM. Change the routing to tie up the
speaker codec widgets path with virtual mux switch
and DAC widgets.

Change-Id: I691fed56818a099dc3893eedad6fcd7f9bc61107
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-11-03 21:16:43 -08:00
Laxminath Kasam
ccb2c52eb5 ASoC: wcd9335: Fix digital power collapse when XO shutdown
When XO shutdown happens, workqueue scheduled for digital
power collapse is not triggered. In tasha suspend, put
digital core in power collapse if workqueue is pending.

Change-Id: I4ae9bad6b18dd54217fcad5ad60673ee726f4700
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-11-02 21:16:08 -08:00
Linux Build Service Account
8bda7b05b5 Merge "ASoC: wcd_cpe: Add CPE FTM feature" 2015-10-30 16:36:11 -07:00
Linux Build Service Account
4415c6210b Merge "ASoC: wcd9335: Changes to avoid click and pop on ANC headphones" 2015-10-29 23:33:08 -07:00
Linux Build Service Account
c4f288bb48 Merge "ASoC: wcd-mbhc: update mbhc register correctly" 2015-10-29 23:33:06 -07:00
Linux Build Service Account
a5b11ea515 Merge "ASoC: lsm-client: Fix null pointer access when no LSM session" 2015-10-29 23:33:03 -07:00
Sudheer Papothi
b7a774f5c3 ASoC: wcd9335: Changes to avoid click and pop on ANC headphones
Re-align ANC(Active Noise Cancellation) coefficients per ANC block
to avoid click and pop during ANC headset device path bringup.
Change enables ANC re-alignment based on codec path.

Change-Id: I7af75942fc714a96e478f862b4c8ecacb3f20fdc
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2015-10-27 22:55:21 -07:00
Phani Kumar Uppalapati
0c343cfa79 ASoC: wcd-mbhc: update mbhc register correctly
Update mbhc register table entry for moisture detection
to be zero for the targets which do not support moisture
detection. This prevents any impact due to moisture
detection.

Change-Id: I3e026e288788700ea2328ccbd12f79f5c40642ac
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2015-10-27 05:02:13 -07:00
Simmi Pateriya
4580bb3250 ASoC: msm8x16-wcd: update impedance detection
Update impedance detection sequence for cajon as per
the new method provided by hardware team.

Change-Id: Iab021752cb5e56bb64776c41bec6825cb4a0d0db
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2015-10-26 23:58:04 -07:00
Linux Build Service Account
7c5e0dd8b9 Merge "ASoC: wsa881x: Changes to reduce cold start latency" 2015-10-26 10:09:32 -07:00
Linux Build Service Account
e642844b8e Merge "ASoC: msm: handle null pointer access issue at audio client" 2015-10-26 10:09:29 -07:00
Linux Build Service Account
31706b089d Merge "ASoC: wcd9330: fix SSR mute issue after few iterations" 2015-10-26 10:09:29 -07:00
Walter Yang
b70d4e9137 ASoC: wcd_cpe: Add CPE FTM feature
Add debugfs nodes for CPE FTM.
The callback will load the instruction and execute it.
CPE status will be retrieved and be read by userspace.
New CPE service command validation is added to guarantee
the concurrency of CPE FTM and normal CPE SVA detection.

Change-Id: I0748e357a21d873af5a85bbb80e982db0323beb7
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
2015-10-26 00:10:36 -07:00
Sujeev Dias
d3f0055754 ASoC: msm8952: Add support for external audio switch
Add support to control external audio switch thru
machine driver.  This is to support msm8952 Polaris
devices.

Change-Id: I42e0779b1f18e4883006fdfa71d99da0d2519784
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2015-10-23 10:23:11 -07:00
Linux Build Service Account
843cf5205c Merge "ASoC: wsa881x: update register defaults in cache" 2015-10-22 16:44:59 -07:00
Sudheer Papothi
517171857f ASoC: wsa881x: Changes to reduce cold start latency
changes to optimize wsa881x register writes that will help in
reducing cold start output latency during audio playback
usecase.

Change-Id: I5b316f77bfbd74ca01da491f263a9e9ae80ec63b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2015-10-21 10:43:24 +05:30
Laxminath Kasam
f3e2e32ba6 ASoC: msm: handle null pointer access issue at audio client
During playback close, ioctl call to prepare for same
session is triggered resulting in access to null pointer
access. Add null pointer check before access audio
client and private data in prepare functions.

Change-Id: I88dee5526b4308a710535d966aa7aeceee668e18
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-10-20 17:56:36 -07:00
Laxminath Kasam
9d48a90f82 ASoC: wcd9330: fix SSR mute issue after few iterations
Mark few registers non-cache as they are supposed to be
volatile. This will avoid audio mute after SSR.

Change-Id: I44a99c2b609fbfbd6c9ce7fd2e4b1354ed03bc20
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-10-20 17:56:11 -07:00
Laxminath Kasam
1daf7f0e38 ASoC: lsm-client: Fix null pointer access when no LSM session
When no LSM session is active, return from msm_lsm_close
and avoid null pointer dereference.

Change-Id: I9f57c08e080497765eaefef0c031bbf956c02914
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-10-20 17:55:43 -07:00
Linux Build Service Account
ca9a1c781f Merge "ASoC: msm: On set FB spkr prot check new mode." 2015-10-20 04:37:39 -07:00
Linux Build Service Account
8a43954209 Merge "ASoC: wcd9335: add support for rock bottom sleep current" 2015-10-20 04:37:35 -07:00
Linux Build Service Account
405a29de8f Merge "ASoC: wcd9335: Add support for voltage scaling feature" 2015-10-20 04:37:34 -07:00
Linux Build Service Account
27b57d252a Merge "soc-compress: Update RX shutdown sequence for compress path" 2015-10-20 04:37:33 -07:00
Linux Build Service Account
21b9d82b5d Merge "ASoC: wcd9335: Add support for various headphone modes" 2015-10-20 04:37:32 -07:00
Linux Build Service Account
54b6e2d931 Merge "ASoC: pcm: Update RX shutdown sequence" 2015-10-20 04:37:31 -07:00
Linux Build Service Account
4c16541f51 Merge "ASoC: msm8952: use devm_regulator_get to correct regulator ref" 2015-10-20 04:37:30 -07:00
Linux Build Service Account
fd1b1ae953 Merge "ASoC: msm-cpe-lsm: Add support for openCPE" 2015-10-20 04:37:29 -07:00