[alsa-devel] [PATCH V1 09/13] Main rewite of the mpc5200 audio DMA code

Mark Brown broonie at opensource.wolfsonmicro.com
Thu May 14 12:51:32 CEST 2009


On Wed, May 13, 2009 at 09:59:18PM -0400, Jon Smirl wrote:

> -static const struct snd_pcm_hardware psc_dma_pcm_hardware = {
> +static const struct snd_pcm_hardware psc_dma_hardware = {
>  	.info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
>  		SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
>  		SNDRV_PCM_INFO_BATCH,
> -	.formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE |
> -		   SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE,
> +	.formats = SNDRV_PCM_FMTBIT_S32_BE,

This seems like a major and very surprising reduction in functionality.
Why is this required?

> +	if (!psc_dma->playback.active &&
> +	    !psc_dma->capture.active) {
> +		/* Setup the IRQs */
> +	}

Should this be implemented or removed?

> +	if (!psc_dma->playback.active &&
> +	    !psc_dma->capture.active) {
> +
> +		/* Disable all interrupts and reset the PSC */
> +		out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr);
> +		//out_8(&psc_dma->psc_regs->command, 3 << 4); /* reset tx */
> +		//out_8(&psc_dma->psc_regs->command, 2 << 4); /* reset rx */
> +		//out_8(&psc_dma->psc_regs->command, 1 << 4); /* reset mode */
> +		//out_8(&psc_dma->psc_regs->command, 4 << 4); /* reset error */
> +
> +	}
> +

The commented code should go.


More information about the Alsa-devel mailing list