Commit Graph

21252 Commits

Author SHA1 Message Date
Mark Brown
2086d07835 ASoC: tegra: Always use the generic dmaengine helper library
The usage of the dmaengine helpers is unconditional, especially when
doing compile testing.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-17 12:11:13 +01:00
Fabio Estevam
ede32d3a23 ASoC: fsl: fsl_ssi: Check the return value from clk_prepare_enable()
clk_prepare_enable() may fail, so let's check its return value and propagate it
in the case of error.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-17 11:03:54 +01:00
Fabio Estevam
b0a4747a5d ASoC: fsl: fsl_ssi: Use devm_ functions
Using devm_ functions can make the code cleaner and smaller.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-17 11:03:54 +01:00
Rongjun Ying
c6c0925ea3 ASoC: hdmi-codec: let the driver support HDMI sink
Devices like mobilephones, computers are typically used as
HDMI sources, but devices like TV, navigators will be HDMI
sinks.

for auto scenerios, In-Vehicle Infotainment(IVI) can be HDMI
sink to display movies from mobilephones.

Signed-off-by: Rongjun Ying <Rongjun.Ying@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-17 10:52:09 +01:00
Mark Brown
2fa1b9008c ASoC: tegra: Add GPIOLIB dependencies
For build coverage.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
2013-07-17 10:19:21 +01:00
Mark Brown
f9b4243fc2 ASoC: tegra: Remove unneeded mach-type.h incldues
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
2013-07-17 10:19:20 +01:00
Mark Brown
b0e0a4d6fa ASoC: omap: Enable COMPILE_TEST build for DT platforms
The DT platforms don't have any source dependency on any OMAP stuff so
allow them to be built when COMPILE_TEST is enabled.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
2013-07-17 09:33:07 +01:00
Takashi Iwai
256ca9c3ad ALSA: seq-oss: Initialize MIDI clients asynchronously
We've got bug reports that the module loading stuck on Debian system
with 3.10 kernel.  The debugging session revealed that the initial
registration of OSS sequencer clients stuck at module loading time,
which involves again with request_module() at the init phase.  This is
triggered only by special --install stuff Debian is using, but it's
still not good to have such loops.

As a workaround, call the registration part asynchronously.  This is a
better approach irrespective of the hang fix, in anyway.

Reported-and-tested-by: Philipp Matthias Hahn <pmhahn@pmhahn.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-17 09:19:24 +02:00
Shawn Guo
46a5905e1c ASoC: sgtl5000: defer the probe if clock is not found
It's not always the case that clock is already available when sgtl5000
get probed at the first time, e.g. the clock is provided by CPU DAI
which may be probed after sgtl5000.  So let's defer the probe when
devm_clk_get() call fails and give it chance to try later.

It fixes the regression on imx28 since commit 9e13f34 (ASoC: sgtl5000:
Let the codec acquire its clock).

[    1.927637] sgtl5000 0-000a: Failed to get mclock: -2
[    1.934280] sgtl5000: probe of 0-000a failed with error -2
[    1.945906] mxs-sgtl5000 sound.13: ASoC: CODEC (null) not registered
[    1.953787] mxs-sgtl5000 sound.13: snd_soc_register_card failed (-517)
[    1.960865] platform sound.13: Driver mxs-sgtl5000 requests probe deferral

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 18:52:03 +01:00
Wei Yongjun
f1269ae41f ASoC: imx-sgtl5000: fix error return code in imx_sgtl5000_probe()
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 14:29:28 +01:00
Mark Brown
7497185f8c ASoC: samsung-spdif: Convert to devm_clk_get()
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 13:59:26 +01:00
Mark Brown
a1df5c2b31 ASoC: imx: Enable COMPILE_TEST builds
Since DT based boards don't have any dependency on arch/arm enable them
if COMPILE_TEST is enabled.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
2013-07-16 13:51:04 +01:00
Mark Brown
cbaa568961 ASoC: tlv320aic3x: List tlv320aic3106 as a supported device
Currently there is no specific handling for it but the tlv320aic3106 is
supported using this driver.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 13:42:30 +01:00
Mark Brown
f2c4fa655f ASoC: tlv320aic3x: Add compatible strings for specific devices
The driver supports a range of devices but currently doesn't allow those
device names to be used for enumeration on DT. Add the currently listed
I2C IDs as compatible strings.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 13:42:30 +01:00
Jean-Francois Moine
8a537f85e9 ASoC: kirkwood-i2s: fix a compilation warning
In the function kirkwood_set_rate, when the rate cannot be satisfied
by the internal nor by an external clock, the clock source in undefined:

 warning: ‘clks_ctrl’ may be used uninitialized in this function

The ALSA subsystem should never gives such a rate because:
- the rates with the internal clock are limited to 44.1, 48 and 96 kHz
  as specified by the kirkwood_i2s_dai structure,
- the other rates are proposed in the structure kirkwood_i2s_dai_extclk
  only when the external clock is present.

In case of programming error (bad rate for internal clock and no
external clock), the function will simply cause a backtrace.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 11:14:24 +01:00
David Henningsson
e4c3bce26d ALSA: hda - Headphone mic support for an Asus/Conexant device
This Conexant codec has a single jack that can be used as either
headphone or mic (but not headset). The existing hp_mic functionality
does not apply here, because the mic and the HP are on separate pins.

Hence make a lighter version of what has been earlier done for Realtek
codecs.

BugLink: https://bugs.launchpad.net/bugs/1198030
Tested-by: Franz Hsieh <franz.hsieh@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-16 11:57:37 +02:00
Mark Brown
9e12cbd932 ASoC: kirkwood-i2s: Inline KIRKWOOD_I2S_RATES
The addition of extclk support makes this misleading as it's only the
rates used when there is no extclk so put it in the specific DAI it
applies to.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 10:56:20 +01:00
Mark Brown
6ad74047f4 ASoC: kirkwood-i2s: Remove empty remove()
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-16 10:56:19 +01:00
Aaron Plattner
d52392b1a8 ALSA: hda - Add new GPU codec ID to snd-hda
Vendor ID 0x10de0060 is used by a yet-to-be-named GPU chip.

Reviewed-by: Andy Ritger <aritger@nvidia.com>
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-16 08:14:49 +02:00
Takashi Iwai
61be2b9a18 ASoC: s6000: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Acked-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 21:25:14 +02:00
Takashi Iwai
571185717f ASoC: atmel: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Acked-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 21:25:13 +02:00
Takashi Iwai
46f6c1aaf7 ALSA: pxa2xx: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Acked-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 21:25:13 +02:00
Takashi Iwai
5be1efb4c2 ALSA: usx2y: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 21:25:13 +02:00
Takashi Iwai
9538aa46c2 ALSA: ua101: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Acked-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 21:24:57 +02:00
Chih-Chung Chang
cb6f66a2d2 ASoC: max98088 - fix element type of the register cache.
The registers of max98088 are 8 bits, not 16 bits. This bug causes the
contents of registers to be overwritten with bad values when the codec
is suspended and then resumed.

Signed-off-by: Chih-Chung Chang <chihchung@chromium.org>
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-07-15 18:18:06 +01:00
Takashi Iwai
5b9ab3f732 ALSA: 6fire: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 18:12:50 +02:00
Takashi Iwai
cc7282b8d5 ALSA: atiixp: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 18:12:49 +02:00
Takashi Iwai
60478295d6 ALSA: asihpi: Fix unlocked snd_pcm_stop() call
snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 18:12:49 +02:00
Mark Brown
4734dc96ea ASoC: kirkwood-i2s: Use devm_clk_get() for extclk
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 16:43:15 +01:00
Mark Brown
30d3924852 ASoC: kirkwood: Enable build on non-Kirkwood platforms
Improve build coverage by enabling build on other platforms if COMPILE_TEST
is enabled.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 16:43:15 +01:00
Mark Brown
c50c2f7af1 ASoC: kirkwood: Remove unused headers
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 16:43:14 +01:00
Fengguang Wu
68593c9340 ALSA: hdspm - remove unneeded semicolon
sound/pci/rme9652/hdspm.c:1110:2-3: Unneeded semicolon

Generated by: coccinelle/misc/semicolon.cocci

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-07-15 15:46:13 +02:00
Takashi Iwai
1abfeb03a9 Merge tag 'asoc-v3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v3.11

The biggest change here is the OMAP change, these are larger than I'd
have liked but make the driver actually usable - during the merge window
OMAP removed support for non-DT OMAP4 boards but in doing so removed the
method of accessing DMA channels used by the ASoC drivers rendering them
unusuable.

Otherwise nothing exciting, the symmetric rates change for WM8978 is a
fix for the information we expose to userspace.
2013-07-15 14:29:07 +02:00
Mark Brown
4824b69a92 Merge remote-tracking branch 'asoc/fix/wm8994' into asoc-linus 2013-07-15 11:13:58 +01:00
Mark Brown
1052e144cc Merge remote-tracking branch 'asoc/fix/wm8978' into asoc-linus 2013-07-15 11:13:57 +01:00
Mark Brown
b87b26ae0e Merge remote-tracking branch 'asoc/fix/sgtl5000' into asoc-linus 2013-07-15 11:13:55 +01:00
Mark Brown
441c93ed6e Merge remote-tracking branch 'asoc/fix/samsung' into asoc-linus 2013-07-15 11:13:54 +01:00
Mark Brown
39c36ad00b Merge remote-tracking branch 'asoc/fix/omap' into asoc-linus 2013-07-15 11:13:53 +01:00
Fabio Estevam
cb23e852aa ASoC: sglt5000: Provide the reg_stride field
sgtl5000 has 16-bit registers, and only even numbers are valid for its registers
addresses.

Let regmap knows about this feature by specifying the 'reg_stride' field, so
that it can access only the valid registers.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:13:37 +01:00
Mark Brown
57e265c8d7 ASoC: wm8994: Move runtime PM init to platform device init
As well as being better style this allows the device to idle when there is
no audio card instantaited which is probably what we want.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:12:57 +01:00
Wei Yongjun
e7c8c589bb ASoC: mop500: add .owner to struct snd_soc_card
Add missing .owner of struct snd_soc_card. This prevents the
module from being removed from underneath its users.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:12:24 +01:00
Wei Yongjun
3986b9829f ASoC: ttc_dkb: add .owner to struct snd_soc_card
Add missing .owner of struct snd_soc_card. This prevents the
module from being removed from underneath its users.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:11:46 +01:00
Wei Yongjun
0d6178662c ASoC: brownstone: add .owner to struct snd_soc_card
Add missing .owner of struct snd_soc_card. This prevents the
module from being removed from underneath its users.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:11:46 +01:00
Mark Brown
d57a79acc7 ASoC: pcm3008: Convert to devm_gpio_request_one()
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:11:03 +01:00
Mark Brown
33319a2fcc ASoC: pcm3008: Check for platform data
The driver will crash if none is provided.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:11:03 +01:00
Mark Brown
d7f184958e ASoC: pcm3008: Move gpio allocation to probe
This is better from a device model point of view since we don't try to
do things like instantiate the card until the required resources appear.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:11:03 +01:00
Mark Brown
b641edfbf2 ASoC: pcm3008: Remove noisy version print
The version number has never been updated and the printk isn't based on
any interaction with the device.

Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:11:03 +01:00
Nicolin Chen
b2c119b0bb ASoC: fsl: Disable SSI in trigger() if RE/TE are both cleared
The code enabled SSIEN when triggered by SNDRV_PCM_TRIGGER_START,
so move the disable code to SNDRV_PCM_TRIGGER_STOP for symmetric.

This also allows us to use the SSI driver more flexible so that
it can support some use cases like "aplay S16_LE.wav S24_LE.wav"
which would call the driver in sequence like:
 startup()->hw_params(S16_LE)->trigger(START)->tirgger(STOP)->
 hw_params(S24_LE)->trigger(START)->tirgger(STOP)->shutdown()

If we disable SSIEN in shutdown(), the second hw_params() would
bypass the sample bits setting while using symmetric_rate.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:10:37 +01:00
Markus Pargmann
9051cba110 ASoC: imx-pcm-fiq: Introduce pcm-fiq-params
Cleaner parameter passing for imx-pcm-fiq. Create a seperated fiq-params
struct to pass all arguments.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:10:36 +01:00
Markus Pargmann
c364796a47 ASoC: imx-pcm-dma: DT support
This patch removes the NO_DT flag. The pdev pointer may have a proper
of_node with the dmas property, so we can use it to request DMA
channels.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Timur Tabi <timur@tabi.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-07-15 11:10:36 +01:00