[alsa-devel] Driver code with mpc5200 pointer problem.

Takashi Iwai tiwai at suse.de
Mon May 4 15:34:37 CEST 2009


At Mon, 4 May 2009 09:22:22 -0400,
Jon Smirl wrote:
> 
> On Mon, May 4, 2009 at 9:00 AM, Mark Brown <broonie at sirena.org.uk> wrote:
> > On Mon, May 04, 2009 at 08:58:04AM -0400, Jon Smirl wrote:
> >> On Mon, May 4, 2009 at 8:43 AM, Takashi Iwai <tiwai at suse.de> wrote:
> >
> >> > Great. ?So can we remove BROKEN kconfig again?
> >
> >> Sure. There are only two current users of the driver and we know what
> >> is going on.
> >
> > Could you expand on what you mean by "we know what is going on"?  If the
> > driver is fixed then there shouldn't really be anything for anyone to
> > know, the driver should just work.
> >
> > I wouldn't count on you being the only users - you may be the only
> > people visibly talking about the driver in public but that's not quite
> > the same thing as being the only users.
> 
> With the fix the driver is back to working the way it was before the
> jiffies issue completely broke it.
> 
> But there are still problems in the driver. For example it is not
> terminating streams correctly. I get a little burp of sound at the end
> of stream that doesn't belong there.
> 
> I'm trying to fix the burp. How is stream termination supposed to
> work? Right now when the driver gets STOP in the trigger function. It
> immediately stops the DMA engine and resets the I2S channel. I'm not
> clear on how this get synchronized in order to prevent the partial
> transfer of a DMA period and allowing the FIFO time to drain.

Any time-consuming operation such as sync can be done in prepare
callback since it is always called before (re-)triggering START.


Takashi


More information about the Alsa-devel mailing list