[alsa-devel] [PATCH 3/4] pxa2xx-i2s: Cleaner use of the FIFOs

Mark Brown broonie at sirena.org.uk
Fri May 8 12:57:10 CEST 2009


On Fri, May 08, 2009 at 01:53:55AM +0200, Karl Beldan wrote:

> The FIFO logic and the registers are reset at stream startup with
> SACR0_RST => the sibling function might suffer and the FIFOs might
> unpleasantly fill up whence the calls to pxa_i2s_wait all over the place.
> This gets rid of it.

The change to stream startup makes sense but...

> @@ -256,7 +242,6 @@ static void pxa2xx_i2s_shutdown(struct snd_pcm_substream *substream,
>  
>  	if ((SACR1 & (SACR1_DREC | SACR1_DRPL)) == (SACR1_DREC | SACR1_DRPL)) {
>  		SACR0 &= ~SACR0_ENB;
> -		pxa_i2s_wait();
>  		clk_disable(clk_i2s);
>  	}
>  }
> @@ -275,7 +260,6 @@ static int pxa2xx_i2s_suspend(struct snd_soc_dai *dai)
>  
>  	/* deactivate link */
>  	SACR0 &= ~SACR0_ENB;
> -	pxa_i2s_wait();
>  	return 0;
>  }

...there's also changes to the suspend and resume paths here which seem
like they'd be as well not to do simply for robustness.  Is there any
great reason for doing this or are you just doing it for neatness, the
changelog isn't entirely clear?


More information about the Alsa-devel mailing list