|
@@ -627,15 +627,17 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream,
|
|
|
rcmr, rfmr, tcmr, tfmr);
|
|
|
|
|
|
if (!ssc_p->initialized) {
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_RPR, 0);
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_RCR, 0);
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_RNPR, 0);
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_RNCR, 0);
|
|
|
-
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_TPR, 0);
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_TCR, 0);
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_TNPR, 0);
|
|
|
- ssc_writel(ssc_p->ssc->regs, PDC_TNCR, 0);
|
|
|
+ if (!ssc_p->ssc->pdata->use_dma) {
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_RPR, 0);
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_RCR, 0);
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_RNPR, 0);
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_RNCR, 0);
|
|
|
+
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_TPR, 0);
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_TCR, 0);
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_TNPR, 0);
|
|
|
+ ssc_writel(ssc_p->ssc->regs, PDC_TNCR, 0);
|
|
|
+ }
|
|
|
|
|
|
ret = request_irq(ssc_p->ssc->irq, atmel_ssc_interrupt, 0,
|
|
|
ssc_p->name, ssc_p);
|