Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3fd5b30c authored by Bo Shen's avatar Bo Shen Committed by Mark Brown
Browse files

ASoC: atmel_ssc_dai: only clean PDC when using PDC



Only using PDC, it needs to clean PDC registers.

Signed-off-by: default avatarBo Shen <voice.shen@atmel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent cbaadf0f
Loading
Loading
Loading
Loading
+11 −9
Original line number Original line Diff line number Diff line
@@ -627,6 +627,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream,
			rcmr, rfmr, tcmr, tfmr);
			rcmr, rfmr, tcmr, tfmr);


	if (!ssc_p->initialized) {
	if (!ssc_p->initialized) {
		if (!ssc_p->ssc->pdata->use_dma) {
			ssc_writel(ssc_p->ssc->regs, PDC_RPR, 0);
			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_RCR, 0);
			ssc_writel(ssc_p->ssc->regs, PDC_RNPR, 0);
			ssc_writel(ssc_p->ssc->regs, PDC_RNPR, 0);
@@ -636,6 +637,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream,
			ssc_writel(ssc_p->ssc->regs, PDC_TCR, 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_TNPR, 0);
			ssc_writel(ssc_p->ssc->regs, PDC_TNCR, 0);
			ssc_writel(ssc_p->ssc->regs, PDC_TNCR, 0);
		}


		ret = request_irq(ssc_p->ssc->irq, atmel_ssc_interrupt, 0,
		ret = request_irq(ssc_p->ssc->irq, atmel_ssc_interrupt, 0,
				ssc_p->name, ssc_p);
				ssc_p->name, ssc_p);