Commit graph

24186 commits

Author SHA1 Message Date
Linux Build Service Account
0b45c6b4a8 Merge "ASoC: wcd934x: fix click and pop in Tx path" 2016-10-20 12:04:29 -07:00
Linux Build Service Account
0b44d7b07c Merge "sound: usb: Increase maximum transfer buffer limit" 2016-10-19 19:11:48 -07:00
Linux Build Service Account
935f271872 Merge "ASoC: wcd-spi: Add memory read debug support" 2016-10-19 11:18:15 -07:00
Linux Build Service Account
e4ebd9ed85 Merge "ASoC: wcd-spi: fix the maximum transfer unit setting" 2016-10-19 11:18:12 -07:00
Vidyakumar Athota
e1bdef003e ASoC: wcd934x: fix click and pop in Tx path
Update high pass filter cut off frequency register after
decimator clock enable to reduce click and pop in recording
path.

Change-Id: Idee07f2104911180a9ca60490fe30f628f90b71f
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-10-19 11:15:37 -07:00
Bhalchandra Gajare
0565b726e6 ASoC: wcd9335: Fix race during codec master clock (mclk) enablement
It is possible that codec master clock enablement could race from two
different execution contexts, causing the mclk to be not enabled at all.
This will result in failure of use cases that expect the clock to be
present. Fix this issue by making sure the race condition does not
occur during mclk enablement.

bug: b/30983442
Change-Id: Ie254b8876524956b816267eaaed205f65641c000
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-18 16:12:28 -07:00
Bhalchandra Gajare
4f284f6dbb ASoC: wcd-spi: Add memory read debug support
To help debugging, change adds support to read address and size from
the debugfs nodes and provide the memory content through the
mem_read debugfs node.

CRs-Fixed: 1064870
Change-Id: I151bc5d373129e3599baf6d3217b65843c0f16d0
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-18 16:03:13 -07:00
Bhalchandra Gajare
0aab42e7e8 ASoC: wcd-spi: fix the maximum transfer unit setting
Current maximum transfer unit in the driver is set to 16K bytes,
whereas the maximum possible is upto 64K bytes. Update the driver
to use the maximum possible transfer unit and split the read and
write requests into chunks of this maximum possible transfer length.

CRs-Fixed: 1070087
Change-Id: I271cf0ad12652421ab3ae8770714ccb78c043efa
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-18 14:49:07 -07:00
Linux Build Service Account
3993230d5c Merge "ASoC: msmcobalt: Check for number of aux codecs" 2016-10-17 13:33:58 -07:00
Linux Build Service Account
cd6936ba6a Merge "ASoC: wcd934x: Create mixer control to select asrc output mode" 2016-10-17 06:08:06 -07:00
Linux Build Service Account
5c4abbb23a Merge "ASoC: tavil: fix kctl_put and get function for SLIM RXX MUX" 2016-10-17 06:08:04 -07:00
Linux Build Service Account
0a97d6bb23 Merge "ASoc: wcd9335: Ignore mbhc get impedance error" 2016-10-14 17:58:29 -07:00
Linux Build Service Account
78cd56d395 Merge "ASoC: wcd934x: Update DSD register sequence for v1.1" 2016-10-14 17:58:24 -07:00
Linux Build Service Account
d887e436d2 Merge "ASoC: wcd934x: update keeper enable for soundwire functionality" 2016-10-14 17:58:24 -07:00
Phani Kumar Uppalapati
607f17ae85 ASoc: wcd9335: Ignore mbhc get impedance error
Avoid DAPM failure by ignoring the mbhc get impedance
errors as this is not a fatal and audio can still work
even if the class-H settings are not updated based on
impedance values.

Change-Id: Icd6846d157af5a96d5ae49261e109cbd5ab8c266
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-14 16:35:09 -07:00
Phani Kumar Uppalapati
97ddf9fd0c ASoC: wcd934x: Create mixer control to select asrc output mode
Create mixer control to select asrc (asynchronous sample rate
converter) output mode to integer or fractional rate based on
the playback sample rate of the main path or DSD path.

CRs-Fixed: 1078253
Change-Id: I941a357d63f1024c5f7648de10af10df0148c6a7
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-14 15:26:08 -07:00
Linux Build Service Account
4b5f689e15 Merge "ASoC: wcd934x-dsp-cntl: Make sure memories can enter deep sleep" 2016-10-13 19:11:31 -07:00
Linux Build Service Account
0c4dd697ad Merge "ASoC: wcd934x-dsp-cntl: add support for codec restart" 2016-10-13 19:11:30 -07:00
Linux Build Service Account
2a80956ae6 Merge "ASoC: codecs: Add teardown() call in shutdown" 2016-10-13 19:11:27 -07:00
Linux Build Service Account
601676fcf3 Merge "ASoC: wcd9xxx: Disable external clock buffer when mclk is not in use" 2016-10-13 12:29:06 -07:00
Linux Build Service Account
858faf3e12 Merge "ASoC: wcd-spi: Initialize local variables before usage" 2016-10-13 12:29:05 -07:00
Phani Kumar Uppalapati
7eb661ba7e ASoC: wcd934x: Update DSD register sequence for v1.1
Update DSD playback register sequence for wcd934x
codec version 1.1.

Change-Id: I993273bcf26f8f53f6d9c8cccec5c4b17c8a0e95
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-12 18:50:38 -07:00
Sudheer Papothi
52f708c2a3 ASoC: wcd9xxx: Disable external clock buffer when mclk is not in use
External clock buffer being turned on even when mclk is gated results
in power leakage. Disable external clock buffer when mclk
is not in use.

Change-Id: Iea45a4e8ab4560a093c44800ddd7b1311471c646
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-10-12 18:33:28 -07:00
Bhalchandra Gajare
e92ad0d204 ASoC: wcd-spi: Initialize local variables before usage
Initliaze the local variables that are used in functions to return
success or error codes. This fixes possible cases where undefined
error codes are returned.

CRs-Fixed: 1070186
Change-Id: I74bed6cfd9753765b15d17d69ba30f61875e87c8
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-12 15:41:29 -07:00
Bhalchandra Gajare
476dae00da ASoC: wcd934x-dsp-cntl: add support for codec restart
During subsystem restart, the codec hardware goes through reset. Add
support in the wcd934x dsp controller driver to handle codec reset
and perform necessary reset of the codec dsp.

Change-Id: I9916354c04e24708aced5fc63bc12ddfe87b49f2
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-12 15:05:17 -07:00
Phani Kumar Uppalapati
ef04ecd592 ASoC: wcd934x: update keeper enable for soundwire functionality
Keeper enable bit is used to reduce the current leakage
from soundwire master. Enable this bit before starting
audio use-case through soundwire and disable once
use-case is completed.

Change-Id: If2dc9e7fd9a2710391d02c0e52a291b3cffc63b6
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-12 12:08:33 -07:00
Bhalchandra Gajare
3d76fcf83c ASoC: wcd934x-dsp-cntl: Make sure memories can enter deep sleep
Current register settings for memory control allow only few memory
banks to enter deep sleep. This could cause some of the memory banks
to not enter deep sleep mode, resulting into higher power consumption.
Fix the register sequence to make sure the memories are allowed to
enter deep sleep mode.

Change-Id: I2ae0fe35e9a207b33f88077ca6ec49d593d43b68
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-11 17:30:19 -07:00
Bhalchandra Gajare
f5c0c7a00b ASoC: wcd-dsp-mgr: handle codec down and up events
It is possible that codec hardware can be reset in case of subsystem
restart scenarios. It is required to reset the codec DSP as well in
such cases to make sure the DSP is in usable state after the codec
hardware is reset. Change adds support to handle codec down and up
events and perform the necessary reset on codec DSP.

Change-Id: I79502c043f5e16947c895aab7cd584d72ad1a7dc
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-11 15:38:32 -07:00
Bhalchandra Gajare
d0b17cbf01 ASoC: wcd-dsp-mgr: rename wdsp_intr_handler to wdsp_signal_handler
The wdsp_intr_handler is not really processing interrupts in interrupt
context, rather assumes that the caller is not in interrupt context and
performs calls that may sleep. Rename the function in order to avoid
confusion. Interrupt handlers can still call this function as long as
they are in threaded interrupt context and are okay to sleep.

Change-Id: Ia2803d6ca021d505ed2e711e676cbd701b11c492
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-11 15:35:40 -07:00
Bhalchandra Gajare
93b43a172c ASoC: wcd-spi: Move one time initializations to component bind
One time initializations like regmap and debugfs init are currently
done in the init function. But, in case of subsystem restart, the
driver can get de-initialized and then initialized again. This causes
the debugfs and regmap entries to get removed and added again during
subsystem restart cases. Avoid this by moving all the one time
initialization of the driver to component bind.

Change-Id: Ideed297fde016b0623616be64875be094e688981
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-11 15:31:46 -07:00
Garmond Leung
322b48c2be ASoC: codecs: Add teardown() call in shutdown
Display driver has a timeout to avoid prematurely turning
off audio engine. Add teardown function call to ensure
that display driver can turn off audio engine once audio
driver acknowledges the shutdown, so display driver
doesn't have to wait for the entire timeout period.

CRs-Fixed: 1075659
Change-Id: Ib8211a85543b659b7b19a6ebb85382dbbbecfec6
Signed-off-by: Garmond Leung <garmondl@codeaurora.org>
2016-10-11 10:33:17 -07:00
Linux Build Service Account
4e8d48bcbc Merge "ASoC: msm: fix lowlatency playback and FM concurrency issue" 2016-10-11 01:17:08 -07:00
Xiaojun Sang
a9e679905b ASoC: tavil: fix kctl_put and get function for SLIM RXX MUX
Incorrect values are received when queried for SLIM RXX MUX.
This is due to incorrect logic in the put and get functions
of this kctl. Correct the logic to fix this issue.

CRs-Fixed: 1074866
Change-Id: Ib1fda1fcbc09e132f1b3deaf4a65fe8617ff9d10
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2016-10-11 00:36:06 -07:00
Hemant Kumar
ac6ae7a25e sound: usb: Increase maximum transfer buffer limit
In order to support higher bit rate like 384Khz
higher buffer sizes are required. Hence change
the max limit from 2 * PAGE_SIZE to 24 * PAGE_SIZE.

Change-Id: I9d57f3011fee086b2d54997d85bc9a37ccc07e4a
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-10-10 17:45:32 -07:00
Walter Yang
3b29155a55 ASoC: msm: create backend dailink for wcd934x MAD
To support ADSP SVA on wcd934x, dedicated backend dailink needs
to be created. Add the dailink associating the specific cpu dai
and the MAD codec dai.

CRs-Fixed: 1070327
Change-Id: I4152d81e4e951216a8ecdd93562eb1740dbb962c
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
2016-10-09 19:43:51 -07:00
Linux Build Service Account
36e5723b82 Merge "ASoC: msm: qdsp6v2: support for configurable bit format for AFE encoder" 2016-10-07 01:17:33 -07:00
Linux Build Service Account
b02e3335dd Merge "ASoC: msmcobalt: Update machine driver to support 32 bit format" 2016-10-06 19:45:47 -07:00
Linux Build Service Account
e0f034f4c0 Merge "ASoc: msm: Enable support for 32 bit format and 384Khz" 2016-10-06 19:45:46 -07:00
Linux Build Service Account
6a97dc2b55 Merge "ASoC: msm: qdsp6v2: add support for latest version of media format command" 2016-10-06 19:45:46 -07:00
Vidyakumar Athota
0de1b37d17 ASoC: msm: fix lowlatency playback and FM concurrency issue
Lowlatency playback is failed to start when FM is going on because
of wrong channel count in backend DAI. Channels are overwritten because
of afe loopback port mixer caching variable(port_sessions) overflow.
Fix this issue by creating an array to track all the loopback
connections.

Change-Id: I47b875df7eae671f8b59ecc76f61ed7fc7147f0e
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-10-06 17:33:08 -07:00
Phani Kumar Uppalapati
216150a2e8 ASoC: wcd934x: Update headphone register sequence for wcd934x v1.1
Update codec register sequence for headphone path enable for
wcd934x version 1.1.

Change-Id: I0a16e19f825aa192c12c6c7522e417dd99c68f41
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-06 16:34:20 -07:00
Linux Build Service Account
35b02c5e6a Merge "ASoC: soc: change audio drivers to use %pK" 2016-10-06 12:26:10 -07:00
Linux Build Service Account
b80c3a0a3a Merge "ASoC: msmcobalt: Add support for TDM" 2016-10-06 12:26:07 -07:00
Linux Build Service Account
a0e79f8e03 Merge "ASoC: wcd934x-dsp-cntl: add support for subsystem restart" 2016-10-06 12:26:02 -07:00
Linux Build Service Account
a06fab4885 Merge "ASoC: wcd-dsp-mgr: set status before broadcasting post events" 2016-10-06 12:26:02 -07:00
Linux Build Service Account
4de50ebd05 Merge "ASoC: msm: qdsp6v2: Remove 48khz constraint" 2016-10-06 12:25:47 -07:00
Linux Build Service Account
61e4c072da Merge "ARM: dts: msm: connect MADINPUT with MCLK on msmcobalt" 2016-10-06 12:25:45 -07:00
Linux Build Service Account
1109a2ed58 Merge "ASoC: wcd-mbhc: increase hs_vref to 1.6v for wcd9335 codec" 2016-10-06 12:25:44 -07:00
Linux Build Service Account
cde2fda56d Merge "arm/arm64: Kconfig: Add support to use the CLK_QCOM for MSMfalcon" 2016-10-06 01:07:20 -07:00
Linux Build Service Account
7b6f74a97a Merge "ASoC: msm: qdsp6v2: Update device mapping for 7 channel" 2016-10-06 01:07:12 -07:00