aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/mpc5200_dma.h
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2009-11-07 03:34:43 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-11-07 07:40:09 -0500
commitc939e5c82142978d9d534aca34187a8489fd13f3 (patch)
tree5c0ea0815d98c71371feb25f76e852f2123e0d95 /sound/soc/fsl/mpc5200_dma.h
parent1d8222e8df07ce4f86fb7fa80b02bdee03b57985 (diff)
ASoC/mpc5200: fix enable/disable of AC97 slots
The MPC5200 AC97 driver is disabling the slots when a stop trigger is received, but not reenabling them if the stream is started again without processing the hw_params again. This patch fixes the problem by caching the slot enable bit settings calculated at hw_params time so that they can be reapplied every time the start trigger is received. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/fsl/mpc5200_dma.h')
-rw-r--r--sound/soc/fsl/mpc5200_dma.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/fsl/mpc5200_dma.h b/sound/soc/fsl/mpc5200_dma.h
index 956d6a5f5a8c..22208b373fb9 100644
--- a/sound/soc/fsl/mpc5200_dma.h
+++ b/sound/soc/fsl/mpc5200_dma.h
@@ -16,6 +16,7 @@
16 * @period_end: physical address of end of DMA region 16 * @period_end: physical address of end of DMA region
17 * @period_next_pt: physical address of next DMA buffer to enqueue 17 * @period_next_pt: physical address of next DMA buffer to enqueue
18 * @period_bytes: size of DMA period in bytes 18 * @period_bytes: size of DMA period in bytes
19 * @ac97_slot_bits: Enable bits for turning on the correct AC97 slot
19 */ 20 */
20struct psc_dma_stream { 21struct psc_dma_stream {
21 struct snd_pcm_runtime *runtime; 22 struct snd_pcm_runtime *runtime;
@@ -28,6 +29,9 @@ struct psc_dma_stream {
28 int period_current; 29 int period_current;
29 int period_bytes; 30 int period_bytes;
30 int period_count; 31 int period_count;
32
33 /* AC97 state */
34 u32 ac97_slot_bits;
31}; 35};
32 36
33/** 37/**