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 --- |