Messages in this thread | | | Date | Wed, 30 Sep 2015 19:22:19 +0100 | From | Mark Brown <> | 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? [unhandled content-type:application/pgp-signature] | |