Symbol: psc_dma
sound/soc/fsl/mpc5200_dma.c
114
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/fsl/mpc5200_dma.c
116
struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma);
sound/soc/fsl/mpc5200_dma.c
117
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
sound/soc/fsl/mpc5200_dma.c
124
dev_dbg(psc_dma->dev, "START: stream=%i fbits=%u ps=%u #p=%u\n",
sound/soc/fsl/mpc5200_dma.c
138
spin_lock_irqsave(&psc_dma->lock, flags);
sound/soc/fsl/mpc5200_dma.c
150
spin_unlock_irqrestore(&psc_dma->lock, flags);
sound/soc/fsl/mpc5200_dma.c
157
dev_dbg(psc_dma->dev, "STOP: stream=%i periods_count=%i\n",
sound/soc/fsl/mpc5200_dma.c
161
spin_lock_irqsave(&psc_dma->lock, flags);
sound/soc/fsl/mpc5200_dma.c
167
spin_unlock_irqrestore(&psc_dma->lock, flags);
sound/soc/fsl/mpc5200_dma.c
172
dev_dbg(psc_dma->dev, "unhandled trigger: stream=%i cmd=%i\n",
sound/soc/fsl/mpc5200_dma.c
179
if (psc_dma->playback.active)
sound/soc/fsl/mpc5200_dma.c
181
if (psc_dma->capture.active)
sound/soc/fsl/mpc5200_dma.c
183
out_be16(&regs->isr_imr.imr, psc_dma->imr | imr);
sound/soc/fsl/mpc5200_dma.c
216
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/fsl/mpc5200_dma.c
220
dev_dbg(psc_dma->dev, "psc_dma_open(substream=%p)\n", substream);
sound/soc/fsl/mpc5200_dma.c
223
s = &psc_dma->capture;
sound/soc/fsl/mpc5200_dma.c
225
s = &psc_dma->playback;
sound/soc/fsl/mpc5200_dma.c
244
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/fsl/mpc5200_dma.c
247
dev_dbg(psc_dma->dev, "psc_dma_close(substream=%p)\n", substream);
sound/soc/fsl/mpc5200_dma.c
250
s = &psc_dma->capture;
sound/soc/fsl/mpc5200_dma.c
252
s = &psc_dma->playback;
sound/soc/fsl/mpc5200_dma.c
254
if (!psc_dma->playback.active &&
sound/soc/fsl/mpc5200_dma.c
255
!psc_dma->capture.active) {
sound/soc/fsl/mpc5200_dma.c
258
out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr);
sound/soc/fsl/mpc5200_dma.c
259
out_8(&psc_dma->psc_regs->command, 4 << 4); /* reset error */
sound/soc/fsl/mpc5200_dma.c
270
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/fsl/mpc5200_dma.c
275
s = &psc_dma->capture;
sound/soc/fsl/mpc5200_dma.c
277
s = &psc_dma->playback;
sound/soc/fsl/mpc5200_dma.c
316
struct psc_dma *psc_dma;
sound/soc/fsl/mpc5200_dma.c
32
struct psc_dma *psc_dma = _psc_dma;
sound/soc/fsl/mpc5200_dma.c
33
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
sound/soc/fsl/mpc5200_dma.c
336
psc_dma = kzalloc_obj(*psc_dma);
sound/soc/fsl/mpc5200_dma.c
337
if (!psc_dma) {
sound/soc/fsl/mpc5200_dma.c
349
spin_lock_init(&psc_dma->lock);
sound/soc/fsl/mpc5200_dma.c
350
mutex_init(&psc_dma->mutex);
sound/soc/fsl/mpc5200_dma.c
351
psc_dma->id = be32_to_cpu(*prop);
sound/soc/fsl/mpc5200_dma.c
352
psc_dma->irq = irq;
sound/soc/fsl/mpc5200_dma.c
353
psc_dma->psc_regs = regs;
sound/soc/fsl/mpc5200_dma.c
354
psc_dma->fifo_regs = regs + sizeof *psc_dma->psc_regs;
sound/soc/fsl/mpc5200_dma.c
355
psc_dma->dev = &op->dev;
sound/soc/fsl/mpc5200_dma.c
356
psc_dma->playback.psc_dma = psc_dma;
sound/soc/fsl/mpc5200_dma.c
357
psc_dma->capture.psc_dma = psc_dma;
sound/soc/fsl/mpc5200_dma.c
358
snprintf(psc_dma->name, sizeof(psc_dma->name), "PSC%d", psc_dma->id);
sound/soc/fsl/mpc5200_dma.c
363
psc_dma->capture.bcom_task =
sound/soc/fsl/mpc5200_dma.c
364
bcom_psc_gen_bd_rx_init(psc_dma->id, 10, fifo, 512);
sound/soc/fsl/mpc5200_dma.c
365
psc_dma->playback.bcom_task =
sound/soc/fsl/mpc5200_dma.c
366
bcom_psc_gen_bd_tx_init(psc_dma->id, 10, fifo);
sound/soc/fsl/mpc5200_dma.c
367
if (!psc_dma->capture.bcom_task ||
sound/soc/fsl/mpc5200_dma.c
368
!psc_dma->playback.bcom_task) {
sound/soc/fsl/mpc5200_dma.c
375
out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr);
sound/soc/fsl/mpc5200_dma.c
377
out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_RST_RX);
sound/soc/fsl/mpc5200_dma.c
379
out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_RST_TX);
sound/soc/fsl/mpc5200_dma.c
381
out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_RST_ERR_STAT);
sound/soc/fsl/mpc5200_dma.c
383
out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_SEL_MODE_REG_1);
sound/soc/fsl/mpc5200_dma.c
389
out_8(&psc_dma->psc_regs->mode, 0);
sound/soc/fsl/mpc5200_dma.c
39
if (psc_dma->playback.active && (isr & MPC52xx_PSC_IMR_TXEMP))
sound/soc/fsl/mpc5200_dma.c
390
out_8(&psc_dma->psc_regs->mode, 0);
sound/soc/fsl/mpc5200_dma.c
393
out_be16(&psc_dma->fifo_regs->rfalarm, 0x100);
sound/soc/fsl/mpc5200_dma.c
394
out_8(&psc_dma->fifo_regs->rfcntl, 0x4);
sound/soc/fsl/mpc5200_dma.c
395
out_be16(&psc_dma->fifo_regs->tfalarm, 0x100);
sound/soc/fsl/mpc5200_dma.c
396
out_8(&psc_dma->fifo_regs->tfcntl, 0x7);
sound/soc/fsl/mpc5200_dma.c
399
psc_dma->playback.irq =
sound/soc/fsl/mpc5200_dma.c
40
psc_dma->stats.underrun_count++;
sound/soc/fsl/mpc5200_dma.c
400
bcom_get_task_irq(psc_dma->playback.bcom_task);
sound/soc/fsl/mpc5200_dma.c
401
psc_dma->capture.irq =
sound/soc/fsl/mpc5200_dma.c
402
bcom_get_task_irq(psc_dma->capture.bcom_task);
sound/soc/fsl/mpc5200_dma.c
404
rc = request_irq(psc_dma->irq, &psc_dma_status_irq, IRQF_SHARED,
sound/soc/fsl/mpc5200_dma.c
405
"psc-dma-status", psc_dma);
sound/soc/fsl/mpc5200_dma.c
406
rc |= request_irq(psc_dma->capture.irq, &psc_dma_bcom_irq, IRQF_SHARED,
sound/soc/fsl/mpc5200_dma.c
407
"psc-dma-capture", &psc_dma->capture);
sound/soc/fsl/mpc5200_dma.c
408
rc |= request_irq(psc_dma->playback.irq, &psc_dma_bcom_irq, IRQF_SHARED,
sound/soc/fsl/mpc5200_dma.c
409
"psc-dma-playback", &psc_dma->playback);
sound/soc/fsl/mpc5200_dma.c
416
dev_set_drvdata(&op->dev, psc_dma);
sound/soc/fsl/mpc5200_dma.c
422
free_irq(psc_dma->irq, psc_dma);
sound/soc/fsl/mpc5200_dma.c
423
free_irq(psc_dma->capture.irq, &psc_dma->capture);
sound/soc/fsl/mpc5200_dma.c
424
free_irq(psc_dma->playback.irq, &psc_dma->playback);
sound/soc/fsl/mpc5200_dma.c
426
kfree(psc_dma);
sound/soc/fsl/mpc5200_dma.c
43
if (psc_dma->capture.active && (isr & MPC52xx_PSC_IMR_ORERR))
sound/soc/fsl/mpc5200_dma.c
435
struct psc_dma *psc_dma = dev_get_drvdata(&op->dev);
sound/soc/fsl/mpc5200_dma.c
439
bcom_gen_bd_rx_release(psc_dma->capture.bcom_task);
sound/soc/fsl/mpc5200_dma.c
44
psc_dma->stats.overrun_count++;
sound/soc/fsl/mpc5200_dma.c
440
bcom_gen_bd_tx_release(psc_dma->playback.bcom_task);
sound/soc/fsl/mpc5200_dma.c
443
free_irq(psc_dma->irq, psc_dma);
sound/soc/fsl/mpc5200_dma.c
444
free_irq(psc_dma->capture.irq, &psc_dma->capture);
sound/soc/fsl/mpc5200_dma.c
445
free_irq(psc_dma->playback.irq, &psc_dma->playback);
sound/soc/fsl/mpc5200_dma.c
447
iounmap(psc_dma->psc_regs);
sound/soc/fsl/mpc5200_dma.c
448
kfree(psc_dma);
sound/soc/fsl/mpc5200_dma.c
80
spin_lock(&s->psc_dma->lock);
sound/soc/fsl/mpc5200_dma.c
91
spin_unlock(&s->psc_dma->lock);
sound/soc/fsl/mpc5200_dma.h
25
struct psc_dma *psc_dma;
sound/soc/fsl/mpc5200_dma.h
78
to_psc_dma_stream(struct snd_pcm_substream *substream, struct psc_dma *psc_dma)
sound/soc/fsl/mpc5200_dma.h
81
return &psc_dma->capture;
sound/soc/fsl/mpc5200_dma.h
82
return &psc_dma->playback;
sound/soc/fsl/mpc5200_psc_ac97.c
101
out_be32(&regs->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_AWR);
sound/soc/fsl/mpc5200_psc_ac97.c
103
out_be32(&regs->sicr, psc_dma->sicr);
sound/soc/fsl/mpc5200_psc_ac97.c
105
mutex_unlock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
110
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
sound/soc/fsl/mpc5200_psc_ac97.c
112
mutex_lock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
113
dev_dbg(psc_dma->dev, "cold reset\n");
sound/soc/fsl/mpc5200_psc_ac97.c
115
mpc5200_psc_ac97_gpio_reset(psc_dma->id);
sound/soc/fsl/mpc5200_psc_ac97.c
118
out_be32(&regs->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_ACRB);
sound/soc/fsl/mpc5200_psc_ac97.c
123
mutex_unlock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
140
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/fsl/mpc5200_psc_ac97.c
141
struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma);
sound/soc/fsl/mpc5200_psc_ac97.c
143
dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i"
sound/soc/fsl/mpc5200_psc_ac97.c
163
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/fsl/mpc5200_psc_ac97.c
165
dev_dbg(psc_dma->dev, "%s(substream=%p)\n", __func__, substream);
sound/soc/fsl/mpc5200_psc_ac97.c
168
out_be32(&psc_dma->psc_regs->ac97_slots, 0x01000000);
sound/soc/fsl/mpc5200_psc_ac97.c
170
out_be32(&psc_dma->psc_regs->ac97_slots, 0x03000000);
sound/soc/fsl/mpc5200_psc_ac97.c
178
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(dai);
sound/soc/fsl/mpc5200_psc_ac97.c
179
struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma);
sound/soc/fsl/mpc5200_psc_ac97.c
183
dev_dbg(psc_dma->dev, "AC97 START: stream=%i\n",
sound/soc/fsl/mpc5200_psc_ac97.c
187
psc_dma->slots |= s->ac97_slot_bits;
sound/soc/fsl/mpc5200_psc_ac97.c
188
out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots);
sound/soc/fsl/mpc5200_psc_ac97.c
192
dev_dbg(psc_dma->dev, "AC97 STOP: stream=%i\n",
sound/soc/fsl/mpc5200_psc_ac97.c
196
psc_dma->slots &= ~(s->ac97_slot_bits);
sound/soc/fsl/mpc5200_psc_ac97.c
197
out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots);
sound/soc/fsl/mpc5200_psc_ac97.c
205
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/fsl/mpc5200_psc_ac97.c
206
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
sound/soc/fsl/mpc5200_psc_ac97.c
27
static struct psc_dma *psc_dma;
sound/soc/fsl/mpc5200_psc_ac97.c
297
psc_dma = dev_get_drvdata(&op->dev);
sound/soc/fsl/mpc5200_psc_ac97.c
298
regs = psc_dma->psc_regs;
sound/soc/fsl/mpc5200_psc_ac97.c
300
psc_dma->imr = 0;
sound/soc/fsl/mpc5200_psc_ac97.c
301
out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr);
sound/soc/fsl/mpc5200_psc_ac97.c
304
psc_dma->sicr = MPC52xx_PSC_SICR_SIM_AC97 | MPC52xx_PSC_SICR_ENAC97;
sound/soc/fsl/mpc5200_psc_ac97.c
305
out_be32(&regs->sicr, psc_dma->sicr);
sound/soc/fsl/mpc5200_psc_ac97.c
34
mutex_lock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
37
status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) &
sound/soc/fsl/mpc5200_psc_ac97.c
41
mutex_unlock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
46
in_be32(&psc_dma->psc_regs->ac97_data);
sound/soc/fsl/mpc5200_psc_ac97.c
49
out_be32(&psc_dma->psc_regs->ac97_cmd, (1<<31) | ((reg & 0x7f) << 24));
sound/soc/fsl/mpc5200_psc_ac97.c
52
status = spin_event_timeout((in_be16(&psc_dma->psc_regs->sr_csr.status) &
sound/soc/fsl/mpc5200_psc_ac97.c
56
in_be16(&psc_dma->psc_regs->sr_csr.status));
sound/soc/fsl/mpc5200_psc_ac97.c
57
mutex_unlock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
61
val = in_be32(&psc_dma->psc_regs->ac97_data);
sound/soc/fsl/mpc5200_psc_ac97.c
64
mutex_unlock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
69
mutex_unlock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
78
mutex_lock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
81
status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) &
sound/soc/fsl/mpc5200_psc_ac97.c
88
out_be32(&psc_dma->psc_regs->ac97_cmd,
sound/soc/fsl/mpc5200_psc_ac97.c
92
mutex_unlock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_ac97.c
97
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
sound/soc/fsl/mpc5200_psc_ac97.c
99
mutex_lock(&psc_dma->mutex);
sound/soc/fsl/mpc5200_psc_i2s.c
108
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/fsl/mpc5200_psc_i2s.c
109
dev_dbg(psc_dma->dev, "psc_i2s_set_fmt(cpu_dai=%p, format=%i)\n",
sound/soc/fsl/mpc5200_psc_i2s.c
162
struct psc_dma *psc_dma;
sound/soc/fsl/mpc5200_psc_i2s.c
176
psc_dma = dev_get_drvdata(&op->dev);
sound/soc/fsl/mpc5200_psc_i2s.c
177
regs = psc_dma->psc_regs;
sound/soc/fsl/mpc5200_psc_i2s.c
180
psc_dma->sicr = MPC52xx_PSC_SICR_DTS1 | MPC52xx_PSC_SICR_I2S |
sound/soc/fsl/mpc5200_psc_i2s.c
182
out_be32(&psc_dma->psc_regs->sicr,
sound/soc/fsl/mpc5200_psc_i2s.c
183
psc_dma->sicr | MPC52xx_PSC_SICR_SIM_CODEC_8);
sound/soc/fsl/mpc5200_psc_i2s.c
205
out_8(&psc_dma->psc_regs->command,
sound/soc/fsl/mpc5200_psc_i2s.c
41
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(rtd, 0));
sound/soc/fsl/mpc5200_psc_i2s.c
44
dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i"
sound/soc/fsl/mpc5200_psc_i2s.c
64
dev_dbg(psc_dma->dev, "invalid format\n");
sound/soc/fsl/mpc5200_psc_i2s.c
67
out_be32(&psc_dma->psc_regs->sicr, psc_dma->sicr | mode);
sound/soc/fsl/mpc5200_psc_i2s.c
89
struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
sound/soc/fsl/mpc5200_psc_i2s.c
90
dev_dbg(psc_dma->dev, "psc_i2s_set_sysclk(cpu_dai=%p, dir=%i)\n",