Commit Graph

16366 Commits

Author SHA1 Message Date
Lars-Peter Clausen
148663074c ASoC: jack: Remove unnecessary call to snd_soc_dapm_new_widgets()
snd_soc_jack_add_pins() does not create any new DAPM widgets, so there is no
need to call snd_soc_dapm_new_widgets().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-27 15:37:33 +01:00
Lars-Peter Clausen
318ee162c8 ASoC: wm8904: Remove unnecessary call to snd_soc_dapm_new_widgets()
The core will call snd_soc_dapm_new_widgets() once all components of the card
have been initialized, so there is no need to do this manually in the driver.
Calling it earlier also might result in a partially instantiated system being
powered up which cause undesired side effects.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-27 15:36:27 +01:00
Lars-Peter Clausen
aac97b5fd9 ASoC: tlv320aic32x4: Convert table based control and DAPM setup
Let the core take care of instantiating the controls and DAPM widgets and
routes, 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-08-27 15:33:34 +01:00
Lars-Peter Clausen
34742cb02b ASoC: dapm: Fix marking widgets dirty when a route is added
The current calls to dapm_mark_dirty() in snd_soc_dapm_add_path() are on a path
that is only reached if the sink widget is either a mixer or a mux. Move the
calls further up so they are called for all widget types.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-27 15:32:49 +01:00
Lars-Peter Clausen
a85f9da707 ASoC: dmic: Convert table based DAPM setup
Let the core take care of instantiating the DAPM widgets and routes, 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-08-27 15:31:58 +01:00
Takashi Iwai
1c9a341bbd ALSA: hda - Simplify CONFIG_SND_HDA_I915 condition
CONFIG_SND_HDA_I915 doesn't have to be user-selectable as this is almost
mandatory when i915 driver is available.  Let's enable it always when
CONFIG_DRM_I915 is set, so that user won't be bothered by useless
questions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-27 14:49:59 +02:00
Mengdong Lin
2e59e5ab1c ALSA: hda - add device entry and inactive flag to unsolicited response
This patch adds two fields to unsolicited response, according to spec HDA040-A:
- Device Entry (bit 20:15)
- Inactive (bit 2)
and show the info in debug message.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-27 12:15:28 +02:00
Mengdong Lin
5dc989bdd9 ALSA: hda - Haswell codec exposes device list/select info on pins
This patch is only to allow codec proc file to expose devices list/select info
for Haswell codec pins.

Since Haswell Gfx driver cannot support DP1.2 MST now, so all pins' device list
is empty, meaning no pin is multi-streaming capaple.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-27 12:15:22 +02:00
Mengdong Lin
7a624ea562 ALSA: hda - add device list & select info of display pins to codec proc file
If a display codec supports multi-stream transport on the pins, the pin's
device list length and device entries will be exposed to codec proc file.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-27 12:15:17 +02:00
Mengdong Lin
f1aa068475 ALSA: hda - add flags and routines to get devices selection info for DP1.2 MST
This patch adds flags and routines to get device list & selection info on
a pin.

To support Display Port 1.2 multi-stream transport (MST) over single DP port,
a pin can support multiple devices. Please refer to HD-A spec Document Change
Notificaton HDA040-A.

A display audio codec can set flag "dp_mst" in its patch, indicating its pins
can support MST. But at runtime, a pin may not be multi-streaming capable and
report the device list is empty, depending on Gfx driver configuration.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-27 12:15:09 +02:00
Joe Perches
8e33a52fad treewide: Fix printks with 0x%#
Using 0x%# emits 0x0x.  Only one is necessary.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2013-08-27 10:49:38 +02:00
Fabio Estevam
f61df38428 ASoC: fsl_ssi: Remove unnecessary dev_set_drvdata()
Driver core clears the driver data to NULL after device_release or on probe
failure, so just remove it from here.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-26 20:41:59 +01:00
Kuninori Morimoto
53110a256a ASoC: fsi: reserve prefetch period on DMA transferring
Current FSI is supporting DMAEngine transfer,
but, it needs to use work queue.
Therefore, DMA transfer settings might be late if there is heavy task.
This patch reserves next period beforehand on DMA transfer function.
Android sound will be breaking up without this patch.

Tested-by: Tomohito Esaki <etom@igel.co.jp>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-26 13:02:36 +01:00
Fabio Estevam
6d22db43cf ASoC: fsl_spdif: Reduce the noise on comments
Remove the "====" pattern to let the comments cleaner and more uniform.

Also, do not use multi-line style for a single line comment.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-26 12:53:13 +01:00
Fabio Estevam
5af407cd36 ASoC: fsl_spdif: Remove unnecessary dev_set_drvdata()
Driver core clears the driver data to NULL after device_release or on probe
failure, so just remove it from here.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-26 12:50:42 +01:00
Mauro Carvalho Chehab
e9a7495c5b [media] sound/pci/Kconfig: select RADIO_ADAPTERS if needed
As reported by kbuild test robot <fengguang.wu@intel.com>:
	warning: (SND_ES1968_RADIO && SND_FM801_TEA575X_BOOL) selects RADIO_TEA575X which has unmet direct dependencies (MEDIA_SUPPORT && RADIO_ADAPTERS && VIDEO_V4L2)

That happens because a radio driver is selected, without selecting the
RADIO_ADAPTERS menu.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-08-24 08:17:48 -03:00
Fabio Estevam
c445be3595 ASoC: simple-card: Provide owner and MODULE_ALIAS()
Add .owner field and also MODULE_ALIAS(), so that auto module loading can work.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-23 19:04:20 +01:00
Takashi Iwai
68538bf2bc ASoC: Updates for v3.12
- DAPM is now mandatory for CODEC drivers in order to avoid the repeated
   regressions in the special cases for non-DAPM CODECs and make it
   easier to integrate with other components on boards.  All existing
   drivers have had some level of DAPM support added.
 - A lot of cleanups in DAPM plus support for maintaining controls in a
   specific state while a DAPM widget all contributed by Lars-Peter Clausen.
 - Core helpers for bitbanged AC'97 reset from Markus Pargmann.
 - New drivers and support for Analog Devices ADAU1702 and ADAU1401(a),
   Asahi Kasei Microdevices AK4554, Atmel AT91ASM9x5 and WM8904 based
   machines, Freescale S/PDIF and SSI AC'97, Renesas R-Car SoCs, Samsung
   Exynos5420 SoCs, Texas Instruments PCM1681 and PCM1792A and Wolfson
   Microelectronics WM8997.
 - Support for building drivers that can support it cross-platform for
   compile test.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJSF0rqAAoJELSic+t+oim9YK0P/0CwP7lAjL87EF+dUKW51raB
 7K8xtOgObec1+Fnc1FEbN6us1hXRkjZJMJyRqa3DO5EaNM5TUoxUa/+MNsKmyGXs
 UhoW7J2TUizxgStxszXdxLEZG5oErxwCtJR3xlIkAq4kcnUI0LwRtGctmguZH74a
 UFxd34tcq8LxytvBp1HaNgaG1OQqIqYUNHYXKCwZZMJRxk8TQU9NfAzlCOtWfPWp
 jjdsBkX6bypWzSV/0P8rdSvjhHlJ1vBw3XTD9jD1/EuC5J7qqKQvwo5Oid98QHiv
 /guV0zx6EPdW5IgyGVvlyc4e5zLrtrckj05Kjyy426mZUpLmGoQCPj+ZAZA+jdqo
 qX3M9lXdisx4FI1Ke+y00G64q9fOuNEyjHKnoMPbZXC7zBTLPC8znncM6Xk5MOx/
 Y+fSChecYzkCrBJqHZGUcMdl0/xL1cRrH6BP2I5ISn5ruEjmTuj3dD0JTUVRi1HM
 KGrLP6TnuY+yBMhoqbGsH7YtNN5NDbqnJrUXQy82GGHH++LlHs/0ljDdOCuwX774
 qu1PsyTwrBvCU9erJS4yTG1KIiFFLTn+exPvUOyjaTFVbs8PoX2NOC4/Ihqj+dvU
 UDj/Lh+/zF2BzrkxN65BwuXULElxjtoFvleWLzt7V8qOCb5LOzBVW8a7f5HQzfU6
 LsEXDtB4VkjGjOGAAsII
 =qzif
 -----END PGP SIGNATURE-----

Merge tag 'asoc-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next

ASoC: Updates for v3.12

- DAPM is now mandatory for CODEC drivers in order to avoid the repeated
  regressions in the special cases for non-DAPM CODECs and make it
  easier to integrate with other components on boards.  All existing
  drivers have had some level of DAPM support added.
- A lot of cleanups in DAPM plus support for maintaining controls in a
  specific state while a DAPM widget all contributed by Lars-Peter Clausen.
- Core helpers for bitbanged AC'97 reset from Markus Pargmann.
- New drivers and support for Analog Devices ADAU1702 and ADAU1401(a),
  Asahi Kasei Microdevices AK4554, Atmel AT91ASM9x5 and WM8904 based
  machines, Freescale S/PDIF and SSI AC'97, Renesas R-Car SoCs, Samsung
  Exynos5420 SoCs, Texas Instruments PCM1681 and PCM1792A and Wolfson
  Microelectronics WM8997.
- Support for building drivers that can support it cross-platform for
  compile test.
2013-08-23 14:12:22 +02:00
Wolfram Sang
687b81d083 i2c: move OF helpers into the core
I2C of helpers used to live in of_i2c.c but experience (from SPI) shows
that it is much cleaner to have this in the core. This also removes a
circular dependency between the helpers and the core, and so we can
finally register child nodes in the core instead of doing this manually
in each driver. So, fix the drivers and documentation, too.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2013-08-23 10:22:20 +02:00
Knut Petersen
a8cc209997 alsa/rme96: Add missing inclusion of linux/vmalloc.h
Signed-off-by: Knut Petersen <Knut_Petersen@t-online.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-22 23:24:00 +02:00
Takashi Iwai
2ca320e294 ALSA: hda - Fix NULL dereference with CONFIG_SND_DYNAMIC_MINORS=n
Without the dynamic minor assignment, HDMI codec may have less PCM
instances than the number of pins, which eventually leads to Oops.

Reported-by: Stratos Karafotis <stratosk@semaphore.gr>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-22 23:22:39 +02:00
Jean-Francois Moine
eb63231830 ASoc: kirkwood: add DT support to the mvebu audio subsystem
This patch adds DT support to the audio subsystem of the mvebu family
(Kirkwood, Dove, Armada 370).

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-22 19:58:14 +01:00
Mark Brown
43bcb402f8 Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next 2013-08-22 14:29:02 +01:00
Mark Brown
7254a2212f Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next 2013-08-22 14:29:02 +01:00
Mark Brown
5f081e1ebb Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next 2013-08-22 14:29:01 +01:00
Mark Brown
16f135f08f Merge remote-tracking branch 'asoc/topic/wm8904' into asoc-next 2013-08-22 14:29:00 +01:00
Mark Brown
1179ace13e Merge remote-tracking branch 'asoc/topic/wm8782' into asoc-next 2013-08-22 14:29:00 +01:00
Mark Brown
a2e4b255c0 Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next 2013-08-22 14:28:59 +01:00
Mark Brown
0b05a05def Merge remote-tracking branch 'asoc/topic/wm8731' into asoc-next 2013-08-22 14:28:59 +01:00
Mark Brown
ab4f0935a8 Merge remote-tracking branch 'asoc/topic/wm8727' into asoc-next 2013-08-22 14:28:58 +01:00
Mark Brown
2cb852b52d Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next 2013-08-22 14:28:58 +01:00
Mark Brown
662295940b Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next 2013-08-22 14:28:57 +01:00
Mark Brown
1518eb0abc Merge remote-tracking branch 'asoc/topic/wl1273' into asoc-next 2013-08-22 14:28:57 +01:00
Mark Brown
136823384f Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next 2013-08-22 14:28:56 +01:00
Mark Brown
ac1cbbaa75 Merge remote-tracking branch 'asoc/topic/uda134x' into asoc-next 2013-08-22 14:28:55 +01:00
Mark Brown
dc52399bdf Merge remote-tracking branch 'asoc/topic/txx9' into asoc-next 2013-08-22 14:28:55 +01:00
Mark Brown
b7e8bbf29d Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-next 2013-08-22 14:28:54 +01:00
Mark Brown
3efdb7f685 Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-next 2013-08-22 14:28:53 +01:00
Mark Brown
f9061f2fc1 Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next 2013-08-22 14:28:53 +01:00
Mark Brown
2291d26914 Merge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-next 2013-08-22 14:28:52 +01:00
Mark Brown
840f0e4378 Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next 2013-08-22 14:28:52 +01:00
Mark Brown
049d41409d Merge remote-tracking branch 'asoc/topic/sta32x' into asoc-next 2013-08-22 14:28:51 +01:00
Mark Brown
8ef2292edb Merge remote-tracking branch 'asoc/topic/spdif' into asoc-next 2013-08-22 14:28:50 +01:00
Mark Brown
3090186057 Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next 2013-08-22 14:28:50 +01:00
Mark Brown
d6abe0d5e7 Merge remote-tracking branch 'asoc/topic/sgtl5000' into asoc-next 2013-08-22 14:28:49 +01:00
Mark Brown
c41788c091 Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next 2013-08-22 14:28:49 +01:00
Mark Brown
3f151cbf76 Merge remote-tracking branch 'asoc/topic/s6000' into asoc-next 2013-08-22 14:28:48 +01:00
Mark Brown
79916433f8 Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-next 2013-08-22 14:28:48 +01:00
Mark Brown
b008387ab5 Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next 2013-08-22 14:28:47 +01:00
Mark Brown
5388d48047 Merge remote-tracking branch 'asoc/topic/pxa' into asoc-next 2013-08-22 14:28:46 +01:00
Mark Brown
8a8b0e874a Merge remote-tracking branch 'asoc/topic/pcm3008' into asoc-next 2013-08-22 14:28:46 +01:00
Mark Brown
9e4fbee946 Merge remote-tracking branch 'asoc/topic/pcm1792a' into asoc-next 2013-08-22 14:28:45 +01:00
Mark Brown
fc30b93f83 Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next 2013-08-22 14:28:45 +01:00
Mark Brown
fe2a1e53be Merge remote-tracking branch 'asoc/topic/omap' into asoc-next 2013-08-22 14:28:44 +01:00
Mark Brown
49ffa3b1b2 Merge remote-tracking branch 'asoc/topic/nuc900' into asoc-next 2013-08-22 14:28:44 +01:00
Mark Brown
c8a538417e Merge remote-tracking branch 'asoc/topic/new-pcm' into asoc-next 2013-08-22 14:28:43 +01:00
Mark Brown
97473630c7 Merge remote-tracking branch 'asoc/topic/mxs' into asoc-next 2013-08-22 14:28:43 +01:00
Mark Brown
0995df3b63 Merge remote-tracking branch 'asoc/topic/mc13783' into asoc-next 2013-08-22 14:28:42 +01:00
Mark Brown
6037fcad8e Merge remote-tracking branch 'asoc/topic/max9877' into asoc-next 2013-08-22 14:28:42 +01:00
Mark Brown
588701efbd Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next 2013-08-22 14:28:41 +01:00
Mark Brown
ffdcb88b80 Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next 2013-08-22 14:28:41 +01:00
Mark Brown
a065050aa2 Merge remote-tracking branch 'asoc/topic/lm4857' into asoc-next 2013-08-22 14:28:40 +01:00
Mark Brown
54c1e27d8a Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next 2013-08-22 14:28:39 +01:00
Mark Brown
e6ddd8616c Merge remote-tracking branch 'asoc/topic/hdmi' into asoc-next 2013-08-22 14:28:39 +01:00
Mark Brown
5bf83bf8f1 Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next 2013-08-22 14:28:38 +01:00
Mark Brown
aef60a5029 Merge remote-tracking branch 'asoc/topic/ep93xx' into asoc-next 2013-08-22 14:28:38 +01:00
Mark Brown
7fc7d82fde Merge remote-tracking branch 'asoc/topic/dma' into asoc-next 2013-08-22 14:28:37 +01:00
Mark Brown
436f3562bb Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next 2013-08-22 14:28:32 +01:00
Mark Brown
7c24d7d67b Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next 2013-08-22 14:28:32 +01:00
Mark Brown
ab8a4364ec Merge remote-tracking branch 'asoc/topic/cs4270' into asoc-next 2013-08-22 14:28:31 +01:00
Mark Brown
8157567013 Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2013-08-22 14:28:31 +01:00
Mark Brown
e7ac4fb607 Merge remote-tracking branch 'asoc/topic/compress' into asoc-next 2013-08-22 14:28:30 +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
c4b481f493 Merge remote-tracking branch 'asoc/topic/blackfin' into asoc-next 2013-08-22 14:28:29 +01:00
Mark Brown
a04a2aca4c Merge remote-tracking branch 'asoc/topic/au1x' into asoc-next 2013-08-22 14:28:29 +01:00
Mark Brown
04877397af Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next 2013-08-22 14:28:28 +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
Tushar Behera
06b10ff913 ASoC: samsung: Fix build error with dma function rename
commit 85ff3c29d7 ("ASoC: samsung: Rename DMA platform registration
functions") renames the DMA registration functions. Fix the places where
it was left out.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-22 14:28:00 +01:00
Michael Grzeschik
f037708654 ASoC: fsl: disable ssi irq for imx
We have to disable the ssi irq, as it is not safe for all platforms to
write back into the status register. It also runs into non-linefetch
aborts.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-22 11:11:20 +01:00
Michael Grzeschik
9b443e3d89 ASoC: fsl-ssi: imx-pcm-fiq bugfix
imx-pcm-fiq is checking for TE RE bits, so enable them only if
necessary.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-22 11:10:25 +01:00
Steffen Trumtrar
f8fdf5375e ASoC: fsl-ssi: add SSIEN errata work around
The chip errata for the i.MX35, Rev.2 has the following errata:

ENGcm06222: SSI:Transmission does not take place in bit length early frame sync
	    configuration

The workaround states, that TX_EN and SSI_EN bits should be set in the same
register write. As the next errata in the document (ENGcm06532) says to always
write RX_EN and TX_EN in the same register write in network mode.

Therefore include the whole write to
	CCSR_SSI_SCR_TE and CCSR_SSI_SCR_RE
into the write to
	CCSR_SSI_SCR_SSIEN

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-22 11:09:52 +01:00
Markus Pargmann
cd7f0295aa ASoC: fsl-ssi: ac97-slave support
This patch adds ac97-slave support.

For ac97, the registers have to be setup earlier than for other ssi
modes because there is some communication with the external device
before streaming. So this patch introduces a fsl_ssi_setup function to
setup the registers for different ssi operation modes seperately.

This patch was tested with imx27-pca100.

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-08-22 11:09:10 +01:00
Mark Brown
64393c6e64 Merge remote-tracking branch 'asoc/topic/ac97' into asoc-fsl 2013-08-22 11:09:03 +01:00
Takashi Iwai
e58a244ff9 ALSA: rme96: Check the return value of pci_enable_device() in resume callback
Fixing warning message:
  sound/pci/rme96.c: In function ‘snd_rme96_resume’:
  sound/pci/rme96.c:2418:19: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result [-Wunused-result]

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-22 12:04:47 +02:00
Kailang Yang
cd217a6395 ALSA: hda - Add workarounds for pop-noise on Chromebook with ALC283
The headphone automute on this machine triggers annoying pop noises.
It seems that only the first DAC can be used, the secondary DAC always
results in this problem.  This patch disables the secondary DAC with
a few additional workarounds.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-22 11:55:33 +02:00
Kailang Yang
2af02be71a ALSA: hda - Fix ALC283 headphone pop-noise better
Fixed ALC283 D3 to D0 and D0 to D3 Headphone pop noise.
The previous fix [c5177c86: ALSA: hda - Fix the noise after suspend on
ALC283 codec] doesn't work sufficiently for some laptops.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-22 11:54:58 +02:00
Knut Petersen
528ba522e1 ALSA: rme96: Add PM support v3
Without proper power management handling, the first use
of a Digi96/8 anytime after a suspend / resume cycle will
start playback with distortions.

v3: Abort if vmalloc() of suspend buffers fail, but do not
leak memory in that case.

[fixed wrong memory leak fix again -- tiwai]

Signed-off-by: Knut Petersen <Knut_Petersen@t-online.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-22 11:54:57 +02:00
Nicolin Chen
a2388a498a ASoC: fsl: Add S/PDIF CPU DAI driver
This patch implements a device-tree-only CPU DAI driver for Freescale
S/PDIF controller that supports stereo playback and record feature.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-22 10:45:22 +01:00
Sachin Kamat
a1ce31388d ASoC: pxa: Remove duplicate inclusion of dmaengine.h
dmaengine.h header file was included twice.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-22 10:43:49 +01:00
Julia Lawall
673c24e957 ASoC: omap: simplify platform_get_resource_byname/devm_ioremap_resource
Remove unneeded error handling on the result of a call to
platform_get_resource_byname when the value is passed to devm_ioremap_resource.

In the case of omap-dmic.c, the error-handling code of
devm_ioremap_resource is also corrected to include releasing the clock.

A simplified version of the semantic patch that makes this change is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression pdev,res,e,e1;
expression ret != 0;
identifier l;
@@

  res = platform_get_resource_byname(...);
- if (res == NULL) { ... \(goto l;\|return ret;\) }
  e = devm_ioremap_resource(e1, res);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-20 11:50:58 +01:00
Fabio Estevam
0783e64898 ASoC: fsl: fsl_ssi: Fix the order of resources removal
In fsl_ssi_remove() we need to remove the resources in the opposite order that
they were acquired in probe.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-20 11:47:04 +01:00
Markus Pargmann
741a509f34 ASoC: core: Generic ac97 link reset functions
This patch adds generic ac97 reset functions using pincontrol and gpio
parsed from devicetree.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-20 11:02:00 +01:00
Mark Brown
85ff3c29d7 ASoC: samsung: Rename DMA platform registration functions
The current naming with a simple asoc_ prefix is too generic for use in
multiplatform kernels.

Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Sangbeom Kim <sbkim73@samsung.com>
2013-08-20 10:36:33 +01:00
Mark Brown
37e6071787 ASoC: samsung: Check to see if we managed to allocate a channel
Signed-off-by: Mark Brown <broonie@linaro.org>
Acked-by: Sangbeom Kim <sbkim73@samsung.com>
2013-08-20 10:36:00 +01:00
Adrian Knoth
1568b88022 ALSA: hdspm - Use enums in hdspm_tco_ltc_frames()
This patch doesn't change functionality, it only improves readability
and fixes a copy&paste error in a comment.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-19 20:09:03 +02:00
Adrian Knoth
17d2f00836 ALSA: hdspm - Fix default value in SNDRV_HDSPM_IOCTL_GET_LTC
Use enum hdspm_ltc_format's fps_30 (corresponds to 4) instead of 30,
Other case branches return 1, 2 or 3 respectively, so 30 obviously is
wrong.

Since SNDRV_HDSPM_IOCTL_GET_LTC had never been working due to a
copy&paste error in hdspm.h, this change doesn't break userspace.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-19 20:08:57 +02:00
Takashi Iwai
d3d3835ce9 ALSA: hda - Add inverted digital mic fixup for Acer Aspire One
Yet another entry, just use the existing fixup for this machine, too.

Reported-by: "Nathanael D. Noblet" <nathanael@gnat.ca>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-19 20:07:28 +02:00
Tim Gardner
74d779ab7c ALSA: pcm: Use snd_printd_ratelimit()
The use of snd_printd_ratelimit() supresses superfluous output from
printk_ratelimit() when CONFIG_SND_DEBUG is not defined. For example,

[   43.753692] snd_pcm_update_hw_ptr0: 26 callbacks suppressed
[   48.822131] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
[   53.894953] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
[   58.997761] snd_pcm_update_hw_ptr0: 25 callbacks suppressed
[   64.100952] snd_pcm_update_hw_ptr0: 25 callbacks suppressed

fills the log even when no debug output is actually produced.

Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Yacine Belkadi <yacine.belkadi.1@gmail.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-19 15:48:48 +02:00
David Henningsson
c841ad2a9b ALSA: hda - Try to allow haswell HDMI audio even without powerwell
If compiled without CONFIG_SND_HDA_I915, the audio driver cannot
request power well. However, if the power well is on for other
reasons, maybe audio can still work. Therefore, do not skip the
card completely if compiled without CONFIG_SND_HDA_I915.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-19 15:46:17 +02:00
David Henningsson
cd5302c0d4 ALSA: hda - Limit internal mic boost for a few more Thinkpad machines
The higher mic boosts (on internal mic) are so noisy they're unusable
in practice.

BugLink: https://bugs.launchpad.net/bugs/1213820
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-19 15:45:51 +02:00
Mark Brown
3c1c32d376 ASoC: imx: Add MODULE_LICENSE to DMA drivers
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-19 14:31:02 +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
Fabio Estevam
70a39b930f ASoC: fsl: Drop SND_SOC_FSL_UTILS from i.mx machine code
SND_SOC_FSL_UTILS is only used by PowerPC machines, so let's drop it in the
i.mx case.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-18 16:28:47 +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
Ondrej Zary
338c658a64 [media] tea575x: Move from sound to media
Move tea575x from sound/i2c/other to drivers/media/radio
Includes Kconfig changes by Hans Verkuil.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-08-18 08:09:59 -03:00
Ondrej Zary
59b564599b [media] tea575x: Move header from sound to media
Move include/sound/tea575x-tuner.h to include/media/tea575x.h and update files that include it.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-08-18 08:08:05 -03:00
David Henningsson
aaedfb4761 ALSA: hda - Fix the order of a quirk table (janitorial)
This just cleans up the table, no functional changes.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-16 14:50:00 +02:00
David Henningsson
a4a9e08267 ALSA: hda - Fix internal mic boost on three Thinkpad machines
The internal mic boost is so noisy on boosts 2 and 3 so they are
unusable in practice.

BugLink: https://bugs.launchpad.net/bugs/1213055
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-16 14:49:50 +02: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
Markus Pargmann
74b77b1510 ASoC: imx-audmux: Move definitions to dt-bindings
Move imx-audmux macro definitions to include/dt-bindings, so they can be
used for devicetree.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-16 11:05:17 +01:00
Takashi Iwai
1801928e0f ALSA: hda - Add a fixup for Gateway LT27
Gateway LT27 needs a fixup for the inverted digital mic.

Reported-by: "Nathanael D. Noblet" <nathanael@gnat.ca>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-16 08:17:05 +02:00
Takashi Iwai
f85a6597a6 ASoC: Fixes for v3.11
A few driver specific fixes here plus one core fix for a memory
 corruption issue in DAPM initialisation which could lead to crashes.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDLDiAAoJELSic+t+oim9K0UP/3JXJsprPlUQ7r4OxoX/eYcq
 AMH3n84uTY1JqP2crTc8FwVtHyqxyj3nnhyPDZYtk9bfuAVpVohdSTuD8Ai+Cv8g
 R46cGqvYXnURl0K8lKlq9zaDXNca0ijbmj0ljQg+gON/Cl8HLDPZ94GgwbzyrBU4
 boGgam7WRJVhAl4Mt6S5wq6HoG6G+StJtjL7/P9LkQGx8USl8/TUZwJw43NnEmNP
 qJRwjY5Zk0jJHRzKFzqTtEmNcy6/zugjK5K6sFLqEwUxmoW4CeSD6eQ21GduQ2Gt
 w1dImWgBO3h0+BLGxy2ukTuTppyfUscliM6ohnZNdWoK5dlt55FXraS9ljQSgsEZ
 xQoXe3yMx1oq/kJriuKmDLD5LtLnidsuhsSEeSjNoq4c6Jt9hEkncYWMEIm2LTpT
 t+UxwqDtw4ZCVAHSX18hPsGq+QG2skxEca/JZ6T31CpmAf1lNA2ddH82XkQB9atK
 REz8+Nt+agBDEuitSmdz5mRuoDmngUm8SSrv5HImtvdVWMr52BKUtzUkjPvoHy/4
 1geIRond5ZLmOxZeo4LTEKC1FIQ9LVKmAoOyJehSAHWno8nQ6jG0gxX73eWCaAg1
 ImxyM2NB4hEm/nQ6r9rddhsrU8YTOrXRcQDw0YhwWMRlIu4KBPSaDgTOZCavPkHO
 iI+8rNQrgOQj/hwcW8IV
 =WWSS
 -----END PGP SIGNATURE-----

Merge tag 'asoc-v3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v3.11

A few driver specific fixes here plus one core fix for a memory
corruption issue in DAPM initialisation which could lead to crashes.
2013-08-15 20:43:46 +02:00
Mark Brown
2aca78915e Merge branch 'topic/dma' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-omap 2013-08-15 18:30:29 +01:00
Daniel Mack
903eb3187e ALSA: core: allow SND_DMAENGINE_PCM use from modules
When users of SND_DMAENGINE_PCM are built as module, the config symbol
SND_DMAENGINE_PCM must be tristate, otherwise the linker will fail.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-15 18:28:42 +01:00
Mark Brown
44ffb69ec6 Merge remote-tracking branch 'asoc/fix/tegra' into asoc-linus 2013-08-15 11:37:54 +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
14388a6934 Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus 2013-08-15 11:37:53 +01:00
Mark Brown
c200d88816 Merge remote-tracking branch 'asoc/fix/cs42l52' into asoc-linus 2013-08-15 11:37:52 +01:00
Mark Brown
743c5bb898 Merge branch 'topic/dma' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-omap
Conflicts:
	sound/soc/omap/Kconfig
2013-08-15 11:37:38 +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