psc_dma            32 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma *psc_dma = _psc_dma;
psc_dma            33 sound/soc/fsl/mpc5200_dma.c 	struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
psc_dma            39 sound/soc/fsl/mpc5200_dma.c 	if (psc_dma->playback.active && (isr & MPC52xx_PSC_IMR_TXEMP))
psc_dma            40 sound/soc/fsl/mpc5200_dma.c 		psc_dma->stats.underrun_count++;
psc_dma            43 sound/soc/fsl/mpc5200_dma.c 	if (psc_dma->capture.active && (isr & MPC52xx_PSC_IMR_ORERR))
psc_dma            44 sound/soc/fsl/mpc5200_dma.c 		psc_dma->stats.overrun_count++;
psc_dma            80 sound/soc/fsl/mpc5200_dma.c 	spin_lock(&s->psc_dma->lock);
psc_dma            91 sound/soc/fsl/mpc5200_dma.c 	spin_unlock(&s->psc_dma->lock);
psc_dma           116 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(rtd->cpu_dai);
psc_dma           118 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma);
psc_dma           119 sound/soc/fsl/mpc5200_dma.c 	struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
psc_dma           126 sound/soc/fsl/mpc5200_dma.c 		dev_dbg(psc_dma->dev, "START: stream=%i fbits=%u ps=%u #p=%u\n",
psc_dma           140 sound/soc/fsl/mpc5200_dma.c 		spin_lock_irqsave(&psc_dma->lock, flags);
psc_dma           152 sound/soc/fsl/mpc5200_dma.c 		spin_unlock_irqrestore(&psc_dma->lock, flags);
psc_dma           159 sound/soc/fsl/mpc5200_dma.c 		dev_dbg(psc_dma->dev, "STOP: stream=%i periods_count=%i\n",
psc_dma           163 sound/soc/fsl/mpc5200_dma.c 		spin_lock_irqsave(&psc_dma->lock, flags);
psc_dma           169 sound/soc/fsl/mpc5200_dma.c 		spin_unlock_irqrestore(&psc_dma->lock, flags);
psc_dma           174 sound/soc/fsl/mpc5200_dma.c 		dev_dbg(psc_dma->dev, "unhandled trigger: stream=%i cmd=%i\n",
psc_dma           181 sound/soc/fsl/mpc5200_dma.c 	if (psc_dma->playback.active)
psc_dma           183 sound/soc/fsl/mpc5200_dma.c 	if (psc_dma->capture.active)
psc_dma           185 sound/soc/fsl/mpc5200_dma.c 	out_be16(&regs->isr_imr.imr, psc_dma->imr | imr);
psc_dma           217 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(rtd->cpu_dai);
psc_dma           221 sound/soc/fsl/mpc5200_dma.c 	dev_dbg(psc_dma->dev, "psc_dma_open(substream=%p)\n", substream);
psc_dma           224 sound/soc/fsl/mpc5200_dma.c 		s = &psc_dma->capture;
psc_dma           226 sound/soc/fsl/mpc5200_dma.c 		s = &psc_dma->playback;
psc_dma           244 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(rtd->cpu_dai);
psc_dma           247 sound/soc/fsl/mpc5200_dma.c 	dev_dbg(psc_dma->dev, "psc_dma_close(substream=%p)\n", substream);
psc_dma           250 sound/soc/fsl/mpc5200_dma.c 		s = &psc_dma->capture;
psc_dma           252 sound/soc/fsl/mpc5200_dma.c 		s = &psc_dma->playback;
psc_dma           254 sound/soc/fsl/mpc5200_dma.c 	if (!psc_dma->playback.active &&
psc_dma           255 sound/soc/fsl/mpc5200_dma.c 	    !psc_dma->capture.active) {
psc_dma           258 sound/soc/fsl/mpc5200_dma.c 		out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr);
psc_dma           259 sound/soc/fsl/mpc5200_dma.c 		out_8(&psc_dma->psc_regs->command, 4 << 4); /* reset error */
psc_dma           269 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(rtd->cpu_dai);
psc_dma           274 sound/soc/fsl/mpc5200_dma.c 		s = &psc_dma->capture;
psc_dma           276 sound/soc/fsl/mpc5200_dma.c 		s = &psc_dma->playback;
psc_dma           373 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma *psc_dma;
psc_dma           393 sound/soc/fsl/mpc5200_dma.c 	psc_dma = kzalloc(sizeof *psc_dma, GFP_KERNEL);
psc_dma           394 sound/soc/fsl/mpc5200_dma.c 	if (!psc_dma) {
psc_dma           406 sound/soc/fsl/mpc5200_dma.c 	spin_lock_init(&psc_dma->lock);
psc_dma           407 sound/soc/fsl/mpc5200_dma.c 	mutex_init(&psc_dma->mutex);
psc_dma           408 sound/soc/fsl/mpc5200_dma.c 	psc_dma->id = be32_to_cpu(*prop);
psc_dma           409 sound/soc/fsl/mpc5200_dma.c 	psc_dma->irq = irq;
psc_dma           410 sound/soc/fsl/mpc5200_dma.c 	psc_dma->psc_regs = regs;
psc_dma           411 sound/soc/fsl/mpc5200_dma.c 	psc_dma->fifo_regs = regs + sizeof *psc_dma->psc_regs;
psc_dma           412 sound/soc/fsl/mpc5200_dma.c 	psc_dma->dev = &op->dev;
psc_dma           413 sound/soc/fsl/mpc5200_dma.c 	psc_dma->playback.psc_dma = psc_dma;
psc_dma           414 sound/soc/fsl/mpc5200_dma.c 	psc_dma->capture.psc_dma = psc_dma;
psc_dma           415 sound/soc/fsl/mpc5200_dma.c 	snprintf(psc_dma->name, sizeof psc_dma->name, "PSC%u", psc_dma->id);
psc_dma           420 sound/soc/fsl/mpc5200_dma.c 	psc_dma->capture.bcom_task =
psc_dma           421 sound/soc/fsl/mpc5200_dma.c 		bcom_psc_gen_bd_rx_init(psc_dma->id, 10, fifo, 512);
psc_dma           422 sound/soc/fsl/mpc5200_dma.c 	psc_dma->playback.bcom_task =
psc_dma           423 sound/soc/fsl/mpc5200_dma.c 		bcom_psc_gen_bd_tx_init(psc_dma->id, 10, fifo);
psc_dma           424 sound/soc/fsl/mpc5200_dma.c 	if (!psc_dma->capture.bcom_task ||
psc_dma           425 sound/soc/fsl/mpc5200_dma.c 	    !psc_dma->playback.bcom_task) {
psc_dma           432 sound/soc/fsl/mpc5200_dma.c 	out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr);
psc_dma           434 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_RST_RX);
psc_dma           436 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_RST_TX);
psc_dma           438 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_RST_ERR_STAT);
psc_dma           440 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->psc_regs->command, MPC52xx_PSC_SEL_MODE_REG_1);
psc_dma           446 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->psc_regs->mode, 0);
psc_dma           447 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->psc_regs->mode, 0);
psc_dma           450 sound/soc/fsl/mpc5200_dma.c 	out_be16(&psc_dma->fifo_regs->rfalarm, 0x100);
psc_dma           451 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->fifo_regs->rfcntl, 0x4);
psc_dma           452 sound/soc/fsl/mpc5200_dma.c 	out_be16(&psc_dma->fifo_regs->tfalarm, 0x100);
psc_dma           453 sound/soc/fsl/mpc5200_dma.c 	out_8(&psc_dma->fifo_regs->tfcntl, 0x7);
psc_dma           456 sound/soc/fsl/mpc5200_dma.c 	psc_dma->playback.irq =
psc_dma           457 sound/soc/fsl/mpc5200_dma.c 		bcom_get_task_irq(psc_dma->playback.bcom_task);
psc_dma           458 sound/soc/fsl/mpc5200_dma.c 	psc_dma->capture.irq =
psc_dma           459 sound/soc/fsl/mpc5200_dma.c 		bcom_get_task_irq(psc_dma->capture.bcom_task);
psc_dma           461 sound/soc/fsl/mpc5200_dma.c 	rc = request_irq(psc_dma->irq, &psc_dma_status_irq, IRQF_SHARED,
psc_dma           462 sound/soc/fsl/mpc5200_dma.c 			 "psc-dma-status", psc_dma);
psc_dma           463 sound/soc/fsl/mpc5200_dma.c 	rc |= request_irq(psc_dma->capture.irq, &psc_dma_bcom_irq, IRQF_SHARED,
psc_dma           464 sound/soc/fsl/mpc5200_dma.c 			  "psc-dma-capture", &psc_dma->capture);
psc_dma           465 sound/soc/fsl/mpc5200_dma.c 	rc |= request_irq(psc_dma->playback.irq, &psc_dma_bcom_irq, IRQF_SHARED,
psc_dma           466 sound/soc/fsl/mpc5200_dma.c 			  "psc-dma-playback", &psc_dma->playback);
psc_dma           473 sound/soc/fsl/mpc5200_dma.c 	dev_set_drvdata(&op->dev, psc_dma);
psc_dma           479 sound/soc/fsl/mpc5200_dma.c 	free_irq(psc_dma->irq, psc_dma);
psc_dma           480 sound/soc/fsl/mpc5200_dma.c 	free_irq(psc_dma->capture.irq, &psc_dma->capture);
psc_dma           481 sound/soc/fsl/mpc5200_dma.c 	free_irq(psc_dma->playback.irq, &psc_dma->playback);
psc_dma           483 sound/soc/fsl/mpc5200_dma.c 	kfree(psc_dma);
psc_dma           492 sound/soc/fsl/mpc5200_dma.c 	struct psc_dma *psc_dma = dev_get_drvdata(&op->dev);
psc_dma           496 sound/soc/fsl/mpc5200_dma.c 	bcom_gen_bd_rx_release(psc_dma->capture.bcom_task);
psc_dma           497 sound/soc/fsl/mpc5200_dma.c 	bcom_gen_bd_tx_release(psc_dma->playback.bcom_task);
psc_dma           500 sound/soc/fsl/mpc5200_dma.c 	free_irq(psc_dma->irq, psc_dma);
psc_dma           501 sound/soc/fsl/mpc5200_dma.c 	free_irq(psc_dma->capture.irq, &psc_dma->capture);
psc_dma           502 sound/soc/fsl/mpc5200_dma.c 	free_irq(psc_dma->playback.irq, &psc_dma->playback);
psc_dma           504 sound/soc/fsl/mpc5200_dma.c 	iounmap(psc_dma->psc_regs);
psc_dma           505 sound/soc/fsl/mpc5200_dma.c 	kfree(psc_dma);
psc_dma            25 sound/soc/fsl/mpc5200_dma.h 	struct psc_dma *psc_dma;
psc_dma            78 sound/soc/fsl/mpc5200_dma.h to_psc_dma_stream(struct snd_pcm_substream *substream, struct psc_dma *psc_dma)
psc_dma            81 sound/soc/fsl/mpc5200_dma.h 		return &psc_dma->capture;
psc_dma            82 sound/soc/fsl/mpc5200_dma.h 	return &psc_dma->playback;
psc_dma            28 sound/soc/fsl/mpc5200_psc_ac97.c static struct psc_dma *psc_dma;
psc_dma            35 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_lock(&psc_dma->mutex);
psc_dma            38 sound/soc/fsl/mpc5200_psc_ac97.c 	status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) &
psc_dma            42 sound/soc/fsl/mpc5200_psc_ac97.c 		mutex_unlock(&psc_dma->mutex);
psc_dma            47 sound/soc/fsl/mpc5200_psc_ac97.c 	in_be32(&psc_dma->psc_regs->ac97_data);
psc_dma            50 sound/soc/fsl/mpc5200_psc_ac97.c 	out_be32(&psc_dma->psc_regs->ac97_cmd, (1<<31) | ((reg & 0x7f) << 24));
psc_dma            53 sound/soc/fsl/mpc5200_psc_ac97.c 	status = spin_event_timeout((in_be16(&psc_dma->psc_regs->sr_csr.status) &
psc_dma            57 sound/soc/fsl/mpc5200_psc_ac97.c 				in_be16(&psc_dma->psc_regs->sr_csr.status));
psc_dma            58 sound/soc/fsl/mpc5200_psc_ac97.c 		mutex_unlock(&psc_dma->mutex);
psc_dma            62 sound/soc/fsl/mpc5200_psc_ac97.c 	val = in_be32(&psc_dma->psc_regs->ac97_data);
psc_dma            65 sound/soc/fsl/mpc5200_psc_ac97.c 		mutex_unlock(&psc_dma->mutex);
psc_dma            70 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_unlock(&psc_dma->mutex);
psc_dma            79 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_lock(&psc_dma->mutex);
psc_dma            82 sound/soc/fsl/mpc5200_psc_ac97.c 	status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) &
psc_dma            89 sound/soc/fsl/mpc5200_psc_ac97.c 	out_be32(&psc_dma->psc_regs->ac97_cmd,
psc_dma            93 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_unlock(&psc_dma->mutex);
psc_dma            98 sound/soc/fsl/mpc5200_psc_ac97.c 	struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
psc_dma           100 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_lock(&psc_dma->mutex);
psc_dma           102 sound/soc/fsl/mpc5200_psc_ac97.c 	out_be32(&regs->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_AWR);
psc_dma           104 sound/soc/fsl/mpc5200_psc_ac97.c 	out_be32(&regs->sicr, psc_dma->sicr);
psc_dma           106 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_unlock(&psc_dma->mutex);
psc_dma           111 sound/soc/fsl/mpc5200_psc_ac97.c 	struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
psc_dma           113 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_lock(&psc_dma->mutex);
psc_dma           114 sound/soc/fsl/mpc5200_psc_ac97.c 	dev_dbg(psc_dma->dev, "cold reset\n");
psc_dma           116 sound/soc/fsl/mpc5200_psc_ac97.c 	mpc5200_psc_ac97_gpio_reset(psc_dma->id);
psc_dma           119 sound/soc/fsl/mpc5200_psc_ac97.c 	out_be32(&regs->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_ACRB);
psc_dma           124 sound/soc/fsl/mpc5200_psc_ac97.c 	mutex_unlock(&psc_dma->mutex);
psc_dma           141 sound/soc/fsl/mpc5200_psc_ac97.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
psc_dma           142 sound/soc/fsl/mpc5200_psc_ac97.c 	struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma);
psc_dma           144 sound/soc/fsl/mpc5200_psc_ac97.c 	dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i"
psc_dma           164 sound/soc/fsl/mpc5200_psc_ac97.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
psc_dma           166 sound/soc/fsl/mpc5200_psc_ac97.c 	dev_dbg(psc_dma->dev, "%s(substream=%p)\n", __func__, substream);
psc_dma           169 sound/soc/fsl/mpc5200_psc_ac97.c 		out_be32(&psc_dma->psc_regs->ac97_slots, 0x01000000);
psc_dma           171 sound/soc/fsl/mpc5200_psc_ac97.c 		out_be32(&psc_dma->psc_regs->ac97_slots, 0x03000000);
psc_dma           179 sound/soc/fsl/mpc5200_psc_ac97.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(dai);
psc_dma           180 sound/soc/fsl/mpc5200_psc_ac97.c 	struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma);
psc_dma           184 sound/soc/fsl/mpc5200_psc_ac97.c 		dev_dbg(psc_dma->dev, "AC97 START: stream=%i\n",
psc_dma           188 sound/soc/fsl/mpc5200_psc_ac97.c 		psc_dma->slots |= s->ac97_slot_bits;
psc_dma           189 sound/soc/fsl/mpc5200_psc_ac97.c 		out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots);
psc_dma           193 sound/soc/fsl/mpc5200_psc_ac97.c 		dev_dbg(psc_dma->dev, "AC97 STOP: stream=%i\n",
psc_dma           197 sound/soc/fsl/mpc5200_psc_ac97.c 		psc_dma->slots &= ~(s->ac97_slot_bits);
psc_dma           198 sound/soc/fsl/mpc5200_psc_ac97.c 		out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots);
psc_dma           206 sound/soc/fsl/mpc5200_psc_ac97.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
psc_dma           207 sound/soc/fsl/mpc5200_psc_ac97.c 	struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
psc_dma           300 sound/soc/fsl/mpc5200_psc_ac97.c 	psc_dma = dev_get_drvdata(&op->dev);
psc_dma           301 sound/soc/fsl/mpc5200_psc_ac97.c 	regs = psc_dma->psc_regs;
psc_dma           303 sound/soc/fsl/mpc5200_psc_ac97.c 	psc_dma->imr = 0;
psc_dma           304 sound/soc/fsl/mpc5200_psc_ac97.c 	out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr);
psc_dma           307 sound/soc/fsl/mpc5200_psc_ac97.c 	psc_dma->sicr = MPC52xx_PSC_SICR_SIM_AC97 | MPC52xx_PSC_SICR_ENAC97;
psc_dma           308 sound/soc/fsl/mpc5200_psc_ac97.c 	out_be32(&regs->sicr, psc_dma->sicr);
psc_dma            42 sound/soc/fsl/mpc5200_psc_i2s.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(rtd->cpu_dai);
psc_dma            45 sound/soc/fsl/mpc5200_psc_i2s.c 	dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i"
psc_dma            65 sound/soc/fsl/mpc5200_psc_i2s.c 		dev_dbg(psc_dma->dev, "invalid format\n");
psc_dma            68 sound/soc/fsl/mpc5200_psc_i2s.c 	out_be32(&psc_dma->psc_regs->sicr, psc_dma->sicr | mode);
psc_dma            90 sound/soc/fsl/mpc5200_psc_i2s.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
psc_dma            91 sound/soc/fsl/mpc5200_psc_i2s.c 	dev_dbg(psc_dma->dev, "psc_i2s_set_sysclk(cpu_dai=%p, dir=%i)\n",
psc_dma           109 sound/soc/fsl/mpc5200_psc_i2s.c 	struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
psc_dma           110 sound/soc/fsl/mpc5200_psc_i2s.c 	dev_dbg(psc_dma->dev, "psc_i2s_set_fmt(cpu_dai=%p, format=%i)\n",
psc_dma           162 sound/soc/fsl/mpc5200_psc_i2s.c 	struct psc_dma *psc_dma;
psc_dma           176 sound/soc/fsl/mpc5200_psc_i2s.c 	psc_dma = dev_get_drvdata(&op->dev);
psc_dma           177 sound/soc/fsl/mpc5200_psc_i2s.c 	regs = psc_dma->psc_regs;
psc_dma           180 sound/soc/fsl/mpc5200_psc_i2s.c 	psc_dma->sicr = MPC52xx_PSC_SICR_DTS1 | MPC52xx_PSC_SICR_I2S |
psc_dma           182 sound/soc/fsl/mpc5200_psc_i2s.c 	out_be32(&psc_dma->psc_regs->sicr,
psc_dma           183 sound/soc/fsl/mpc5200_psc_i2s.c 		 psc_dma->sicr | MPC52xx_PSC_SICR_SIM_CODEC_8);
psc_dma           205 sound/soc/fsl/mpc5200_psc_i2s.c 	out_8(&psc_dma->psc_regs->command,