Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
6250b9ce
Commit
6250b9ce
authored
Jan 21, 2010
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'topic/noncached-mmap' into topic/misc
parents
8b296c8f
c32d977b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
23 additions
and
2 deletions
+23
-2
include/sound/pcm.h
include/sound/pcm.h
+4
-0
sound/core/pcm_native.c
sound/core/pcm_native.c
+9
-2
sound/drivers/vx/vx_pcm.c
sound/drivers/vx/vx_pcm.c
+2
-0
sound/mips/sgio2audio.c
sound/mips/sgio2audio.c
+3
-0
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
+1
-0
sound/usb/ua101.c
sound/usb/ua101.c
+2
-0
sound/usb/usbaudio.c
sound/usb/usbaudio.c
+2
-0
No files found.
include/sound/pcm.h
View file @
6250b9ce
...
...
@@ -1022,6 +1022,10 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, struct vm_area_s
#define snd_pcm_lib_mmap_iomem NULL
#endif
int
snd_pcm_lib_mmap_noncached
(
struct
snd_pcm_substream
*
substream
,
struct
vm_area_struct
*
area
);
#define snd_pcm_lib_mmap_vmalloc snd_pcm_lib_mmap_noncached
static
inline
void
snd_pcm_limit_isa_dma_size
(
int
dma
,
size_t
*
max
)
{
*
max
=
dma
<
4
?
64
*
1024
:
128
*
1024
;
...
...
sound/core/pcm_native.c
View file @
6250b9ce
...
...
@@ -3165,9 +3165,7 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream,
long
size
;
unsigned
long
offset
;
#ifdef pgprot_noncached
area
->
vm_page_prot
=
pgprot_noncached
(
area
->
vm_page_prot
);
#endif
area
->
vm_flags
|=
VM_IO
;
size
=
area
->
vm_end
-
area
->
vm_start
;
offset
=
area
->
vm_pgoff
<<
PAGE_SHIFT
;
...
...
@@ -3181,6 +3179,15 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream,
EXPORT_SYMBOL
(
snd_pcm_lib_mmap_iomem
);
#endif
/* SNDRV_PCM_INFO_MMAP */
/* mmap callback with pgprot_noncached */
int
snd_pcm_lib_mmap_noncached
(
struct
snd_pcm_substream
*
substream
,
struct
vm_area_struct
*
area
)
{
area
->
vm_page_prot
=
pgprot_noncached
(
area
->
vm_page_prot
);
return
snd_pcm_default_mmap
(
substream
,
area
);
}
EXPORT_SYMBOL
(
snd_pcm_lib_mmap_noncached
);
/*
* mmap DMA buffer
*/
...
...
sound/drivers/vx/vx_pcm.c
View file @
6250b9ce
...
...
@@ -905,6 +905,7 @@ static struct snd_pcm_ops vx_pcm_playback_ops = {
.
trigger
=
vx_pcm_trigger
,
.
pointer
=
vx_pcm_playback_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
...
...
@@ -1125,6 +1126,7 @@ static struct snd_pcm_ops vx_pcm_capture_ops = {
.
trigger
=
vx_pcm_trigger
,
.
pointer
=
vx_pcm_capture_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
...
...
sound/mips/sgio2audio.c
View file @
6250b9ce
...
...
@@ -691,6 +691,7 @@ static struct snd_pcm_ops snd_sgio2audio_playback1_ops = {
.
trigger
=
snd_sgio2audio_pcm_trigger
,
.
pointer
=
snd_sgio2audio_pcm_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
static
struct
snd_pcm_ops
snd_sgio2audio_playback2_ops
=
{
...
...
@@ -703,6 +704,7 @@ static struct snd_pcm_ops snd_sgio2audio_playback2_ops = {
.
trigger
=
snd_sgio2audio_pcm_trigger
,
.
pointer
=
snd_sgio2audio_pcm_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
static
struct
snd_pcm_ops
snd_sgio2audio_capture_ops
=
{
...
...
@@ -715,6 +717,7 @@ static struct snd_pcm_ops snd_sgio2audio_capture_ops = {
.
trigger
=
snd_sgio2audio_pcm_trigger
,
.
pointer
=
snd_sgio2audio_pcm_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
/*
...
...
sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
View file @
6250b9ce
...
...
@@ -277,6 +277,7 @@ static struct snd_pcm_ops pdacf_pcm_capture_ops = {
.
trigger
=
pdacf_pcm_trigger
,
.
pointer
=
pdacf_pcm_capture_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
...
...
sound/usb/ua101.c
View file @
6250b9ce
...
...
@@ -911,6 +911,7 @@ static struct snd_pcm_ops capture_pcm_ops = {
.
trigger
=
capture_pcm_trigger
,
.
pointer
=
capture_pcm_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
static
struct
snd_pcm_ops
playback_pcm_ops
=
{
...
...
@@ -923,6 +924,7 @@ static struct snd_pcm_ops playback_pcm_ops = {
.
trigger
=
playback_pcm_trigger
,
.
pointer
=
playback_pcm_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
static
const
struct
uac_format_type_i_discrete_descriptor
*
...
...
sound/usb/usbaudio.c
View file @
6250b9ce
...
...
@@ -1997,6 +1997,7 @@ static struct snd_pcm_ops snd_usb_playback_ops = {
.
trigger
=
snd_usb_pcm_playback_trigger
,
.
pointer
=
snd_usb_pcm_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
static
struct
snd_pcm_ops
snd_usb_capture_ops
=
{
...
...
@@ -2009,6 +2010,7 @@ static struct snd_pcm_ops snd_usb_capture_ops = {
.
trigger
=
snd_usb_pcm_capture_trigger
,
.
pointer
=
snd_usb_pcm_pointer
,
.
page
=
snd_pcm_lib_get_vmalloc_page
,
.
mmap
=
snd_pcm_lib_mmap_vmalloc
,
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment