summaryrefslogtreecommitdiffstats
path: root/sound/soc/kirkwood
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-12-05 09:54:35 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-12-05 09:54:35 -0800
commit09759d1e13e06c2f6346b1b3285fbde2c1e794c6 (patch)
tree9ef0062747b7ef7e0cfdf54463013642a506affc /sound/soc/kirkwood
parentda1965d353c7266fce4fe6c658f2096c88a8bebc (diff)
parent0756f09c4946fe2d9ce2ebcb6f2e3c58830d22a3 (diff)
Merge tag 'sound-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "A usual pattern of half ASoC and half HD-audio fixes, although HD-audio fixups have more volumes, in addition to a couple of trivial fixes. Nothing to worry much is found here. For ASoC side: a few fixes for PCM rate constraints calculations, regmap byte-order fix, the rest driver specific fixes (atmel, fsl, omap, kirkwood, wm codecs). For HD-audio: Dell headset and mono out fix, ELD update in polling mode, ALC283 Chromebook fixes, a few fixes for old AD codecs and MBA2, one regression fix" * tag 'sound-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (30 commits) ALSA: hda - Fix silent output on MacBook Air 2,1 ALSA: hda - Fix missing ELD info when using jackpoll_ms parameter ALSA: hda/realtek - remove hp_automute_hook from alc283_fixup_chromebook ASoC: wm8731: fix dsp mode configuration ALSA: hda/realtek - Independent of model for HP ALSA: hda - Fix headset mic input after muted internal mic (Dell/Realtek) ALSA: hda - Use always amps for auto-mute on AD1986A codec ALSA: hda/analog - Handle inverted EAPD properly in vmaster hook ALSA: hda - Another fixup for ASUS laptop with ALC660 codec ALSA: atmel: Fix possible array overflow ALSA: hda - Fix complete_all() timing in deferred probes ALSA: hda - Fix bad EAPD setup for HP machines with AD1984A ASoC: core: fix devres parameter in devm_snd_soc_register_card() ASoC: omap: n810: Convert to clk_prepare_enable/clk_disable_unprepare ASoC: fsl: set correct platform drvdata in pcm030_fabric_probe() ASoC: fsl: imx-pcm-fiq: Remove unused 'runtime' variable ASoC: fsl: imx-pcm-fiq: remove bogus period delta calculation ALSA: hda - Fix silent output on ASUS W7J laptop ASoC: core: Use consistent byte ordering in snd_soc_bytes_get ALSA: dice: fix array limits in dice_proc_read() ...
Diffstat (limited to 'sound/soc/kirkwood')
-rw-r--r--sound/soc/kirkwood/kirkwood-i2s.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index d34d91743e3..0b18f654b41 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -33,6 +33,10 @@
SNDRV_PCM_FMTBIT_S24_LE | \
SNDRV_PCM_FMTBIT_S32_LE)
+#define KIRKWOOD_SPDIF_FORMATS \
+ (SNDRV_PCM_FMTBIT_S16_LE | \
+ SNDRV_PCM_FMTBIT_S24_LE)
+
static int kirkwood_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
unsigned int fmt)
{
@@ -244,15 +248,15 @@ static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
ctl);
}
- if (dai->id == 0)
- ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN; /* i2s */
- else
- ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN; /* spdif */
-
switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
/* configure */
ctl = priv->ctl_play;
+ if (dai->id == 0)
+ ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN; /* i2s */
+ else
+ ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN; /* spdif */
+
value = ctl & ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
writel(value, priv->io + KIRKWOOD_PLAYCTL);
@@ -449,14 +453,14 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai[2] = {
.channels_max = 2,
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
SNDRV_PCM_RATE_96000,
- .formats = KIRKWOOD_I2S_FORMATS,
+ .formats = KIRKWOOD_SPDIF_FORMATS,
},
.capture = {
.channels_min = 1,
.channels_max = 2,
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
SNDRV_PCM_RATE_96000,
- .formats = KIRKWOOD_I2S_FORMATS,
+ .formats = KIRKWOOD_SPDIF_FORMATS,
},
.ops = &kirkwood_i2s_dai_ops,
},
@@ -493,7 +497,7 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai_extclk[2] = {
.rates = SNDRV_PCM_RATE_8000_192000 |
SNDRV_PCM_RATE_CONTINUOUS |
SNDRV_PCM_RATE_KNOT,
- .formats = KIRKWOOD_I2S_FORMATS,
+ .formats = KIRKWOOD_SPDIF_FORMATS,
},
.capture = {
.channels_min = 1,
@@ -501,7 +505,7 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai_extclk[2] = {
.rates = SNDRV_PCM_RATE_8000_192000 |
SNDRV_PCM_RATE_CONTINUOUS |
SNDRV_PCM_RATE_KNOT,
- .formats = KIRKWOOD_I2S_FORMATS,
+ .formats = KIRKWOOD_SPDIF_FORMATS,
},
.ops = &kirkwood_i2s_dai_ops,
},