Lines Matching refs:psc_dma
32 static struct psc_dma *psc_dma; variable
39 mutex_lock(&psc_dma->mutex); in psc_ac97_read()
42 status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) & in psc_ac97_read()
46 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
51 in_be32(&psc_dma->psc_regs->ac97_data); in psc_ac97_read()
54 out_be32(&psc_dma->psc_regs->ac97_cmd, (1<<31) | ((reg & 0x7f) << 24)); in psc_ac97_read()
57 status = spin_event_timeout((in_be16(&psc_dma->psc_regs->sr_csr.status) & in psc_ac97_read()
61 in_be16(&psc_dma->psc_regs->sr_csr.status)); in psc_ac97_read()
62 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
66 val = in_be32(&psc_dma->psc_regs->ac97_data); in psc_ac97_read()
69 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
74 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
83 mutex_lock(&psc_dma->mutex); in psc_ac97_write()
86 status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) & in psc_ac97_write()
93 out_be32(&psc_dma->psc_regs->ac97_cmd, in psc_ac97_write()
97 mutex_unlock(&psc_dma->mutex); in psc_ac97_write()
102 struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; in psc_ac97_warm_reset()
104 mutex_lock(&psc_dma->mutex); in psc_ac97_warm_reset()
106 out_be32(®s->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_AWR); in psc_ac97_warm_reset()
108 out_be32(®s->sicr, psc_dma->sicr); in psc_ac97_warm_reset()
110 mutex_unlock(&psc_dma->mutex); in psc_ac97_warm_reset()
115 struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; in psc_ac97_cold_reset()
117 mutex_lock(&psc_dma->mutex); in psc_ac97_cold_reset()
118 dev_dbg(psc_dma->dev, "cold reset\n"); in psc_ac97_cold_reset()
120 mpc5200_psc_ac97_gpio_reset(psc_dma->id); in psc_ac97_cold_reset()
123 out_be32(®s->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_ACRB); in psc_ac97_cold_reset()
128 mutex_unlock(&psc_dma->mutex); in psc_ac97_cold_reset()
145 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai); in psc_ac97_hw_analog_params() local
146 struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma); in psc_ac97_hw_analog_params()
148 dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i" in psc_ac97_hw_analog_params()
168 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai); in psc_ac97_hw_digital_params() local
170 dev_dbg(psc_dma->dev, "%s(substream=%p)\n", __func__, substream); in psc_ac97_hw_digital_params()
173 out_be32(&psc_dma->psc_regs->ac97_slots, 0x01000000); in psc_ac97_hw_digital_params()
175 out_be32(&psc_dma->psc_regs->ac97_slots, 0x03000000); in psc_ac97_hw_digital_params()
183 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(dai); in psc_ac97_trigger() local
184 struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma); in psc_ac97_trigger()
188 dev_dbg(psc_dma->dev, "AC97 START: stream=%i\n", in psc_ac97_trigger()
192 psc_dma->slots |= s->ac97_slot_bits; in psc_ac97_trigger()
193 out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots); in psc_ac97_trigger()
197 dev_dbg(psc_dma->dev, "AC97 STOP: stream=%i\n", in psc_ac97_trigger()
201 psc_dma->slots &= ~(s->ac97_slot_bits); in psc_ac97_trigger()
202 out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots); in psc_ac97_trigger()
210 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai); in psc_ac97_probe() local
211 struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; in psc_ac97_probe()
304 psc_dma = dev_get_drvdata(&op->dev); in psc_ac97_of_probe()
305 regs = psc_dma->psc_regs; in psc_ac97_of_probe()
307 psc_dma->imr = 0; in psc_ac97_of_probe()
308 out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr); in psc_ac97_of_probe()
311 psc_dma->sicr = MPC52xx_PSC_SICR_SIM_AC97 | MPC52xx_PSC_SICR_ENAC97; in psc_ac97_of_probe()
312 out_be32(®s->sicr, psc_dma->sicr); in psc_ac97_of_probe()