aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-11-24 06:17:38 +0100
committerTakashi Iwai <tiwai@suse.de>2010-11-24 06:17:38 +0100
commitda8b091ef31bdd0abcb0afd795be4094c5d02f40 (patch)
treef9cbef8166e8edd7c64f0a4c779a296bb582b016
parentb006fc9486cca7c3ede476d4088fee496e47f126 (diff)
downloadalsa-driver-build-unstable-da8b091ef31bdd0abcb0afd795be4094c5d02f40.tar.gz
Regenerate core/pcm_native.patch
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--acore/pcm_native.patch61
1 files changed, 29 insertions, 32 deletions
diff --git a/acore/pcm_native.patch b/acore/pcm_native.patch
index 63d8ccf70..ac1e17ada 100644
--- a/acore/pcm_native.patch
+++ b/acore/pcm_native.patch
@@ -1,23 +1,20 @@
---- ../alsa-kernel/core/pcm_native.c 2010-09-16 23:10:16.996220991 +0200
-+++ pcm_native.c 2010-09-17 12:23:15.092424934 +0200
+--- ../alsa-kernel/core/pcm_native.c 2010-11-24 06:14:14.945117050 +0100
++++ pcm_native.c 2010-11-24 06:15:49.184964358 +0100
@@ -1,3 +1,5 @@
+#define __NO_VERSION__
+#include "adriver.h"
/*
* Digital Audio (PCM) abstract layer
* Copyright (c) by Jaroslav Kysela <perex@perex.cz>
-@@ -20,9 +22,9 @@
+@@ -20,6 +22,7 @@
*/
#include <linux/mm.h>
+#include <linux/smp_lock.h>
#include <linux/file.h>
#include <linux/slab.h>
--#include <linux/smp_lock.h>
#include <linux/time.h>
- #include <linux/pm_qos_params.h>
- #include <linux/uio.h>
-@@ -369,7 +371,10 @@
+@@ -368,7 +371,10 @@
return usecs;
}
@@ -29,7 +26,7 @@
struct snd_pcm_hw_params *params)
{
struct snd_pcm_runtime *runtime;
-@@ -451,11 +456,29 @@
+@@ -453,11 +459,29 @@
snd_pcm_timer_resolution_change(substream);
runtime->status->state = SNDRV_PCM_STATE_SETUP;
@@ -59,7 +56,7 @@
return 0;
_error:
/* hardware might be unuseable from this time,
-@@ -510,7 +533,17 @@
+@@ -512,7 +536,17 @@
if (substream->ops->hw_free)
result = substream->ops->hw_free(substream);
runtime->status->state = SNDRV_PCM_STATE_OPEN;
@@ -77,7 +74,7 @@
return result;
}
-@@ -1552,7 +1585,11 @@
+@@ -1554,7 +1588,11 @@
file = fget(fd);
if (!file)
return NULL;
@@ -89,7 +86,7 @@
if (!S_ISCHR(inode->i_mode) ||
imajor(inode) != snd_major) {
fput(file);
-@@ -1994,8 +2031,20 @@
+@@ -1996,8 +2034,20 @@
substream->ops->close(substream);
substream->hw_opened = 0;
}
@@ -110,7 +107,7 @@
if (substream->pcm_release) {
substream->pcm_release(substream);
substream->pcm_release = NULL;
-@@ -2811,25 +2860,50 @@
+@@ -2813,25 +2863,50 @@
struct snd_pcm_runtime *runtime;
snd_pcm_sframes_t result;
@@ -168,7 +165,7 @@
{
struct snd_pcm_file *pcm_file;
struct snd_pcm_substream *substream;
-@@ -2839,7 +2913,11 @@
+@@ -2841,7 +2916,11 @@
void __user **bufs;
snd_pcm_uframes_t frames;
@@ -180,7 +177,7 @@
substream = pcm_file->substream;
if (PCM_RUNTIME_CHECK(substream))
return -ENXIO;
-@@ -2863,8 +2941,13 @@
+@@ -2865,8 +2944,13 @@
return result;
}
@@ -194,7 +191,7 @@
{
struct snd_pcm_file *pcm_file;
struct snd_pcm_substream *substream;
-@@ -2874,7 +2957,11 @@
+@@ -2876,7 +2960,11 @@
void __user **bufs;
snd_pcm_uframes_t frames;
@@ -206,7 +203,7 @@
substream = pcm_file->substream;
if (PCM_RUNTIME_CHECK(substream))
return -ENXIO;
-@@ -2896,6 +2983,7 @@
+@@ -2898,6 +2986,7 @@
kfree(bufs);
return result;
}
@@ -214,7 +211,7 @@
static unsigned int snd_pcm_playback_poll(struct file *file, poll_table * wait)
{
-@@ -2983,6 +3071,22 @@
+@@ -2985,6 +3074,22 @@
* mmap support
*/
@@ -237,7 +234,7 @@
/*
* Only on coherent architectures, we can mmap the status and the control records
* for effcient data transfer. On others, we have to use HWSYNC ioctl...
-@@ -2991,6 +3095,7 @@
+@@ -2993,6 +3098,7 @@
/*
* mmap status record
*/
@@ -245,7 +242,7 @@
static int snd_pcm_mmap_status_fault(struct vm_area_struct *area,
struct vm_fault *vmf)
{
-@@ -3004,10 +3109,49 @@
+@@ -3006,10 +3112,49 @@
get_page(vmf->page);
return 0;
}
@@ -295,7 +292,7 @@
};
static int snd_pcm_mmap_status(struct snd_pcm_substream *substream, struct file *file,
-@@ -3022,7 +3166,11 @@
+@@ -3024,7 +3169,11 @@
if (size != PAGE_ALIGN(sizeof(struct snd_pcm_mmap_status)))
return -EINVAL;
area->vm_ops = &snd_pcm_vm_ops_status;
@@ -307,7 +304,7 @@
area->vm_flags |= VM_RESERVED;
return 0;
}
-@@ -3030,6 +3178,7 @@
+@@ -3032,6 +3181,7 @@
/*
* mmap control record
*/
@@ -315,7 +312,7 @@
static int snd_pcm_mmap_control_fault(struct vm_area_struct *area,
struct vm_fault *vmf)
{
-@@ -3043,10 +3192,50 @@
+@@ -3045,10 +3195,50 @@
get_page(vmf->page);
return 0;
}
@@ -366,7 +363,7 @@
};
static int snd_pcm_mmap_control(struct snd_pcm_substream *substream, struct file *file,
-@@ -3061,7 +3250,11 @@
+@@ -3063,7 +3253,11 @@
if (size != PAGE_ALIGN(sizeof(struct snd_pcm_mmap_control)))
return -EINVAL;
area->vm_ops = &snd_pcm_vm_ops_control;
@@ -378,7 +375,7 @@
area->vm_flags |= VM_RESERVED;
return 0;
}
-@@ -3102,9 +3295,16 @@
+@@ -3104,9 +3298,16 @@
return virt_to_page(vaddr);
}
@@ -395,7 +392,7 @@
static int snd_pcm_mmap_data_fault(struct vm_area_struct *area,
struct vm_fault *vmf)
{
-@@ -3131,6 +3331,59 @@
+@@ -3133,6 +3334,59 @@
vmf->page = page;
return 0;
}
@@ -455,7 +452,7 @@
static const struct vm_operations_struct snd_pcm_vm_ops_data = {
.open = snd_pcm_mmap_data_open,
-@@ -3140,7 +3393,14 @@
+@@ -3142,7 +3396,14 @@
static const struct vm_operations_struct snd_pcm_vm_ops_data_fault = {
.open = snd_pcm_mmap_data_open,
.close = snd_pcm_mmap_data_close,
@@ -470,7 +467,7 @@
};
#ifndef ARCH_HAS_DMA_MMAP_COHERENT
-@@ -3188,11 +3448,26 @@
+@@ -3190,11 +3451,26 @@
area->vm_page_prot = pgprot_noncached(area->vm_page_prot);
area->vm_flags |= VM_IO;
size = area->vm_end - area->vm_start;
@@ -498,7 +495,7 @@
return 0;
}
-@@ -3236,7 +3511,7 @@
+@@ -3238,7 +3514,7 @@
runtime->access == SNDRV_PCM_ACCESS_RW_NONINTERLEAVED)
return -EINVAL;
size = area->vm_end - area->vm_start;
@@ -507,7 +504,7 @@
dma_bytes = PAGE_ALIGN(runtime->dma_bytes);
if ((size_t)size > dma_bytes)
return -EINVAL;
-@@ -3244,7 +3519,11 @@
+@@ -3246,7 +3522,11 @@
return -EINVAL;
area->vm_ops = &snd_pcm_vm_ops_data;
@@ -519,7 +516,7 @@
if (substream->ops->mmap)
err = substream->ops->mmap(substream, area);
else
-@@ -3267,7 +3546,7 @@
+@@ -3269,7 +3549,7 @@
if (PCM_RUNTIME_CHECK(substream))
return -ENXIO;
@@ -528,7 +525,7 @@
switch (offset) {
case SNDRV_PCM_MMAP_OFFSET_STATUS:
if (pcm_file->no_compat_mmap)
-@@ -3300,12 +3579,34 @@
+@@ -3302,12 +3582,34 @@
/*
* ioctl32 compat
*/
@@ -564,7 +561,7 @@
/*
* To be removed helpers to keep binary compatibility
*/
-@@ -3444,31 +3745,55 @@
+@@ -3446,31 +3748,55 @@
const struct file_operations snd_pcm_f_ops[2] = {
{