[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150930182219.GU15635@sirena.org.uk>
Date: Wed, 30 Sep 2015 19:22:19 +0100
From: Mark Brown <broonie@...nel.org>
To: yitian <yitian.bu@...gramtek.com>
Cc: lgirdwood@...il.com, perex@...ex.cz, tiwai@...e.com,
Andrew.Jackson@....com, wsa@...-dreams.de,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [RESEND PATCH v2 1/1] ASoC: dwc: fix dma stop transferring issue
On Tue, Sep 29, 2015 at 10:43:17PM +0800, yitian wrote:
> Designware I2S uses tx empty and rx available signals as the DMA
> handshaking signals. during music playing, if XRUN occurs,
> i2s_stop() function will be executed and both tx and rx irq are
> masked, when music continues to be played, i2s_start() is executed
> but both tx and rx irq are not unmasked which cause I2S stop
> sending DMA handshaking signal to DMA controller, and it finally
> causes music playing will be stopped once XRUN occurs for the first
> time.
I'm a bit concerned about how this code ever worked given the above
description - is there some race condition which allows things to work
if we're lucky?
Download attachment "signature.asc" of type "application/pgp-signature" (474 bytes)
Powered by blists - more mailing lists