• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/sound/soc/at91/

Lines Matching refs:ssc_p

179 	struct at91_ssc_info *ssc_p = dev_id;
184 ssc_sr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_SR)
185 & at91_ssc_read(ssc_p->ssc.base + AT91_SSC_IMR);
193 for (i = 0; i < ARRAY_SIZE(ssc_p->dma_params); i++) {
194 dma_params = ssc_p->dma_params[i];
212 struct at91_ssc_info *ssc_p = &ssc_info[rtd->dai->cpu_dai->id];
216 at91_ssc_read(ssc_p->ssc.base + AT91_SSC_SR));
219 spin_lock_irq(&ssc_p->lock);
220 if (ssc_p->dir_mask & dir_mask) {
221 spin_unlock_irq(&ssc_p->lock);
224 ssc_p->dir_mask |= dir_mask;
225 spin_unlock_irq(&ssc_p->lock);
237 struct at91_ssc_info *ssc_p = &ssc_info[rtd->dai->cpu_dai->id];
242 dma_params = ssc_p->dma_params[dir];
248 at91_ssc_read(ssc_p->ssc.base + AT91_SSC_SR));
252 ssc_p->dma_params[dir] = NULL;
257 spin_lock_irq(&ssc_p->lock);
258 ssc_p->dir_mask &= ~dir_mask;
259 if (!ssc_p->dir_mask) {
261 DBG("Stopping pid %d clock\n", ssc_p->ssc.pid);
262 at91_sys_write(AT91_PMC_PCDR, 1<<ssc_p->ssc.pid);
264 if (ssc_p->initialized) {
265 free_irq(ssc_p->ssc.pid, ssc_p);
266 ssc_p->initialized = 0;
270 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_CR, AT91_SSC_SWRST);
273 ssc_p->cmr_div = ssc_p->tcmr_period = ssc_p->rcmr_period = 0;
275 spin_unlock_irq(&ssc_p->lock);
306 struct at91_ssc_info *ssc_p = &ssc_info[cpu_dai->id];
308 ssc_p->daifmt = fmt;
318 struct at91_ssc_info *ssc_p = &ssc_info[cpu_dai->id];
327 if (ssc_p->cmr_div == 0)
328 ssc_p->cmr_div = div;
330 if (div != ssc_p->cmr_div)
335 ssc_p->tcmr_period = div;
339 ssc_p->rcmr_period = div;
357 struct at91_ssc_info *ssc_p = &ssc_info[id];
372 dma_params->ssc_base = ssc_p->ssc.base;
375 ssc_p->dma_params[dir] = dma_params;
416 if ((ssc_p->daifmt & SND_SOC_DAIFMT_FORMAT_MASK) == SND_SOC_DAIFMT_I2S
426 switch (ssc_p->daifmt
436 rcmr = (( ssc_p->rcmr_period << 24) & AT91_SSC_PERIOD)
451 tcmr = (( ssc_p->tcmr_period << 24) & AT91_SSC_PERIOD)
523 rcmr = (( ssc_p->rcmr_period << 24) & AT91_SSC_PERIOD)
538 tcmr = (( ssc_p->tcmr_period << 24) & AT91_SSC_PERIOD)
561 ssc_p->daifmt);
567 if (!ssc_p->initialized) {
570 DBG("Starting pid %d clock\n", ssc_p->ssc.pid);
571 at91_sys_write(AT91_PMC_PCER, 1<<ssc_p->ssc.pid);
574 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_CR, AT91_SSC_SWRST);
576 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_RPR, 0);
577 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_RCR, 0);
578 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_RNPR, 0);
579 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_RNCR, 0);
580 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_TPR, 0);
581 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_TCR, 0);
582 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_TNPR, 0);
583 at91_ssc_write(ssc_p->ssc.base + ATMEL_PDC_TNCR, 0);
585 if ((ret = request_irq(ssc_p->ssc.pid, at91_ssc_interrupt,
586 0, ssc_p->name, ssc_p)) < 0) {
589 DBG("Stopping pid %d clock\n", ssc_p->ssc.pid);
590 at91_sys_write(AT91_PMC_PCER, 1<<ssc_p->ssc.pid);
594 ssc_p->initialized = 1;
598 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_CMR, ssc_p->cmr_div);
601 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_RCMR, rcmr);
602 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_RFMR, rfmr);
605 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_TCMR, tcmr);
606 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_TFMR, tfmr);
616 struct at91_ssc_info *ssc_p = &ssc_info[rtd->dai->cpu_dai->id];
621 dma_params = ssc_p->dma_params[dir];
636 struct at91_ssc_info *ssc_p;
641 ssc_p = &ssc_info[cpu_dai->id];
644 ssc_p->ssc_state.ssc_sr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_SR);
645 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_CR,
649 ssc_p->ssc_state.ssc_imr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_IMR);
650 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_IDR, ssc_p->ssc_state.ssc_imr);
652 ssc_p->ssc_state.ssc_cmr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_CMR);
653 ssc_p->ssc_state.ssc_rcmr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_RCMR);
654 ssc_p->ssc_state.ssc_rfmr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_RFMR);
655 ssc_p->ssc_state.ssc_tcmr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_TCMR);
656 ssc_p->ssc_state.ssc_tfmr = at91_ssc_read(ssc_p->ssc.base + AT91_SSC_TFMR);
664 struct at91_ssc_info *ssc_p;
669 ssc_p = &ssc_info[cpu_dai->id];
671 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_TFMR, ssc_p->ssc_state.ssc_tfmr);
672 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_TCMR, ssc_p->ssc_state.ssc_tcmr);
673 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_RFMR, ssc_p->ssc_state.ssc_rfmr);
674 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_RCMR, ssc_p->ssc_state.ssc_rcmr);
675 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_CMR, ssc_p->ssc_state.ssc_cmr);
677 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_IER, ssc_p->ssc_state.ssc_imr);
679 at91_ssc_write(ssc_p->ssc.base + AT91_SSC_CR,
680 ((ssc_p->ssc_state.ssc_sr & AT91_SSC_RXENA) ? AT91_SSC_RXEN : 0) |
681 ((ssc_p->ssc_state.ssc_sr & AT91_SSC_TXENA) ? AT91_SSC_TXEN : 0));