Commit Graph

3468 Commits

Author SHA1 Message Date
Mark Brown 8157567013 Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2013-08-22 14:28:31 +01:00
Mark Brown b8e58d4e2e Merge remote-tracking branch 'asoc/topic/bt' into asoc-next 2013-08-22 14:28:30 +01:00
Mark Brown 0b1107b29b Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next 2013-08-22 14:28:27 +01:00
Mark Brown 3e4ea1f989 Merge remote-tracking branch 'asoc/topic/ak5386' into asoc-next 2013-08-22 14:28:27 +01:00
Mark Brown e7dfdc1f1f Merge remote-tracking branch 'asoc/topic/ak4554' into asoc-next 2013-08-22 14:28:26 +01:00
Mark Brown de2e87ba76 Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next 2013-08-22 14:28:25 +01:00
Mark Brown 6234eabf84 Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next 2013-08-22 14:28:25 +01:00
Mark Brown ece59528fa Merge remote-tracking branch 'asoc/topic/ads711x' into asoc-next 2013-08-22 14:28:24 +01:00
Mark Brown a9bd18201c Merge remote-tracking branch 'asoc/topic/adav80x' into asoc-next 2013-08-22 14:28:24 +01:00
Mark Brown e303c42da9 Merge remote-tracking branch 'asoc/topic/adau1701' into asoc-next 2013-08-22 14:28:23 +01:00
Mark Brown 042c325a5a Merge remote-tracking branch 'asoc/topic/ad73311' into asoc-next 2013-08-22 14:28:23 +01:00
Mark Brown f14c6f97c2 Merge remote-tracking branch 'asoc/topic/ad1980' into asoc-next 2013-08-22 14:28:22 +01:00
Mark Brown dfd18caaf6 Merge remote-tracking branch 'asoc/topic/ac97' into asoc-next 2013-08-22 14:28:22 +01:00
Mark Brown 10c0d7a9f9 Merge remote-tracking branch 'asoc/fix/wm8960' into asoc-linus 2013-08-22 14:28:21 +01:00
Mark Brown fc60614865 ASoC: spdif: Remove duplicate const
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 12:20:53 +01:00
Mark Brown 2f6e3ba0e0 ASoC: spdif: Add stub DAPM widgets for Rx
Ensure that the driver continues to work with mandatory DAPM.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 12:20:53 +01:00
Mark Brown 5195ca4902 ASoC: bt-sco: Provide stub DAPM integration
Ensure continued operation with DAPM being mandatory.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 12:20:26 +01:00
Mark Brown b9dff9c3d2 ASoC: bt-sco: Add generic compatible string
Provide a common compatible string for device trees to list as a fallback
for simplicity. We don't currently have a binding document but let's not
fix that right now...

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 12:20:25 +01:00
Mark Brown c34e51b127 ASoC: hdmi: Provide stub DAPM integration
Ensure continued operation with DAPM being mandatory.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 12:19:02 +01:00
Mark Brown d2a369cb53 ASoC: ac97: Provide stub DAPM integration
Ensure continued operation with DAPM being mandatory.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 12:18:40 +01:00
Mark Brown c5efb38a13 ASoC: wm8997: Add inputs for noise and mic mixers
The noise and mic mixer inputs were not connected, do so.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 11:12:09 +01:00
Mark Brown 66e7aa22c7 ASoC: wm5110: Add inputs for noise and mic mixers
The noise and mic mixer inputs were not connected, do so.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 11:12:09 +01:00
Mark Brown 3efd8a6f1a ASoC: wm5102: Add inputs for noise and mic mixers
The noise and mic mixer inputs were not connected, do so.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 11:12:08 +01:00
Mark Brown 226059e1cd ASoC: wm8782: Add DAPM support
In order to make the device easier to hook up to external components in
system designs and ensure operation when DAPM support becomes mandatory
add DAPM support.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 18:39:49 +01:00
Mark Brown 72a061f763 ASoC: wm8727: Add DAPM support
In order to make the device easier to hook up to external components in
system designs and ensure operation when DAPM support becomes mandatory
add DAPM support.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 18:39:27 +01:00
Mark Brown 782fbaba36 ASoC: cs4270: Add DAPM support
This makes it possible to hook the device into a more complex board and
ensures it will continue to work with non-DAPM support removed from the
core.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 18:27:40 +01:00
Mark Brown e29deb4818 ASoC: wl1273: Add stub DAPM support
In order to ensure that the device continues to work with DAPM support
being mandatory provide stub DAPM widgets and routes.

Note that the public information on the device appears to make no
mention of the FM support the driver appears to have.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 18:27:08 +01:00
Mark Brown 4fc932c6d8 ASoC: pcm3008: Manage DAC and ADC power with DAPM
Rather than leaving the DAC and ADC active whenever the system is running
manage their power with DAPM.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 16:40:01 +01:00
Mark Brown faaf36f216 ASoC: pcm3008: Add DAPM support
Make it possible to connect external devices to the CODEC and ensure
continued operation with non-DAPM support removed from the core.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 16:40:00 +01:00
Mark Brown ea67afc3fd ASoC: pcm3008: Use gpio_set_value_cansleep()
We don't set the GPIO values from atomic context so support GPIOs that
can't be controlled from atomic context.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 16:40:00 +01:00
Mike Dyer 85fa532b6e ASoC: wm8960: Fix PLL register writes
Bit 9 of PLL2,3 and 4 is reserved as '0'. The 24bit fractional part
should be split across each register in 8bit chunks.

Signed-off-by: Mike Dyer <mike.dyer@md-soft.co.uk>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-08-18 16:30:26 +01:00
Mark Brown ac0b82b178 ASoC: si476x: Add DAPM support
This ensures the driver continues to work with DAPM mandatory and makes
it easier to connect the device up to other components in the subsystem.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Andrey Smirnov <andrew.smirnov@gmail.com>
2013-08-18 16:27:48 +01:00
Mark Brown 4a11bc2fdd ASoC: tlv320aic26: Add basic DAPM support
Provide external widgets for the CODEC to ensure the device continues to
function with DAPM mandatory and to make it easier to hook the device up
to other components.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-16 12:32:44 +01:00
Mark Brown c21bb9b1b7 ASoC: tlv320aic26: Remove noisy print
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-16 12:32:43 +01:00
Mark Brown 12201398fc ASoC: tlv320aic26: Remove direct use of internal I/O functions
Use the core to do I/O rather than directly calling the driver operations
in order to support further refactoring.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-16 12:32:43 +01:00
Mark Brown f6938bb360 Merge remote-tracking branch 'asoc/fix/sgtl5000' into asoc-linus 2013-08-15 11:37:53 +01:00
Mark Brown b9281f99e3 ASoC: pcm1681: Add DAPM support
Provide DAPM for the device, ensuring operation with DAPM required by the
core and making it easier to hook up external hardware to it.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-15 11:35:09 +01:00
Mark Brown e7a5cb4223 ASoC: pcm1792a: Add DAPM support
Provide DAPM for the device, ensuring operation with DAPM required by the
core and making it easier to hook up external hardware to it.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-15 11:33:15 +01:00
Mark Brown 5332e1d26f ASoC: pcm1792a: Remove empty capture DAI stub
These intialisations are just what will be done for static data anyway so
remove them.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-15 11:33:14 +01:00
Ma Haijun c324aac01b ASoC: wm8960: Fix ADC volume bits
Signed-off-by: Ma Haijun <mahaijuns@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-14 19:16:29 +01:00
Mark Brown 5cf9da8aac ASoC: max9877: Add basic DAPM support
This does not fully map the power control available within the device
but it provides the hooks for routing signals through the device and
allows automatic management of the device low power mode.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-13 13:40:35 +01:00
Mark Brown d76a96174b ASoC: max9877: Convert to standard CODEC driver
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-13 13:40:34 +01:00
Mark Brown 997288e382 ASoC: max9877: Convert to use regmap API
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-13 13:40:33 +01:00
Mark Brown 4601736a6f ASoC: ak4554: Add DAPM support
This makes it possible to hook the device into a more complex board and
ensures it will continue to work with non-DAPM support removed from the
core.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-13 13:38:36 +01:00
Charles Keepax 40843aea5a ASoC: wm8997: Initial CODEC driver
The wm8997 is a compact, high-performance audio hub CODEC with SLIMbus
interfacing, for smartphones, tablets and other portable audio devices
based on the Arizona platform.

This patch adds the wm8997 CODEC driver.

[Fixed some interface churn from bitrot due to the patch not going via
the MFD tree as expected -- broonie]

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-13 11:31:56 +01:00
Mark Brown 4bd9334312 Linux 3.11-rc5
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJSCDSjAAoJEHm+PkMAQRiGDXMIAI7Loae0Oqb1eoeJkvjyZsBS
 OJDeeEcn+k58VbxVHyRdc7hGo4yI4tUZm172SpnOaM8sZ/ehPU7zBrwJK2lzX334
 /jAM3uvVPfxA2nu0I4paNpkED/NQ8NRRsYE1iTE8dzHXOH6dA3mgp5qfco50rQvx
 rvseXpME4KIAJEq4jnyFZF5+nuHiPueM9JftPmSSmJJ3/KY9kY1LESovyWd7ttg1
 jYSVPFal9J0E+tl2UQY5g9H16GqhhjYn+39Iei6Q5P4bL4ZubQgTRQTN9nyDc06Z
 ezQtGoqZ8kEz/2SyRlkda6PzjSEhgXlc8mCL5J7AW+dMhTHHx2IrosjiCA80kG8=
 =c0rK
 -----END PGP SIGNATURE-----

Merge tag 'v3.11-rc5' into asoc-dapm

Linux 3.11-rc5
2013-08-13 10:19:23 +01:00
Charles Keepax e7edb2731b ASoC: arizona: Add widget<->mux route into mux route macro
The routes linking the widget and the input mux were being added
manually, rather than by the ARIZONA_MUX_ROUTES macro. This patchs adds
the routes to the macro.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-12 11:56:13 +01:00
Mark Brown dcf1439a49 ASoC: ak5386: Add DAPM support
This makes it possible to hook the device into a more complex board and
ensures it will continue to work with non-DAPM support removed from the
core.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-12 11:23:38 +01:00
Mark Brown a5db4d50fa ASoC: ak4104: Manage TXE using DAPM
Saves some code. We should also be able to manage the power up and reset
registers using DAPM but it's probably more trouble than it's worth in
mains powered systems.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-12 11:22:39 +01:00
Mark Brown 2e61926cb4 ASoC: ak4104: Add stub DAPM support
This makes it easer to integrate the device with other on-board components
and ensures correct operation following removal of support for non-DAPM
CODECs.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-12 11:22:39 +01:00
Mark Brown 9190aeb4ec ASoC: adau1701: Use gpio_set_value_cansleep()
The GPIO manipulation done by this driver is never in atomic context so
we can use gpio_set_value_cansleep() and support GPIOs that can't be set
from atomic context.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2013-08-12 11:07:47 +01:00
Mark Brown 2e7fb942a3 ASoC: cs4271: Add DAPM support
This makes it possible to hook the device into a more complex board and
ensures it will continue to work with non-DAPM support removed from the
core.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Alexander Sverdlin <subaparts@yandex.ru>
2013-08-11 18:40:53 +01:00
Mark Brown bad268f350 ASoC: cs4271: Convert to table based control init
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Alexander Sverdlin <subaparts@yandex.ru>
2013-08-11 14:04:19 +01:00
Mark Brown 439fe8a7bb ASoC: max9768: Add DAPM support
This makes it possible to hook the device into a more complex board and
ensures it will continue to work with non-DAPM support removed from the
core.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-11 13:30:17 +01:00
Mark Brown 827d22f136 ASoC: ad73311: Add DAPM support
This makes it possible to hook up other devices in boards and is required
by removal of support for non-DAPM CODECs in the core.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2013-08-08 14:24:30 +01:00
Mark Brown 16695971be ASoC: pcm1681: Staticise DAI driver
It is not exported so doesn't need to be in the global namespace and
sparse warns on this.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-08 12:35:23 +01:00
Mark Brown 45a14a8b50 ASoC: ads711x: Add DAPM support
This makes it easier to hook into boards and ensures the driver continues
to work with support for non-DAPM CODECs removed.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-07 19:18:08 +01:00
Mark Brown 9e7e474c09 ASoC: ad1980: Provide stub DAPM support
Since non-DAPM devices are not going to be supported provide DAPM input
and output widgets and hook them up to the DAIs.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2013-08-07 10:14:23 +01:00
Brian Austin 8806d96db7 ASoC: cs42l52: Add new TLV for Beep Volume
CS42L52 Beep control uses 2dB scale from -56dB

Signed-off-by: Brian Austin <brian.austin@cirrus.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-06 19:38:57 +01:00
Brian Austin e2c98a8bba ASoC: cs42l52: Reorder Min/Max and update to SX_TLV for Beep Volume
Beep Volume Min/Max was backwards.
Change to SOC_SONGLE_SX_TLV for correct volume representation

Signed-off-by: Brian Austin <brian.austin@cirrus.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@kernel.org
2013-08-06 19:38:19 +01:00
Charles Keepax c7f3843575 ASoC: wm5110: Correct input OSR bits for wm5110
The input OSR bits are specified differently for wm5110 than for current
revs of wm5102. This patch corrects support for this on wm5110.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-06 17:41:33 +01:00
Lars-Peter Clausen 0d59ff3a24 ASoC: twl4030: Remove embedded snd_soc_codec structs from private data structs
It is unused and a leftover of the pre multi-component era.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-06 17:08:24 +01:00
Lars-Peter Clausen 95ad868289 ASoC: mc13783: Remove embedded snd_soc_codec structs from private data structs
It is unused and a leftover of the pre multi-component era.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-06 12:43:54 +01:00
Lars-Peter Clausen f8f11795b9 ASoC: tlv320aic26: Fix keyclick feature
The tlv320aic26 contains a embedded snd_soc_codec struct which is referenced in
the keyclick code. That struct is never initialized though, replace the embedded
struct with a pointer and use that in the keyclick code.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-06 12:43:05 +01:00
Mark Brown ed6a277239 ASoC: wm8994: Fix class W controls
Commit 6e0650 (ASoC: wm8994: Use SOC_SINGLE_EXT() instead of open-coding
it) went too far and converted a DAPM control to use SOC_SINGLE_EXT()
which crashes.  Revert that portion of the patch.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-06 10:52:01 +01:00
Mark Brown 55af2d23c6 ASoC: pcm1792a: Fix build with !OF
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-05 18:20:53 +01:00
Mark Brown 6c3137fd01 Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-new-pcm
Trivial add/add conflicts:
	sound/soc/codecs/Kconfig
	sound/soc/codecs/Makefile
2013-08-05 18:12:39 +01:00
Michael Trimarchi 13b02fa0db ASoC: Add PCM1792A spi mode codec support
Add PCM1792A spi mode codec support. This version implements only
a subset of functionalities. Tested connect to a pandaboard ES
device and based on recently pcm1681 codec.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-05 18:01:29 +01:00
Oskar Schirmer e06e4c2d53 ASoC: sgtl5000: fix codec clock source transition to avoid clockless moment
Powering down PLL before switching to a mode that does not use it
is a bad idea. It would cause the SGTL5000 be without internal
clock supply, especially on the I2C interface, which would make
subsequent access to it fail.

Thus, in case of not using PLL any longer, first set the mode
control, then power down PLL.

Signed-off-by: Oskar Schirmer <oskar@scara.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-05 17:03:42 +01:00
Russell King 6ad709482e ASoC: spdif_transceiver: add output pin widget
CODECs without any outputs now remain powered down, which means any
paths to these codecs also remain powered down.

Add an always-enabled output pin widget to the spdif transceiver codec.
This enables DAPM to correctly identify that the spdif transceiver is
in use when playback is enabled, which will then allow DAPM to power up
any links from the CPU DAI to the S/PDIF transceiver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-05 12:32:40 +01:00
Lothar Waßmann 65f2b22676 ASoC: sgtl5000: fix buggy 'Capture Attenuate Switch' control
The SGTL5000 Capture Attenuate Switch (or "ADC Volume Range Reduction"
as it is called in the manual) is single bit only.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-01 14:48:20 +01:00
Lothar Waßmann f091f3f073 ASoC: sgtl5000: prevent playback to be muted when terminating concurrent capture
When a sound capture/playback is terminated while a playback/capture
is running, power_vag_event() will clear SGTL5000_CHIP_ANA_POWER in
the SND_SOC_DAPM_PRE_PMD event, thus muting the respective other
channel.

Don't clear SGTL5000_CHIP_ANA_POWER when both DAC and ADC are active
to prevent this.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-01 14:48:17 +01:00
Bard Liao 868ead653e ASoC: rt5640: remove unused mux
Remove unused "INL Mux" and "INR Mux".

Signed-off-by: Bard Liao <bardliao@realtek.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-01 14:45:22 +01:00
Dimitris Papastamos 92bb4c3270 ASoC: wm_adsp: Sanitize parameter passing
No need to hold on to the `codec' pointer.  We can use the `dsp'
pointer and grab all the information we need from there.  This
makes the parameters for the functions a bit more sane and idiomatic.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-01 11:58:46 +01:00
Marek Belisko 95169d080f ASoC: Add PCM1681 codec driver.
PCM1681 can be controlled via I2C, SPI or in bootstrap mode (no control mode). This code add
support only for I2C mode.

Signed-off-by: Marek Belisko <marek.belisko@streamunlimited.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-01 10:40:02 +01:00
Dimitris Papastamos d4780eec77 ASoC: wm0010: Use DMA-safe memory for SPI transfers
We should be allocating our buffers for the SPI transfers
from the DMA zone.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-01 10:01:42 +01:00
Dimitris Papastamos 4f8b19143d ASoC: wm0010: Fix resource leak
If kzalloc() fails for `img' then we are going to leak the memory
for `out'.  We are freeing the memory of all the tx/rx transfers
but the tx/rx buf pointers will be NULL if we drop out earlier.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-31 14:50:34 +01:00
Nicolin Chen db5ff9541b ASoC: spdif: Add S20_3LE and S24_LE support for dummy codec drivers
Generally, S/PDIF supports 20bit and optional 24bit samples. Thus add these
two formats for the dummy codec drivers.

If one S/PDIF controller has its own limitation, its CPU DAI driver should
set the supported format by its own circumstance, since the soc-pcm driver
will use the intersection of cpu_dai's formats and codec_dai's formats.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-31 14:27:48 +01:00
Richard Genoud 0890c2b7be ASoC: wm8731: add rates constraints
Depending on the mclk (or crystal) selected, the wm8731 codec have some
constraints on its data sampling rates:
e.g. with a 12.288MHz or 18.432MHz crystal, the authorized rates are
8KHz, 32KHz, 48KHz and 96KHz.

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-30 12:28:01 +01:00
Russell King 113591e477 ASoC: uda134x: fix codec driver by converting to DAPM
For some reason, the DAC/ADCs are not being powered up when I try and
use the UDA1341 driver; this used to work.  Looking back in the git
history, I don't see anything obvious which would cause this
regression.

However, from dumping the register writes, it seems that the codec is
powered down, and nothing calls set_bias_level to wake the codec up.

Moreover, this driver hasn't had DAPM support added to it, which
prevents platform drivers from taking advantage of DAPMs facilities.
So, let's add DAPM support to the driver.

As we move the power control for the DAC/ADC into DAPM, we no longer
need it in set_bias_level() - this function just becomes a way to
manipulate the power control and sync the register cache with the
hardware at the appropriate point.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-30 12:04:02 +01:00
Lars-Peter Clausen eee5d7f99a ASoC: dapm: Add a helper to get the CODEC for DAPM kcontrol
We use the same 3 lines to get the CODEC for a kcontrol in a quite a few places.
This patch puts them into a common helper function. Having this encapsulated in
a helper function will also make it more easier to eventually change the data
layout of the kcontrol's private data.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-29 18:40:59 +01:00
Mark Brown 60529c65ec Merge branch 'topic/core' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-dapm 2013-07-29 18:40:55 +01:00
Dimitris Papastamos 81ad93ecfd ASoC: wm_adsp: Simplify kcontrol handling
Get rid off the wm_coeff struct and the wm_coeff_add_kcontrol()
function.  We are now using the snd_soc_card_kcontrol() function to
get the kcontrol pointers.  No need to call into ALSA code to
register the kcontrols.

Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-29 15:39:11 +01:00
Lars-Peter Clausen 9b2709687a ASoC: lm4857: Convert to regmap
Use regmap for IO for the lm4857 driver instead of open-coding the IO read/write
functions.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-28 19:09:16 +01:00
Lars-Peter Clausen 07ccc0f4f1 ASoC: lm4857: Use table based setup for DAPM and controls
Let the ASoC core take care of registering the DAPM widget and routes as well as
the controls. This makes the code a bit shorter.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-28 19:09:16 +01:00
Dan Carpenter ba51cbb820 ASoC: adau1701: type bug with ADAU1707_CLKDIV_UNSET
ADAU1707_CLKDIV_UNSET is always compared against an unsigned int and
not an unsigned long.  The current tests are always false.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-26 17:02:38 +01:00
Lars-Peter Clausen 5d99d77849 ASoC: tlv320aic3x: Use snd_soc_dapm_mixer_update_power
Use snd_soc_dapm_mixer_update_power() instead of reimplementing its
functionality.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-24 14:56:20 +01:00
Mark Brown eed097bd08 Merge remote-tracking branch 'asoc/fix/sgtl5000' into asoc-linus 2013-07-23 19:17:10 +01:00
Mark Brown a67061e2a9 Merge remote-tracking branch 'asoc/fix/max98088' into asoc-linus 2013-07-23 19:17:09 +01:00
Lars-Peter Clausen 96b9bc6174 ASoC: adau1701: Add adau1702 and adau1401(a) device ids
Both the adau1702 and the adau1401(a) are register compatible to the adau1701,
so add them to adau1701 driver's device id table.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-23 18:45:40 +01:00
Lars-Peter Clausen af2d8b5d95 ASoC: Build adau1701 when SND_SOC_ALL_CODECS is selected
The adau1701 driver was removed from SND_SOC_ALL_CODECS in commit commit ee8c7e9
("ASoC: Remove adau1701 from SND_SOC_ALL_CODECS due to Sigma dependency") due
to the dependency on the SigmaDSP firmware loader which was only available on a
limited set of platforms. This was fixed quite some time ago in commit 40216ce7
("ASoC: Move SigmaDSP firmware loader to ASoC") though, so we can add the driver
back again to SND_SOC_ALL_CODECS.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-23 18:45:40 +01:00
Mark Brown da72c9619f ASoC: wm8962: Use power efficient workqueue
The accessory detect debounce work is not performance sensitive so let
the scheduler run it wherever is most efficient rather than in a per CPU
workqueue by using the system power efficient workqueue.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2013-07-22 11:10:24 +01:00
Mark Brown a06e427d08 ASoC: twl6040: Use power efficient workqueue
The accessory detect debounce work is not performance sensitive so let
the scheduler run it wherever is most efficient rather than in a per CPU
workqueue by using the system power efficient workqueue.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
2013-07-22 10:37:51 +01:00
Jingoo Han b785a492c6 ALSA: replace strict_strto*() with kstrto*()
The usage of strict_strto*() is not preferred, because
strict_strto*() is obsolete. Thus, kstrto*() should be
used.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-21 11:56:18 +02:00
Fabio Estevam 444fc4b369 ASoC: wm8962: Do not call configure_bclk() inside wm8962_set_dai_sysclk()
Currently after playing any audio file, we get the following error message:

$ aplay clarinet.wav
Playing WAVE 'clarinet.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
$ wm8962 0-001a: Unsupported sysclk ratio 544

This error message appears about 5 seconds after the audio playback has
finished.

Quoting Mark Brown [1]:

"The issue here is triggered by the machine
switching from the FLL to direct MCLK usage where the MCLK isn't
generating a useful ratio.

I suspect we should just kill the configure_bclk() in set_sysclk(), that
one isn't safe as we can't reconfigure a live SYSCLK and it's probably
the one that generates your warnings."

Confirmed that the "Unsupported sysclk ratio" error message comes from
wm8962_set_dai_sysclk(), so get rid of wm8962_configure_bclk() inside this
function.

[1] http://mailman.alsa-project.org/pipermail/alsa-devel/2013-July/064241.html

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-19 18:45:02 +01:00
Mark Brown 68defe585f ASoC: wm8994: Use power efficient workqueue
The accessory detect debounce work is not performance sensitive so let
the scheduler run it wherever is most efficient rather than in a per CPU
workqueue by using the system power efficient workqueue.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2013-07-19 12:25:28 +01:00
Mark Brown ec1d648d6c ASoC: wm8753: Use power efficient workqueue
The work used to allow the capcitors to ramp is not performance sensitive
so let  the scheduler run it wherever is most efficient rather than in a
per CPU workqueue by using the system power efficient workqueue.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2013-07-19 12:25:10 +01:00
Mark Brown 2c5920a787 ASoC: wm8350: Use power efficient workqueue
The accessory detect debounce work is not performance sensitive so let
the scheduler run it wherever is most efficient rather than in a per CPU
workqueue by using the system power efficient workqueue.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2013-07-19 12:24:30 +01:00
Mark Brown 76394509f5 ASoC: twl6040: Use power efficient workqueue
The accessory detect debounce work is not performance sensitive so let
the scheduler run it wherever is most efficient rather than in a per CPU
workqueue by using the system power efficient workqueue.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2013-07-19 12:24:17 +01:00
Mark Brown a14d982962 ASoC: sta32x: Use power efficient workqueue
None of the delayed work the driver schedules has particularly short delays
and it is not performance sensitive so let the scheduler run it wherever
is most efficient rather than in a per CPU workqueue by using the system
power efficient workqueue.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2013-07-19 12:23:59 +01:00