platform/kernel/linux-exynos.git
11 years agoALSA: hda - Haswell codec exposes device list/select info on pins
Mengdong Lin [Tue, 27 Aug 2013 01:35:41 +0000 (21:35 -0400)]
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>
11 years agoALSA: hda - add device list & select info of display pins to codec proc file
Mengdong Lin [Tue, 27 Aug 2013 01:35:31 +0000 (21:35 -0400)]
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>
11 years agoALSA: hda - add flags and routines to get devices selection info for DP1.2 MST
Mengdong Lin [Tue, 27 Aug 2013 01:35:21 +0000 (21:35 -0400)]
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>
11 years agoMerge tag 'asoc-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
Takashi Iwai [Fri, 23 Aug 2013 12:12:22 +0000 (14:12 +0200)]
Merge tag 'asoc-v3.12' of git://git./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.

11 years agoalsa/rme96: Add missing inclusion of linux/vmalloc.h
Knut Petersen [Thu, 22 Aug 2013 12:36:16 +0000 (14:36 +0200)]
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>
11 years agoMerge remote-tracking branch 'asoc/topic/wm8994' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:29:02 +0000 (14:29 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:29:02 +0000 (14:29 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8960' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:29:01 +0000 (14:29 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8904' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:29:00 +0000 (14:29 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8904' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8782' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:29:00 +0000 (14:29 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8782' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8753' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:59 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8731' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:59 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8731' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8727' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:58 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8727' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm8350' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:58 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wm0010' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:57 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/wl1273' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:57 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/wl1273' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ux500' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:56 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/uda134x' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:55 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/uda134x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/txx9' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:55 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/txx9' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/twl6040' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:54 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/twl4030' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:53 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:53 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:52 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/tegra' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:52 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/sta32x' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:51 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/sta32x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/spdif' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:50 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/spdif' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/si476x' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:50 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/sgtl5000' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:49 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/sgtl5000' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/samsung' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:49 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/s6000' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:48 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/s6000' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/rt5640' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:48 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/rcar' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:47 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/pxa' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:46 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/pxa' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/pcm3008' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:46 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/pcm3008' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/pcm1792a' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:45 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/pcm1792a' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:45 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/omap' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:44 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/omap' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/nuc900' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:44 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/nuc900' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/new-pcm' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:43 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/new-pcm' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/mxs' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:43 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/mxs' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/mc13783' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:42 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/mc13783' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/max9877' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:42 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/max9877' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/max98090' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:41 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/max9768' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:41 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/lm4857' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:40 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/lm4857' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:39 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/hdmi' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:39 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/hdmi' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/fsl' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:38 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ep93xx' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:38 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ep93xx' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/dma' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:37 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/dma' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/dapm' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:32 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/cs4271' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:32 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/cs4270' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:31 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/cs4270' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/core' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:31 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/core' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/compress' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:30 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/compress' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/bt' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:30 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/bt' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/blackfin' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:29 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/blackfin' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/au1x' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:29 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/au1x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/atmel' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:28 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/atmel' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/arizona' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:27 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/arizona' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ak5386' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:27 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ak5386' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ak4554' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:26 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ak4554' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ak4104' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:25 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/adsp' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:25 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/adsp' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ads711x' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:24 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ads711x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/adav80x' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:24 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/adav80x' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/adau1701' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:23 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/adau1701' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ad73311' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:23 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ad73311' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ad1980' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:22 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ad1980' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/topic/ac97' into asoc-next
Mark Brown [Thu, 22 Aug 2013 13:28:22 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/topic/ac97' into asoc-next

11 years agoMerge remote-tracking branch 'asoc/fix/wm8960' into asoc-linus
Mark Brown [Thu, 22 Aug 2013 13:28:21 +0000 (14:28 +0100)]
Merge remote-tracking branch 'asoc/fix/wm8960' into asoc-linus

11 years agoASoC: samsung: Fix build error with dma function rename
Tushar Behera [Thu, 22 Aug 2013 12:45:02 +0000 (18:15 +0530)]
ASoC: samsung: Fix build error with dma function rename

commit 85ff3c29d720 ("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>
11 years agoASoC: fsl: disable ssi irq for imx
Michael Grzeschik [Mon, 19 Aug 2013 15:06:01 +0000 (17:06 +0200)]
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>
11 years agoASoC: fsl-ssi: imx-pcm-fiq bugfix
Michael Grzeschik [Mon, 19 Aug 2013 15:06:00 +0000 (17:06 +0200)]
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>
11 years agoASoC: fsl-ssi: add SSIEN errata work around
Steffen Trumtrar [Mon, 19 Aug 2013 15:05:59 +0000 (17:05 +0200)]
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>
11 years agoASoC: fsl-ssi: ac97-slave support
Markus Pargmann [Mon, 19 Aug 2013 15:05:58 +0000 (17:05 +0200)]
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>
11 years agoMerge remote-tracking branch 'asoc/topic/ac97' into asoc-fsl
Mark Brown [Thu, 22 Aug 2013 10:09:03 +0000 (11:09 +0100)]
Merge remote-tracking branch 'asoc/topic/ac97' into asoc-fsl

11 years agoALSA: rme96: Check the return value of pci_enable_device() in resume callback
Takashi Iwai [Thu, 22 Aug 2013 10:02:31 +0000 (12:02 +0200)]
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>
11 years agoALSA: hda - Add workarounds for pop-noise on Chromebook with ALC283
Kailang Yang [Thu, 22 Aug 2013 08:15:24 +0000 (10:15 +0200)]
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>
11 years agoALSA: hda - Fix ALC283 headphone pop-noise better
Kailang Yang [Thu, 22 Aug 2013 08:03:50 +0000 (10:03 +0200)]
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>
11 years agoALSA: rme96: Add PM support v3
Knut Petersen [Wed, 21 Aug 2013 07:18:54 +0000 (09:18 +0200)]
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>
11 years agoASoC: fsl: Add S/PDIF CPU DAI driver
Nicolin Chen [Wed, 21 Aug 2013 03:13:16 +0000 (11:13 +0800)]
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>
11 years agoASoC: pxa: Remove duplicate inclusion of dmaengine.h
Sachin Kamat [Thu, 22 Aug 2013 08:00:15 +0000 (13:30 +0530)]
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>
11 years agoASoC: omap: simplify platform_get_resource_byname/devm_ioremap_resource
Julia Lawall [Mon, 19 Aug 2013 08:51:51 +0000 (10:51 +0200)]
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>
11 years agoASoC: fsl: fsl_ssi: Fix the order of resources removal
Fabio Estevam [Sat, 17 Aug 2013 21:13:00 +0000 (18:13 -0300)]
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>
11 years agoASoC: core: Generic ac97 link reset functions
Markus Pargmann [Mon, 19 Aug 2013 15:05:55 +0000 (17:05 +0200)]
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>
11 years agoASoC: samsung: Rename DMA platform registration functions
Mark Brown [Mon, 19 Aug 2013 21:59:05 +0000 (22:59 +0100)]
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>
11 years agoASoC: samsung: Check to see if we managed to allocate a channel
Mark Brown [Mon, 19 Aug 2013 19:33:20 +0000 (20:33 +0100)]
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>
11 years agoALSA: hdspm - Fix SNDRV_HDSPM_IOCTL_GET_LTC
Adrian Knoth [Mon, 19 Aug 2013 15:20:32 +0000 (17:20 +0200)]
ALSA: hdspm - Fix SNDRV_HDSPM_IOCTL_GET_LTC

Use struct hdspm_ltc to query the LTC, using a mixer struct is just
plain wrong.

Due to the wrong struct, this ioctl was never working, so we're free to
fix it without breaking userspace compatibility.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoALSA: hdspm - Use enums in hdspm_tco_ltc_frames()
Adrian Knoth [Mon, 19 Aug 2013 15:20:31 +0000 (17:20 +0200)]
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>
11 years agoALSA: hdspm - Fix default value in SNDRV_HDSPM_IOCTL_GET_LTC
Adrian Knoth [Mon, 19 Aug 2013 15:20:30 +0000 (17:20 +0200)]
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>
11 years agoALSA: pcm: Use snd_printd_ratelimit()
Tim Gardner [Fri, 16 Aug 2013 17:19:00 +0000 (11:19 -0600)]
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>
11 years agoALSA: pcm: Add snd_printd_ratelimit()
Tim Gardner [Fri, 16 Aug 2013 17:18:59 +0000 (11:18 -0600)]
ALSA: pcm: Add snd_printd_ratelimit()

Direct calls to printk_limit() will emit log noise even when CONFIG_SND_DEBUG is not
defined. Add a wrapper macro around printk_limit() that is conditionally defined by
CONFIG_SND_DEBUG.

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>
11 years agoALSA: hda - Try to allow haswell HDMI audio even without powerwell
David Henningsson [Mon, 19 Aug 2013 11:32:30 +0000 (13:32 +0200)]
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>
11 years agoALSA: hda - Limit internal mic boost for a few more Thinkpad machines
David Henningsson [Mon, 19 Aug 2013 10:22:33 +0000 (12:22 +0200)]
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>
11 years agoASoC: imx: Add MODULE_LICENSE to DMA drivers
Mark Brown [Fri, 16 Aug 2013 11:07:19 +0000 (12:07 +0100)]
ASoC: imx: Add MODULE_LICENSE to DMA drivers

Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Mark Brown <broonie@linaro.org>
11 years agoASoC: spdif: Remove duplicate const
Mark Brown [Mon, 19 Aug 2013 11:10:08 +0000 (12:10 +0100)]
ASoC: spdif: Remove duplicate const

Signed-off-by: Mark Brown <broonie@linaro.org>
11 years agoASoC: spdif: Add stub DAPM widgets for Rx
Mark Brown [Mon, 19 Aug 2013 11:09:39 +0000 (12:09 +0100)]
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>
11 years agoASoC: bt-sco: Provide stub DAPM integration
Mark Brown [Mon, 19 Aug 2013 11:16:19 +0000 (12:16 +0100)]
ASoC: bt-sco: Provide stub DAPM integration

Ensure continued operation with DAPM being mandatory.

Signed-off-by: Mark Brown <broonie@linaro.org>
11 years agoASoC: bt-sco: Add generic compatible string
Mark Brown [Mon, 19 Aug 2013 11:13:14 +0000 (12:13 +0100)]
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>