diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-12-05 09:54:35 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-12-05 09:54:35 -0800 |
commit | 09759d1e13e06c2f6346b1b3285fbde2c1e794c6 (patch) | |
tree | 9ef0062747b7ef7e0cfdf54463013642a506affc /sound/soc/kirkwood | |
parent | da1965d353c7266fce4fe6c658f2096c88a8bebc (diff) | |
parent | 0756f09c4946fe2d9ce2ebcb6f2e3c58830d22a3 (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.c | 22 |
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, }, |