Re: [PATCH] ASoC: fsl_sai: Add isr to deal with error flag

From: Nicolin Chen
Date: Wed Mar 26 2014 - 23:47:01 EST


On Thu, Mar 27, 2014 at 11:41:02AM +0800, Xiubo Li-B47053 wrote:
>
> > Subject: Re: [PATCH] ASoC: fsl_sai: Add isr to deal with error flag
> >
> > On Thu, Mar 27, 2014 at 10:53:50AM +0800, Xiubo Li-B47053 wrote:
> > > > On Thu, Mar 27, 2014 at 10:13:48AM +0800, Xiubo Li-B47053 wrote:
> > > > > > + regmap_read(sai->regmap, FSL_SAI_TCSR, &xcsr);
> > > > > > + regmap_write(sai->regmap, FSL_SAI_TCSR, xcsr);
> > > > > > +
> > > > > > + if (xcsr & FSL_SAI_CSR_WSF)
> > > > > > + dev_dbg(dev, "isr: Start of Tx word detected\n");
> > > > > > +
> > > > > > + if (xcsr & FSL_SAI_CSR_SEF)
> > > > > > + dev_dbg(dev, "isr: Tx Frame sync error detected\n");
> > > > > > +
> > > > > > + if (xcsr & FSL_SAI_CSR_FEF)
> > > > > > + dev_dbg(dev, "isr: Transmit underrun detected\n");
> > > > > > +
> > > > >
> > > > > Actually, the above three isrs should to write a logic 1 to this field
> > > > > to clear this flag.
> > > > >
> > > > >
> > > > > > + if (xcsr & FSL_SAI_CSR_FWF)
> > > > > > + dev_dbg(dev, "isr: Enabled transmit FIFO is empty\n");
> > > > > > +
> > > > > > + if (xcsr & FSL_SAI_CSR_FRF)
> > > > > > + dev_dbg(dev, "isr: Transmit FIFO watermark has been
> > reached\n");
> > > > > > +
> > > > >
> > > > > While are these ones really needed to clear manually ?
> > > >
> > > > The reference manual doesn't mention about the requirement. So SAI should
> > do
> > > > the self-clearance.
> > >
> > > Yes, I do think we should let it do the self-clearance, and shouldn't
> > interfere
> > > of them...
> >
> > SAI is supposed to ignore the interference, isn't it?
> >
>
> Maybe, but I'm not very sure.
> And these bits are all writable and readable.

Double-confirmed? Because FWF and FRF should be read-only bits.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/