Commit graph

19426 commits

Author SHA1 Message Date
Linux Build Service Account 31706b089d Merge "ASoC: wcd9330: fix SSR mute issue after few iterations" 2015-10-26 10:09:29 -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
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
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
Linux Build Service Account 3fafe4fdf9 Merge "ASoC: wcd_cpe_core: Add LSM topology support" 2015-10-20 04:37:26 -07:00
Yeleswarapu Nagaradhesh a24ab0dff0 soc-compress: Update RX shutdown sequence for compress path
Update RX shutdown sequence so that port underflow/
overflows can be avoided when slim data protocol
is changed.

Change-Id: I3428623658633ca88e279bcb5c23025214586985
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-10-19 11:46:24 -07:00
Phani Kumar Uppalapati 97cc2dc6d0 ASoC: wcd9335: Add support for various headphone modes
WCD9335 codec version 2.0 supports multiple headphone
modes namely LOHIFI, LOWPWR for audio playback. Add
support to configure codec registers for these modes
in version 2.0.

Change-Id: I62eb409868795ea3913f6e967429b76f45cde2f9
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2015-10-19 11:45:03 -07:00
Yeleswarapu Nagaradhesh 965f3dfeaf ASoC: pcm: Update RX shutdown sequence
Update RX shutdown sequence so that codec
path gets tear down first followed by cpu dai.
This will avoid slim port underflow/overflows
when slim data protocol is changed.

Change-Id: I6e3582fa010d18d4e0ccfde319dfc4d81af1351f
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-10-19 11:44:15 -07:00
Laxminath Kasam ed2c60475c ASoC: wcd9335: add support for rock bottom sleep current
To make power savings during sleep in tasha 2.0, add
required changes for setting codec registers for
rock bottom current. Apply RBSC(rock bottom sleep current)
settings only when no audio and no SVA usecase running.
Apply default value back when any of audio or SVA usecase
starts.

Change-Id: If8516b15cf38575ed2e1a1f6ebfdf49566bc8237
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-10-19 11:26:23 -07:00
Laxminath Kasam 1785c44c6a ASoC: wcd9335: Add support for voltage scaling feature
SIDO buck voltage can be dropped down to low voltage
when no audio usecase running. Update the  sido buck
voltage to nominal or low voltage(svs) based on CPE
and audio usecases running.

Change-Id: Ie6caff7c264fa7f169098acf4e8fe1cc60c97d22
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-10-19 11:25:45 -07:00
Vidyakumar Athota 12fb6fd9e1 ASoC: wsa881x: update register defaults in cache
WSA881x version based register default values are
updated using regmap_register_patch() API, which
will bypass the cache. Fix this by enabling cache_only
flag before updating the register reset values.

Change-Id: I5c6838d9c84f9e0233c22f638238afc5d4a8980d
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-10-19 03:35:18 -07:00
Vidyakumar Athota 056e3b7e3c ASoC: wsa881x: ocp register update during playback
During playback, read wsa881x temperature and update
ocp register based on certain temperature conditions
to avoid speaker damage.

Change-Id: I3c8dd9fdc8ef480f8997338b349f31b72c7cfa48
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-10-19 01:57:53 -07:00
Ben Romberger b2c31bf87c ASoC: msm: On set FB spkr prot check new mode.
When FB spkr. prot. calibration is set check
the mode flag received from userspace instead
of the stale mode in the local structure.

Change-Id: I4fa2074d19a1c8eb1341eaca5405d4183ea9f848
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2015-10-18 23:27:53 -07:00
Linux Build Service Account ea5277402c Merge "ASoC: wsa881x: update ocp register based on temperature" 2015-10-16 04:42:46 -07:00
Linux Build Service Account eaaa0ccb23 Merge "ASoC: msm8976: update speaker configuration based on wsa type" 2015-10-16 04:42:45 -07:00
Linux Build Service Account eaa70ebb5d Merge "ASoC: msm8976: Add ignore suspend for input and output widgets" 2015-10-16 04:42:42 -07:00
Linux Build Service Account d273a3fd0e Merge "ARM: dt: msm: add more wsa881x devices for MSM8976 targets" 2015-10-16 04:42:42 -07:00
Linux Build Service Account 6e11f4b2f8 Merge "ASoC: wcd9335: perform efuse sensing before cache sync" 2015-10-16 04:42:40 -07:00
Meng Wang 388136f587 ASoC: msm8952: use devm_regulator_get to correct regulator ref
During bootup, probe function will get called multiple times until
sound card is registered. And it calls msm8952_init_wsa_switch_supply
for each probe. If registeration fails, it'll not call
regulator_put to decrease regulator ref. In regulator consumers,
there are multiple sound-msm-vdd-wsa-switch.
Use devm_regulator_get instead of regulator_get to correct regulator
ref.

Change-Id: Ie270d235102f784241e3bf9566b811bbda22e419
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2015-10-15 00:28:33 -07:00
Linux Build Service Account 17ea8ef017 Merge "ASoC: msm: Interrupt events in compress free" 2015-10-14 15:25:23 -07:00
Banajit Goswami b98d2e9bef ASoC: wcd9335: perform efuse sensing before cache sync
The e-fuse sensing for WCD9335 codec should be done
before reg_cache_sync in ADSP SSR post reset callback.
This is to make sure that the SIDO BUCK settings are
done before the codec is completely brought out of
reset.

Change-Id: Ic391307ca26b2d9203f0a8646e17fa650540c9e5
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2015-10-14 10:27:45 -07:00
Linux Build Service Account ef5f035dc2 Merge "ASoC: msm8952-slimbus: fix null pointer dereference" 2015-10-14 06:49:00 -07:00
Vidyakumar Athota 38ef8cdc6b ASoC: wsa881x: update ocp register based on temperature
Before enabling the power amplifier during start of the playback,
read wsa temperature and update ocp register based on temperature.

Change-Id: I3fa58d73e324bab8286d558dc4634eb1e08df325
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-10-14 14:30:26 +05:30
Yeleswarapu Nagaradhesh 3777941128 ASoC: msm8976: Add ignore suspend for input and output widgets
Add ignore suspend for input and output widgets so that dapm will
not power down these widgets while they are in use and the system
is going to suspend.

Change-Id: Iec9972c9ff2c9e7d3d653e5f809d9aeaf085155b
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-10-14 01:46:08 -07:00
Yeleswarapu Nagaradhesh b3776f2f8d ASoC: msm8976: add support for dynamic wsa881x detection
Add support in machine driver to be able to parse device
tree for all possible wsa881x that are supported in the
target, find out from ALSA core about how many wsa881x out
of the list of devices passed from device tree are present
in the target and already registered with ALSA as codec,
and eventually register those wsa881x devices (which are
present) as AUX codec to be used with the sound card.

Change-Id: I69a5cf7d542178aca97eb0dd91e5b35e23467c93
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-10-14 01:44:54 -07:00
Yeleswarapu Nagaradhesh 5ca310ff90 ASoC: soc-core: export function to find codec
Drivers might need to use the ASoC core function to
find out whether a particular codec is already
registered with ALSA core or not. Export the function
so that drivers can use it outside of the file.

Change-Id: I2e4fb191afab9dccf1be3d380f54a81797b2d6e5
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-10-14 01:44:09 -07:00
Banajit Goswami 0ff6dd3c75 ASoC: wsa881x: add new operation for wsa881x enumeration
For wsa881x dynamic detection, create a new function to
handle the enumeration of a wsa881x device. Once a device
is enumerated successfully, this new function will perform
below 2 tasks on the device-
   - register device with regmap
   - register device as a codec with ALSA core.

Change-Id: I087b6869361e880814a8f11d5912bc6530b56758
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2015-10-14 01:43:15 -07:00
Ben Romberger 3740696958 ASoC: msm: Interrupt events in compress free
Interrupt any wait events during free of the compress driver
and move spinlock unlock to after the ASM client is freed.

Change-Id: Idb865ebbb47b86ac32043ba4562053d3f9795b4d
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2015-10-13 23:30:18 -07:00
Bhalchandra Gajare c64ce2fc17 ASoC: msm-cpe-lsm: Add support for openCPE
openCPE framework allows third party vendors to integrate audio/voice
processing algorithms into CPE. Add support for openCPE.

Change-Id: I8a0e00fa3dd74753834ba653b7ee3c84e72fd39e
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2015-10-14 11:34:32 +05:30
Bhalchandra Gajare 86ef8db1b1 ASoC: wcd_cpe_core: Add LSM topology support
Add LSM topology calibration blocks. Topology is sent to identify the
modules that will be invoked in CPE.

Change-Id: I62c84ca211398d8d0bde1b826286512cd2d38688
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2015-10-13 15:22:52 +05:30
Bhalchandra Gajare f557de41e5 ASoC: wcd_cpe_core: Add support for dynamic image download
For supporting multiple algorithms on CPE, the cpe image needs to be
re-downloaded based on the algorithm. Add changes to expose sysfs
interface to accept cpe firmware image name and download the image with
the name provided at run time.

Change-Id: I0dfd71c45f87b75b694e5a82d66601db11544ee4
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2015-10-13 15:22:44 +05:30
Laxminath Kasam 208a5f7d3d ASoC: msm8976: update speaker configuration based on wsa type
Speaker configuration varies based on the type of aux codec(wsa)
variant. Send speaker configuration from machine driver to wcd9335
based on aux codec variant.

Change-Id: Ib7bfee3a1692e0d33a31f3ec3a756213ac03409e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-10-13 00:06:33 -07:00
Simmi Pateriya d853ae4101 ASoC: msm8952-slimbus: fix null pointer dereference
pdata->codec is null when referenced from tx hw params
fixup. Use the correct pointer to avoid crash issue.

Change-Id: I4e34dcf569643f72b6b1d337cd6be095228731e2
CRs-fixed: 916976
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2015-10-12 20:30:22 -07:00
Linux Build Service Account e071864a56 Merge "ASoC: wsa881x: export wsa881x_get_temp API" 2015-10-12 20:09:11 -07:00
Linux Build Service Account 4bf7dd3ffc Merge "ASoC: wcd9335: Sync codec digital registers using regcache_sync_region" 2015-10-12 20:09:10 -07:00
Linux Build Service Account def46063ef Merge "ASoC: wcd: avoid registering same keys twice" 2015-10-12 20:09:10 -07:00
Linux Build Service Account 440b0b89d3 Merge "ASoC: wcd9335: Increase slimbus clock gear to reduce cold start latency" 2015-10-12 20:09:09 -07:00
Linux Build Service Account 3a79eb463d Merge "ASoC: wcd9335: Add support in codec to reduce cold start latency" 2015-10-12 20:09:08 -07:00
Sudheer Papothi 6e6220d4fe ASoC: wcd9335: Increase slimbus clock gear to reduce cold start latency
Increase slimbus clock gear during device path bringup to
reduce the latency of codec register writes. Change increases
slimbus clock gear before device path bringup and restore
back to default after device path bringup.

Change-Id: I6aae7fffb001c4b0dbf6947bb41200682965a38f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2015-10-11 11:41:03 -07:00
Sudheer Papothi ef0b37de4a ASoC: wcd9335: Add support in codec to reduce cold start latency
As soundwire is in wcd9335 codec, all soundwire register writes
should go through codec. To reduce the latency of register
writes during device path bringup, add bulk register write
function to write multiple soundwire registers in one
transaction.

Change-Id: I97055d20ef1e7cfb15b41e00183291a10af35b1f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2015-10-11 11:40:58 -07:00
Sudheer Papothi d3af5e9df1 ASoC: wcd9335: Sync codec digital registers using regcache_sync_region
Codec digital registers need to be synched once codec is
out of digital power collapse. regcache_sync_region will
sync only part of the hardware registers. Change uses
regcache_sync_region to sync codec digital registers
after codec is out of digital power collapse. This will
avoid synching of all the codec registers.

Change-Id: Ib86ff31cfab115e760cf38a2093159cd47e6a8e7
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2015-10-11 11:40:33 -07:00
Phani Kumar Uppalapati 532e1cff9a ASoC: msm: enhance slimbus_0_rx BE to support 44.1KHz sample rate
Currently slimbus_0_rx backend connecting to aif_mix_rx1 codec
DAI does not support 44.1KHz sample rates. Enhance this backend
and aif_mix_rx1 codec dai to support 44.1KHz sample rate playback.

Change-Id: I387f726eb6db11d685eb1fc4969a29dcd14bfd04
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2015-10-11 00:54:59 -07:00