linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/2] recover the channel swap after xrun
@ 2019-07-03  6:42 shengjiu.wang
  2019-07-03  6:42 ` [PATCH V2 1/2] ASoC: fsl_esai: Wrap some operations to be functions shengjiu.wang
  2019-07-03  6:42 ` [PATCH V2 2/2] ASoC: fsl_esai: recover the channel swap after xrun shengjiu.wang
  0 siblings, 2 replies; 9+ messages in thread
From: shengjiu.wang @ 2019-07-03  6:42 UTC (permalink / raw)
  To: timur, nicoleotsuka, Xiubo.Lee, festevam, broonie, alsa-devel
  Cc: linuxppc-dev, linux-kernel

From: Shengjiu Wang <shengjiu.wang@nxp.com>

recover the channel swap after xrun

Shengjiu Wang (2):
  ASoC: fsl_esai: Wrap some operations to be functions
  ASoC: fsl_esai: recover the channel swap after xrun

 sound/soc/fsl/fsl_esai.c | 267 ++++++++++++++++++++++++++++-----------
 1 file changed, 194 insertions(+), 73 deletions(-)

Changes in v2
- add one patch for wrap operations to functions.
- fix some coding style issue


-- 
2.21.0


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: [PATCH V2 2/2] ASoC: fsl_esai: recover the channel swap after xrun
@ 2019-07-05  7:03 S.j. Wang
  2019-07-09  0:58 ` Nicolin Chen
  0 siblings, 1 reply; 9+ messages in thread
From: S.j. Wang @ 2019-07-05  7:03 UTC (permalink / raw)
  To: Nicolin Chen
  Cc: timur, Xiubo.Lee, festevam, broonie, alsa-devel, linuxppc-dev,
	linux-kernel

> 
> > +
> > +     /* 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.
> 

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.

Best regards
Wang shengjiu

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: [PATCH V2 2/2] ASoC: fsl_esai: recover the channel swap after xrun
@ 2019-07-09  3:38 S.j. Wang
  0 siblings, 0 replies; 9+ messages in thread
From: S.j. Wang @ 2019-07-09  3:38 UTC (permalink / raw)
  To: Nicolin Chen
  Cc: timur, Xiubo.Lee, festevam, broonie, alsa-devel, linuxppc-dev,
	linux-kernel


> > > > +
> > > > +     /* 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.
> > >
> >
> > 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  

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-07-09  3:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-03  6:42 [PATCH V2 0/2] recover the channel swap after xrun shengjiu.wang
2019-07-03  6:42 ` [PATCH V2 1/2] ASoC: fsl_esai: Wrap some operations to be functions shengjiu.wang
2019-07-03  9:10   ` Nicolin Chen
2019-07-03  6:42 ` [PATCH V2 2/2] ASoC: fsl_esai: recover the channel swap after xrun shengjiu.wang
2019-07-03  9:32   ` Nicolin Chen
2019-07-03 20:56   ` Cezary Rojewski
2019-07-05  7:03 S.j. Wang
2019-07-09  0:58 ` Nicolin Chen
2019-07-09  3:38 S.j. Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).