]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - sound/arm/aaci.c
Merge branch 'topic/core-change' into for-linus
[net-next-2.6.git] / sound / arm / aaci.c
index 6c160a038b239a7c9e2baa0d3f941c68c7d68398..1534f3d88bce9b7af634207f7a832ede80fd0225 100644 (file)
@@ -30,7 +30,6 @@
 #include <sound/pcm_params.h>
 
 #include "aaci.h"
-#include "devdma.h"
 
 #define DRIVER_NAME    "aaci-pl041"
 
@@ -492,7 +491,7 @@ static int aaci_pcm_hw_free(struct snd_pcm_substream *substream)
        /*
         * Clear out the DMA and any allocated buffers.
         */
-       devdma_hw_free(NULL, substream);
+       snd_pcm_lib_free_pages(substream);
 
        return 0;
 }
@@ -509,8 +508,8 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
                aacirun->pcm_open = 0;
        }
 
-       err = devdma_hw_alloc(NULL, substream,
-                             params_buffer_bytes(params));
+       err = snd_pcm_lib_malloc_pages(substream,
+                                      params_buffer_bytes(params));
        if (err < 0)
                goto out;
 
@@ -555,11 +554,6 @@ static snd_pcm_uframes_t aaci_pcm_pointer(struct snd_pcm_substream *substream)
        return bytes_to_frames(runtime, bytes);
 }
 
-static int aaci_pcm_mmap(struct snd_pcm_substream *substream, struct vm_area_struct *vma)
-{
-       return devdma_mmap(NULL, substream, vma);
-}
-
 
 /*
  * Playback specific ALSA stuff
@@ -726,7 +720,6 @@ static struct snd_pcm_ops aaci_playback_ops = {
        .prepare        = aaci_pcm_prepare,
        .trigger        = aaci_pcm_playback_trigger,
        .pointer        = aaci_pcm_pointer,
-       .mmap           = aaci_pcm_mmap,
 };
 
 static int aaci_pcm_capture_hw_params(struct snd_pcm_substream *substream,
@@ -854,7 +847,6 @@ static struct snd_pcm_ops aaci_capture_ops = {
        .prepare        = aaci_pcm_capture_prepare,
        .trigger        = aaci_pcm_capture_trigger,
        .pointer        = aaci_pcm_pointer,
-       .mmap           = aaci_pcm_mmap,
 };
 
 /*
@@ -1044,6 +1036,8 @@ static int __devinit aaci_init_pcm(struct aaci *aaci)
 
                snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &aaci_playback_ops);
                snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &aaci_capture_ops);
+               snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
+                                                     NULL, 0, 64 * 104);
        }
 
        return ret;