[alsa-devel] [PATCH] ASoC: fsl_sai: fix no frame clk in master mode

Zidan Wang zidan.wang at freescale.com
Wed Aug 12 09:59:15 CEST 2015


On Tue, Aug 11, 2015 at 08:53:25PM -0700, Nicolin Chen wrote:
> On Wed, Aug 12, 2015 at 10:25:45AM +0800, Zidan Wang wrote:
> > After several open/close sai test with ctrl+c, there will be I/O error.
> > The SAI can't work anymore, can't recover. There will be no frame clock.
> > With adding the software reset in trigger stop, the issue can be fixed.
> 
> It doesn't look like a decent fix to me. Is it the only fix that
> IC team suggests? And why put this reset in the trigger function.
> Your MEGA fast patch has already included a software reset in the
> PM runtime functions. When dealing with CTRL+C test cases, that
> software reset should have worked as well.
> 
The MEGA fast patch add the suspend/resume function, but CTRL+C will not trigger suspend/resume function.
When CTRL+C, it will trigger stop and software reset SAI.
IC team suggest us to rest it, but I don't know if it's the only fix.

Best Regards,
Zidan Wang

> Nicolin
> 
> > Signed-off-by: Zidan Wang <zidan.wang at freescale.com>
> > ---
> >  sound/soc/fsl/fsl_sai.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
> > index 5c737f1..6a947dc 100644
> > --- a/sound/soc/fsl/fsl_sai.c
> > +++ b/sound/soc/fsl/fsl_sai.c
> > @@ -504,6 +504,13 @@ static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd,
> >  					   FSL_SAI_CSR_FR, FSL_SAI_CSR_FR);
> >  			regmap_update_bits(sai->regmap, FSL_SAI_RCSR,
> >  					   FSL_SAI_CSR_FR, FSL_SAI_CSR_FR);
> > +
> > +			/* Software Reset for both Tx and Rx */
> > +			regmap_write(sai->regmap, FSL_SAI_TCSR, FSL_SAI_CSR_SR);
> > +			regmap_write(sai->regmap, FSL_SAI_RCSR, FSL_SAI_CSR_SR);
> > +			/* Clear SR bit to finish the reset */
> > +			regmap_write(sai->regmap, FSL_SAI_TCSR, 0);
> > +			regmap_write(sai->regmap, FSL_SAI_RCSR, 0);
> >  		}
> >  		break;
> >  	default:
> > -- 
> > 1.9.1
> > 


More information about the Alsa-devel mailing list