diff options
| -rw-r--r-- | include/sound/pcm.h | 4 | ||||
| -rw-r--r-- | sound/core/pcm_native.c | 11 | ||||
| -rw-r--r-- | sound/drivers/vx/vx_pcm.c | 2 | ||||
| -rw-r--r-- | sound/mips/sgio2audio.c | 3 | ||||
| -rw-r--r-- | sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c | 1 | ||||
| -rw-r--r-- | sound/usb/ua101.c | 2 | ||||
| -rw-r--r-- | sound/usb/usbaudio.c | 2 |
7 files changed, 23 insertions, 2 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 768e3098656c..ee16122a1886 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h | |||
| @@ -1022,6 +1022,10 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, struct vm_area_s | |||
| 1022 | #define snd_pcm_lib_mmap_iomem NULL | 1022 | #define snd_pcm_lib_mmap_iomem NULL |
| 1023 | #endif | 1023 | #endif |
| 1024 | 1024 | ||
| 1025 | int snd_pcm_lib_mmap_noncached(struct snd_pcm_substream *substream, | ||
| 1026 | struct vm_area_struct *area); | ||
| 1027 | #define snd_pcm_lib_mmap_vmalloc snd_pcm_lib_mmap_noncached | ||
| 1028 | |||
| 1025 | static inline void snd_pcm_limit_isa_dma_size(int dma, size_t *max) | 1029 | static inline void snd_pcm_limit_isa_dma_size(int dma, size_t *max) |
| 1026 | { | 1030 | { |
| 1027 | *max = dma < 4 ? 64 * 1024 : 128 * 1024; | 1031 | *max = dma < 4 ? 64 * 1024 : 128 * 1024; |
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 43552fd73d24..b53fa845004d 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
| @@ -3165,9 +3165,7 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, | |||
| 3165 | long size; | 3165 | long size; |
| 3166 | unsigned long offset; | 3166 | unsigned long offset; |
| 3167 | 3167 | ||
| 3168 | #ifdef pgprot_noncached | ||
| 3169 | area->vm_page_prot = pgprot_noncached(area->vm_page_prot); | 3168 | area->vm_page_prot = pgprot_noncached(area->vm_page_prot); |
| 3170 | #endif | ||
| 3171 | area->vm_flags |= VM_IO; | 3169 | area->vm_flags |= VM_IO; |
| 3172 | size = area->vm_end - area->vm_start; | 3170 | size = area->vm_end - area->vm_start; |
| 3173 | offset = area->vm_pgoff << PAGE_SHIFT; | 3171 | offset = area->vm_pgoff << PAGE_SHIFT; |
| @@ -3181,6 +3179,15 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, | |||
| 3181 | EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem); | 3179 | EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem); |
| 3182 | #endif /* SNDRV_PCM_INFO_MMAP */ | 3180 | #endif /* SNDRV_PCM_INFO_MMAP */ |
| 3183 | 3181 | ||
| 3182 | /* mmap callback with pgprot_noncached */ | ||
| 3183 | int snd_pcm_lib_mmap_noncached(struct snd_pcm_substream *substream, | ||
| 3184 | struct vm_area_struct *area) | ||
| 3185 | { | ||
| 3186 | area->vm_page_prot = pgprot_noncached(area->vm_page_prot); | ||
| 3187 | return snd_pcm_default_mmap(substream, area); | ||
| 3188 | } | ||
| 3189 | EXPORT_SYMBOL(snd_pcm_lib_mmap_noncached); | ||
| 3190 | |||
| 3184 | /* | 3191 | /* |
| 3185 | * mmap DMA buffer | 3192 | * mmap DMA buffer |
| 3186 | */ | 3193 | */ |
diff --git a/sound/drivers/vx/vx_pcm.c b/sound/drivers/vx/vx_pcm.c index c8385d26a16f..35a2f71a6af5 100644 --- a/sound/drivers/vx/vx_pcm.c +++ b/sound/drivers/vx/vx_pcm.c | |||
| @@ -905,6 +905,7 @@ static struct snd_pcm_ops vx_pcm_playback_ops = { | |||
| 905 | .trigger = vx_pcm_trigger, | 905 | .trigger = vx_pcm_trigger, |
| 906 | .pointer = vx_pcm_playback_pointer, | 906 | .pointer = vx_pcm_playback_pointer, |
| 907 | .page = snd_pcm_lib_get_vmalloc_page, | 907 | .page = snd_pcm_lib_get_vmalloc_page, |
| 908 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 908 | }; | 909 | }; |
| 909 | 910 | ||
| 910 | 911 | ||
| @@ -1125,6 +1126,7 @@ static struct snd_pcm_ops vx_pcm_capture_ops = { | |||
| 1125 | .trigger = vx_pcm_trigger, | 1126 | .trigger = vx_pcm_trigger, |
| 1126 | .pointer = vx_pcm_capture_pointer, | 1127 | .pointer = vx_pcm_capture_pointer, |
| 1127 | .page = snd_pcm_lib_get_vmalloc_page, | 1128 | .page = snd_pcm_lib_get_vmalloc_page, |
| 1129 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 1128 | }; | 1130 | }; |
| 1129 | 1131 | ||
| 1130 | 1132 | ||
diff --git a/sound/mips/sgio2audio.c b/sound/mips/sgio2audio.c index 9b486beeb932..6aff217379d9 100644 --- a/sound/mips/sgio2audio.c +++ b/sound/mips/sgio2audio.c | |||
| @@ -691,6 +691,7 @@ static struct snd_pcm_ops snd_sgio2audio_playback1_ops = { | |||
| 691 | .trigger = snd_sgio2audio_pcm_trigger, | 691 | .trigger = snd_sgio2audio_pcm_trigger, |
| 692 | .pointer = snd_sgio2audio_pcm_pointer, | 692 | .pointer = snd_sgio2audio_pcm_pointer, |
| 693 | .page = snd_pcm_lib_get_vmalloc_page, | 693 | .page = snd_pcm_lib_get_vmalloc_page, |
| 694 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 694 | }; | 695 | }; |
| 695 | 696 | ||
| 696 | static struct snd_pcm_ops snd_sgio2audio_playback2_ops = { | 697 | static struct snd_pcm_ops snd_sgio2audio_playback2_ops = { |
| @@ -703,6 +704,7 @@ static struct snd_pcm_ops snd_sgio2audio_playback2_ops = { | |||
| 703 | .trigger = snd_sgio2audio_pcm_trigger, | 704 | .trigger = snd_sgio2audio_pcm_trigger, |
| 704 | .pointer = snd_sgio2audio_pcm_pointer, | 705 | .pointer = snd_sgio2audio_pcm_pointer, |
| 705 | .page = snd_pcm_lib_get_vmalloc_page, | 706 | .page = snd_pcm_lib_get_vmalloc_page, |
| 707 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 706 | }; | 708 | }; |
| 707 | 709 | ||
| 708 | static struct snd_pcm_ops snd_sgio2audio_capture_ops = { | 710 | static struct snd_pcm_ops snd_sgio2audio_capture_ops = { |
| @@ -715,6 +717,7 @@ static struct snd_pcm_ops snd_sgio2audio_capture_ops = { | |||
| 715 | .trigger = snd_sgio2audio_pcm_trigger, | 717 | .trigger = snd_sgio2audio_pcm_trigger, |
| 716 | .pointer = snd_sgio2audio_pcm_pointer, | 718 | .pointer = snd_sgio2audio_pcm_pointer, |
| 717 | .page = snd_pcm_lib_get_vmalloc_page, | 719 | .page = snd_pcm_lib_get_vmalloc_page, |
| 720 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 718 | }; | 721 | }; |
| 719 | 722 | ||
| 720 | /* | 723 | /* |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c index 0afa683c900e..0d668f471620 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c | |||
| @@ -277,6 +277,7 @@ static struct snd_pcm_ops pdacf_pcm_capture_ops = { | |||
| 277 | .trigger = pdacf_pcm_trigger, | 277 | .trigger = pdacf_pcm_trigger, |
| 278 | .pointer = pdacf_pcm_capture_pointer, | 278 | .pointer = pdacf_pcm_capture_pointer, |
| 279 | .page = snd_pcm_lib_get_vmalloc_page, | 279 | .page = snd_pcm_lib_get_vmalloc_page, |
| 280 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 280 | }; | 281 | }; |
| 281 | 282 | ||
| 282 | 283 | ||
diff --git a/sound/usb/ua101.c b/sound/usb/ua101.c index 16dc7bd5e120..4f4ccdf70dd0 100644 --- a/sound/usb/ua101.c +++ b/sound/usb/ua101.c | |||
| @@ -911,6 +911,7 @@ static struct snd_pcm_ops capture_pcm_ops = { | |||
| 911 | .trigger = capture_pcm_trigger, | 911 | .trigger = capture_pcm_trigger, |
| 912 | .pointer = capture_pcm_pointer, | 912 | .pointer = capture_pcm_pointer, |
| 913 | .page = snd_pcm_lib_get_vmalloc_page, | 913 | .page = snd_pcm_lib_get_vmalloc_page, |
| 914 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 914 | }; | 915 | }; |
| 915 | 916 | ||
| 916 | static struct snd_pcm_ops playback_pcm_ops = { | 917 | static struct snd_pcm_ops playback_pcm_ops = { |
| @@ -923,6 +924,7 @@ static struct snd_pcm_ops playback_pcm_ops = { | |||
| 923 | .trigger = playback_pcm_trigger, | 924 | .trigger = playback_pcm_trigger, |
| 924 | .pointer = playback_pcm_pointer, | 925 | .pointer = playback_pcm_pointer, |
| 925 | .page = snd_pcm_lib_get_vmalloc_page, | 926 | .page = snd_pcm_lib_get_vmalloc_page, |
| 927 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 926 | }; | 928 | }; |
| 927 | 929 | ||
| 928 | static const struct uac_format_type_i_discrete_descriptor * | 930 | static const struct uac_format_type_i_discrete_descriptor * |
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index 4ada98e16309..b8e0b8fda607 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c | |||
| @@ -1997,6 +1997,7 @@ static struct snd_pcm_ops snd_usb_playback_ops = { | |||
| 1997 | .trigger = snd_usb_pcm_playback_trigger, | 1997 | .trigger = snd_usb_pcm_playback_trigger, |
| 1998 | .pointer = snd_usb_pcm_pointer, | 1998 | .pointer = snd_usb_pcm_pointer, |
| 1999 | .page = snd_pcm_lib_get_vmalloc_page, | 1999 | .page = snd_pcm_lib_get_vmalloc_page, |
| 2000 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 2000 | }; | 2001 | }; |
| 2001 | 2002 | ||
| 2002 | static struct snd_pcm_ops snd_usb_capture_ops = { | 2003 | static struct snd_pcm_ops snd_usb_capture_ops = { |
| @@ -2009,6 +2010,7 @@ static struct snd_pcm_ops snd_usb_capture_ops = { | |||
| 2009 | .trigger = snd_usb_pcm_capture_trigger, | 2010 | .trigger = snd_usb_pcm_capture_trigger, |
| 2010 | .pointer = snd_usb_pcm_pointer, | 2011 | .pointer = snd_usb_pcm_pointer, |
| 2011 | .page = snd_pcm_lib_get_vmalloc_page, | 2012 | .page = snd_pcm_lib_get_vmalloc_page, |
| 2013 | .mmap = snd_pcm_lib_mmap_vmalloc, | ||
| 2012 | }; | 2014 | }; |
| 2013 | 2015 | ||
| 2014 | 2016 | ||
