diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-11-24 06:17:38 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-11-24 06:17:38 +0100 |
commit | da8b091ef31bdd0abcb0afd795be4094c5d02f40 (patch) | |
tree | f9cbef8166e8edd7c64f0a4c779a296bb582b016 | |
parent | b006fc9486cca7c3ede476d4088fee496e47f126 (diff) | |
download | alsa-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.patch | 61 |
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] = { { |