Re: [PATCH V2 2/2] ASoC: fsl_esai: recover the channel swap after xrun

From: S.j. Wang <hidden>
Date: 2019-07-09 03:38:41
Also in: alsa-devel, lkml

quoted
quoted
quoted
+
+     /* restore registers by regcache_sync */
+     fsl_esai_register_restore(esai_priv);
+
+     regmap_update_bits(esai_priv->regmap, REG_ESAI_TCR,
+                        ESAI_xCR_xPR_MASK, 0);
+     regmap_update_bits(esai_priv->regmap, REG_ESAI_RCR,
+                        ESAI_xCR_xPR_MASK, 0);
And just for curious, can (or shall) we stuff this personal reset to
the reset() function? I found this one is a part of the reset
routine being mentioned in the RM -- it was done after ESAI reset is
done via ECR register.
quoted
quoted
There is a problem to do this, TPR/RPR need to be clear after
configure the control register. (TCCR, TCR). So it seems not only one
place (reset function) need to be changed.
Do you know (or remember) why we suddenly involve this TPR/PRP?
The driver has no problem so far, even if we don't have them.

The "personal reset" sounds like a feature that we would use to reset TX or
RX individually, while this hw_reset() does a full reset for both TX and RX.
So I wonder whether they're necessary.
The hw_reset flow is suggested by design team, so involve TRP/RPP is from
them, I don't know the detail.

Best regards
Wang shengjiu  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help