[alsa-devel] [PATCH] ALSA: ASoC V2: Improve pause/unpause performance in Freescale 8610 drivers

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Aug 6 10:47:10 CEST 2008


On Tue, Aug 05, 2008 at 02:37:31PM -0500, Timur Tabi wrote:

> Signed-off-by: Timur Tabi <timur at freescale.com>

Applied, thanks.

> +			 * Wait until the SSI has filled its FIFO. Without this
> +			 * delay, ALSA complains about overruns.  When the FIFO
> +			 * is full, the DMA controller initiates its first
> +			 * transfer.  Until then, however, the DMA's DAR
> +			 * register is zero, which translates to an
> +			 * out-of-bounds pointer.  This makes ALSA think an
> +			 * overrun has occurred.
>  			 */
> -			mdelay(1);
> +			while (!(in_be32(&ssi->sisr) & CCSR_SSI_SISR_RFF0));

It'd be nice to have a timeout here in case the FIFO never fills.


More information about the Alsa-devel mailing list