diff options
author | Arve Hjønnevåg <arve@android.com> | 2011-04-15 21:14:05 -0700 |
---|---|---|
committer | Arve Hjønnevåg <arve@android.com> | 2011-11-17 17:54:05 -0800 |
commit | 01a869655432e964c1651c85a465b463db175286 (patch) | |
tree | 4f7e81a801ccd4f1931237981d226a729e0e53e6 /sound/soc/samsung/dma.c | |
parent | d6b5d265382e39d707525839fa5fe2c06a28892e (diff) | |
download | kernel_samsung_crespo-01a869655432e964c1651c85a465b463db175286.zip kernel_samsung_crespo-01a869655432e964c1651c85a465b463db175286.tar.gz kernel_samsung_crespo-01a869655432e964c1651c85a465b463db175286.tar.bz2 |
ARM: herring: sound: Use audio driver from 2.6.35
fix herring-wm8994.c to compile on 2.6.39
checkpoint: use mainline sound driver
checkout: audio driver loads but locks up
checkpoint: audio setup does not complain, but playback times-out
checkpoint: using soc sound i2s and dma code from 2.6.35 - dma still hangs
checkpoint: using old codec, dma and i2s code sound plays but is distorded
fix distorted sound
rename samsung wm8994 codec to not conflict with standard wm8994 mfd device
modify dma.c to work with dma wrapper
rename some audio config options and fix defconfig
remove some duplicate clocks
Change-Id: I1b72b5b7937fd4a40a1719674976ba16d7e8f3a6
Diffstat (limited to 'sound/soc/samsung/dma.c')
-rw-r--r-- | sound/soc/samsung/dma.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c index 552bf43..fc56ed0 100644 --- a/sound/soc/samsung/dma.c +++ b/sound/soc/samsung/dma.c @@ -413,7 +413,11 @@ static void dma_free_dma_buffers(struct snd_pcm *pcm) pr_debug("Entered %s\n", __func__); +#ifdef CONFIG_S5P_INTERNAL_DMA + for (stream = 1; stream < 2; stream++) { +#else for (stream = 0; stream < 2; stream++) { +#endif substream = pcm->streams[stream].substream; if (!substream) continue; @@ -442,13 +446,14 @@ static int dma_new(struct snd_card *card, if (!card->dev->coherent_dma_mask) card->dev->coherent_dma_mask = 0xffffffff; +#ifndef CONFIG_S5P_INTERNAL_DMA if (dai->driver->playback.channels_min) { ret = preallocate_dma_buffer(pcm, SNDRV_PCM_STREAM_PLAYBACK); if (ret) goto out; } - +#endif if (dai->driver->capture.channels_min) { ret = preallocate_dma_buffer(pcm, SNDRV_PCM_STREAM_CAPTURE); @@ -459,11 +464,14 @@ out: return ret; } -static struct snd_soc_platform_driver samsung_asoc_platform = { +struct snd_soc_platform_driver samsung_asoc_platform = { .ops = &dma_ops, .pcm_new = dma_new, .pcm_free = dma_free_dma_buffers, }; +EXPORT_SYMBOL_GPL(samsung_asoc_platform); + +#ifndef CONFIG_S5P_INTERNAL_DMA static int __devinit samsung_asoc_platform_probe(struct platform_device *pdev) { @@ -498,6 +506,8 @@ static void __exit samsung_asoc_exit(void) } module_exit(samsung_asoc_exit); +#endif + MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>"); MODULE_DESCRIPTION("Samsung ASoC DMA Driver"); MODULE_LICENSE("GPL"); |