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

Nicolin Chen nicoleotsuka at gmail.com
Tue Feb 26 13:33:00 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.


More information about the Linuxppc-dev mailing list