ALSA: ASoC: fix SNDCTL_DSP_SYNC support in Freescale 8610 sound drivers
commit1c94e41a5734290d14d4ca122e5dd26269571f76
authorTimur Tabi <timur@freescale.com>
Tue, 12 Aug 2008 15:11:11 +0000 (12 17:11 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 20 Aug 2008 18:05:09 +0000 (20 11:05 -0700)
treea9b214e7e945b5c4612958d4f7d32acb1b8fd3ab
parentb4160058ee2f44605bc52e2c1b49768a532c7140
ALSA: ASoC: fix SNDCTL_DSP_SYNC support in Freescale 8610 sound drivers

Upstream-commit-id: bf9c8c9ddef7ef761ae9747349175adad0ef16ce

If an OSS application calls SNDCTL_DSP_SYNC, then ALSA will call the driver's
_hw_params and _prepare functions again.  On the Freescale MPC8610 DMA ASoC
driver, this caused the DMA controller to be unneccessarily re-programmed, and
apparently it doesn't like that.  The DMA will then not operate when
instructed.  This patch relocates much of the DMA programming to
fsl_dma_open(), which is called only once.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/soc/fsl/fsl_dma.c