Lines Matching refs:psc_dma
27 static struct psc_dma *psc_dma; variable
34 mutex_lock(&psc_dma->mutex); in psc_ac97_read()
37 status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) & in psc_ac97_read()
41 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
46 in_be32(&psc_dma->psc_regs->ac97_data); in psc_ac97_read()
49 out_be32(&psc_dma->psc_regs->ac97_cmd, (1<<31) | ((reg & 0x7f) << 24)); in psc_ac97_read()
52 status = spin_event_timeout((in_be16(&psc_dma->psc_regs->sr_csr.status) & in psc_ac97_read()
56 in_be16(&psc_dma->psc_regs->sr_csr.status)); in psc_ac97_read()
57 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
61 val = in_be32(&psc_dma->psc_regs->ac97_data); in psc_ac97_read()
64 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
69 mutex_unlock(&psc_dma->mutex); in psc_ac97_read()
78 mutex_lock(&psc_dma->mutex); in psc_ac97_write()
81 status = spin_event_timeout(!(in_be16(&psc_dma->psc_regs->sr_csr.status) & in psc_ac97_write()
88 out_be32(&psc_dma->psc_regs->ac97_cmd, in psc_ac97_write()
92 mutex_unlock(&psc_dma->mutex); in psc_ac97_write()
97 struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; in psc_ac97_warm_reset()
99 mutex_lock(&psc_dma->mutex); in psc_ac97_warm_reset()
101 out_be32(®s->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_AWR); in psc_ac97_warm_reset()
103 out_be32(®s->sicr, psc_dma->sicr); in psc_ac97_warm_reset()
105 mutex_unlock(&psc_dma->mutex); in psc_ac97_warm_reset()
110 struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; in psc_ac97_cold_reset()
112 mutex_lock(&psc_dma->mutex); in psc_ac97_cold_reset()
113 dev_dbg(psc_dma->dev, "cold reset\n"); in psc_ac97_cold_reset()
115 mpc5200_psc_ac97_gpio_reset(psc_dma->id); in psc_ac97_cold_reset()
118 out_be32(®s->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_ACRB); in psc_ac97_cold_reset()
123 mutex_unlock(&psc_dma->mutex); in psc_ac97_cold_reset()
140 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai); in psc_ac97_hw_analog_params() local
141 struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma); in psc_ac97_hw_analog_params()
143 dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i" in psc_ac97_hw_analog_params()
163 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai); in psc_ac97_hw_digital_params() local
165 dev_dbg(psc_dma->dev, "%s(substream=%p)\n", __func__, substream); in psc_ac97_hw_digital_params()
168 out_be32(&psc_dma->psc_regs->ac97_slots, 0x01000000); in psc_ac97_hw_digital_params()
170 out_be32(&psc_dma->psc_regs->ac97_slots, 0x03000000); in psc_ac97_hw_digital_params()
178 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(dai); in psc_ac97_trigger() local
179 struct psc_dma_stream *s = to_psc_dma_stream(substream, psc_dma); in psc_ac97_trigger()
183 dev_dbg(psc_dma->dev, "AC97 START: stream=%i\n", in psc_ac97_trigger()
187 psc_dma->slots |= s->ac97_slot_bits; in psc_ac97_trigger()
188 out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots); in psc_ac97_trigger()
192 dev_dbg(psc_dma->dev, "AC97 STOP: stream=%i\n", in psc_ac97_trigger()
196 psc_dma->slots &= ~(s->ac97_slot_bits); in psc_ac97_trigger()
197 out_be32(&psc_dma->psc_regs->ac97_slots, psc_dma->slots); in psc_ac97_trigger()
205 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai); in psc_ac97_probe() local
206 struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs; in psc_ac97_probe()
297 psc_dma = dev_get_drvdata(&op->dev); in psc_ac97_of_probe()
298 regs = psc_dma->psc_regs; in psc_ac97_of_probe()
300 psc_dma->imr = 0; in psc_ac97_of_probe()
301 out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr); in psc_ac97_of_probe()
304 psc_dma->sicr = MPC52xx_PSC_SICR_SIM_AC97 | MPC52xx_PSC_SICR_ENAC97; in psc_ac97_of_probe()
305 out_be32(®s->sicr, psc_dma->sicr); in psc_ac97_of_probe()