[PATCH V2] ASoC: fsl_esai: fix channel swap issue when stream starts

S.j. Wang shengjiu.wang at nxp.com
Tue Feb 26 13:54:45 AEDT 2019



> 
> On Tue, Feb 26, 2019 at 02:01:14AM +0000, S.j. Wang wrote:
> > > > diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c
> > > > index
> > > > afe67c865330..23bd0ad4ac31 100644
> > > > --- a/sound/soc/fsl/fsl_esai.c
> > > > +++ b/sound/soc/fsl/fsl_esai.c
> > > > @@ -54,6 +54,8 @@ struct fsl_esai {
> > > >  	u32 fifo_depth;
> > > >  	u32 slot_width;
> > > >  	u32 slots;
> > > > +	u32 tx_mask;
> > > > +	u32 rx_mask;
> 
> > > >  	esai_priv->slot_width = slot_width;
> > > >  	esai_priv->slots = slots;
> > > > +	esai_priv->tx_mask    = tx_mask;
> > > > +	esai_priv->rx_mask    = rx_mask;
> > >
> > > The two masks only got values here. If a machine driver doesn't have
> > > a
> > > set_dai_tdm_slot() call, they will be remained as 0 and then will
> > > seemly clean those four registers.
> > >
> > Then I think we need to add default value for tx_mask and rx_mask,
> > that is In the probe function to add:
> > esai_priv->tx_mask    =  0xFFFFFFFF;
> > esai_priv->rx_mask    =  0xFFFFFFFF;
> 
> Yea:) Please include them in v3.
Ok.


More information about the Linuxppc-dev mailing list