kirkwood-i2s.c (1c195ddb1de14ff9a6327c47f88428200f7c8d88) kirkwood-i2s.c (4f6f1478c1ada4524e9ed21190b4549233a816a3)
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

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

243 udelay(1);
244 } while (timeout--);
245
246 if ((ctl | value) & KIRKWOOD_PLAYCTL_PLAY_BUSY)
247 dev_notice(dai->dev, "timed out waiting for busy to deassert: %08x\n",
248 ctl);
249 }
250
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

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

243 udelay(1);
244 } while (timeout--);
245
246 if ((ctl | value) & KIRKWOOD_PLAYCTL_PLAY_BUSY)
247 dev_notice(dai->dev, "timed out waiting for busy to deassert: %08x\n",
248 ctl);
249 }
250
251 if (dai->id == 0)
252 ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN; /* i2s */
253 else
254 ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN; /* spdif */
255
256 switch (cmd) {
257 case SNDRV_PCM_TRIGGER_START:
258 /* configure */
259 ctl = priv->ctl_play;
251 switch (cmd) {
252 case SNDRV_PCM_TRIGGER_START:
253 /* configure */
254 ctl = priv->ctl_play;
255 if (dai->id == 0)
256 ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN; /* i2s */
257 else
258 ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN; /* spdif */
259
260 value = ctl & ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
261 writel(value, priv->io + KIRKWOOD_PLAYCTL);
262
263 /* enable interrupts */
264 value = readl(priv->io + KIRKWOOD_INT_MASK);
265 value |= KIRKWOOD_INT_CAUSE_PLAY_BYTES;
266 writel(value, priv->io + KIRKWOOD_INT_MASK);
267

--- 390 unchanged lines hidden ---
260 value = ctl & ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
261 writel(value, priv->io + KIRKWOOD_PLAYCTL);
262
263 /* enable interrupts */
264 value = readl(priv->io + KIRKWOOD_INT_MASK);
265 value |= KIRKWOOD_INT_CAUSE_PLAY_BYTES;
266 writel(value, priv->io + KIRKWOOD_INT_MASK);
267

--- 390 unchanged lines hidden ---