kirkwood-i2s.c (2fbc38219c0af91afbeb3c9d97c62e1c7c74df61) kirkwood-i2s.c (4d2097e51795b760c392d3fbc6ca6b6f77c83419)
1/*
2 * kirkwood-i2s.c
3 *
4 * (c) 2010 Arnaud Patard <apatard@mandriva.com>
5 * (c) 2010 Arnaud Patard <arnaud.patard@rtp-net.org>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the

--- 224 unchanged lines hidden (view full) ---

233
234static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
235 int cmd, struct snd_soc_dai *dai)
236{
237 struct kirkwood_dma_data *priv = snd_soc_dai_get_drvdata(dai);
238 uint32_t ctl, value;
239
240 ctl = readl(priv->io + KIRKWOOD_PLAYCTL);
1/*
2 * kirkwood-i2s.c
3 *
4 * (c) 2010 Arnaud Patard <apatard@mandriva.com>
5 * (c) 2010 Arnaud Patard <arnaud.patard@rtp-net.org>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the

--- 224 unchanged lines hidden (view full) ---

233
234static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
235 int cmd, struct snd_soc_dai *dai)
236{
237 struct kirkwood_dma_data *priv = snd_soc_dai_get_drvdata(dai);
238 uint32_t ctl, value;
239
240 ctl = readl(priv->io + KIRKWOOD_PLAYCTL);
241 if (ctl & KIRKWOOD_PLAYCTL_PAUSE) {
241 if ((ctl & KIRKWOOD_PLAYCTL_ENABLE_MASK) == 0) {
242 unsigned timeout = 5000;
243 /*
244 * The Armada510 spec says that if we enter pause mode, the
245 * busy bit must be read back as clear _twice_. Make sure
246 * we respect that otherwise we get DMA underruns.
247 */
248 do {
249 value = ctl;

--- 419 unchanged lines hidden ---
242 unsigned timeout = 5000;
243 /*
244 * The Armada510 spec says that if we enter pause mode, the
245 * busy bit must be read back as clear _twice_. Make sure
246 * we respect that otherwise we get DMA underruns.
247 */
248 do {
249 value = ctl;

--- 419 unchanged lines hidden ---