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
nexedi
linux
Commits
39c36ad0
Commit
39c36ad0
authored
Jul 15, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/fix/omap' into asoc-linus
parents
ad81f054
9ab1fac4
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
44 deletions
+39
-44
sound/soc/omap/mcbsp.c
sound/soc/omap/mcbsp.c
+22
-17
sound/soc/omap/omap-dmic.c
sound/soc/omap/omap-dmic.c
+1
-10
sound/soc/omap/omap-mcpdm.c
sound/soc/omap/omap-mcpdm.c
+2
-14
sound/soc/omap/omap-pcm.c
sound/soc/omap/omap-pcm.c
+14
-3
No files found.
sound/soc/omap/mcbsp.c
View file @
39c36ad0
...
...
@@ -1012,28 +1012,33 @@ int omap_mcbsp_init(struct platform_device *pdev)
}
}
if
(
!
pdev
->
dev
.
of_node
)
{
res
=
platform_get_resource_byname
(
pdev
,
IORESOURCE_DMA
,
"tx"
);
if
(
!
res
)
{
dev_err
(
&
pdev
->
dev
,
"invalid tx DMA channel
\n
"
);
return
-
ENODEV
;
}
mcbsp
->
dma_req
[
0
]
=
res
->
start
;
mcbsp
->
dma_data
[
0
].
filter_data
=
&
mcbsp
->
dma_req
[
0
];
res
=
platform_get_resource_byname
(
pdev
,
IORESOURCE_DMA
,
"rx"
);
if
(
!
res
)
{
dev_err
(
&
pdev
->
dev
,
"invalid rx DMA channel
\n
"
);
return
-
ENODEV
;
}
/* RX DMA request number, and port address configuration */
mcbsp
->
dma_req
[
1
]
=
res
->
start
;
mcbsp
->
dma_data
[
1
].
filter_data
=
&
mcbsp
->
dma_req
[
1
];
mcbsp
->
dma_data
[
1
].
addr
=
omap_mcbsp_dma_reg_params
(
mcbsp
,
1
);
mcbsp
->
dma_data
[
1
].
maxburst
=
4
;
res
=
platform_get_resource_byname
(
pdev
,
IORESOURCE_DMA
,
"tx"
);
if
(
!
res
)
{
dev_err
(
&
pdev
->
dev
,
"invalid tx DMA channel
\n
"
);
return
-
ENODEV
;
}
else
{
mcbsp
->
dma_data
[
0
].
filter_data
=
"tx"
;
mcbsp
->
dma_data
[
1
].
filter_data
=
"rx"
;
}
/* TX DMA request number, and port address configuration */
mcbsp
->
dma_req
[
0
]
=
res
->
start
;
mcbsp
->
dma_data
[
0
].
filter_data
=
&
mcbsp
->
dma_req
[
0
];
mcbsp
->
dma_data
[
0
].
addr
=
omap_mcbsp_dma_reg_params
(
mcbsp
,
0
);
mcbsp
->
dma_data
[
0
].
maxburst
=
4
;
mcbsp
->
dma_data
[
1
].
addr
=
omap_mcbsp_dma_reg_params
(
mcbsp
,
1
);
mcbsp
->
dma_data
[
1
].
maxburst
=
4
;
mcbsp
->
fclk
=
clk_get
(
&
pdev
->
dev
,
"fck"
);
if
(
IS_ERR
(
mcbsp
->
fclk
))
{
ret
=
PTR_ERR
(
mcbsp
->
fclk
);
...
...
sound/soc/omap/omap-dmic.c
View file @
39c36ad0
...
...
@@ -57,7 +57,6 @@ struct omap_dmic {
struct
mutex
mutex
;
struct
snd_dmaengine_dai_dma_data
dma_data
;
unsigned
int
dma_req
;
};
static
inline
void
omap_dmic_write
(
struct
omap_dmic
*
dmic
,
u16
reg
,
u32
val
)
...
...
@@ -478,15 +477,7 @@ static int asoc_dmic_probe(struct platform_device *pdev)
}
dmic
->
dma_data
.
addr
=
res
->
start
+
OMAP_DMIC_DATA_REG
;
res
=
platform_get_resource
(
pdev
,
IORESOURCE_DMA
,
0
);
if
(
!
res
)
{
dev_err
(
dmic
->
dev
,
"invalid dma resource
\n
"
);
ret
=
-
ENODEV
;
goto
err_put_clk
;
}
dmic
->
dma_req
=
res
->
start
;
dmic
->
dma_data
.
filter_data
=
&
dmic
->
dma_req
;
dmic
->
dma_data
.
filter_data
=
"up_link"
;
res
=
platform_get_resource_byname
(
pdev
,
IORESOURCE_MEM
,
"mpu"
);
if
(
!
res
)
{
...
...
sound/soc/omap/omap-mcpdm.c
View file @
39c36ad0
...
...
@@ -66,7 +66,6 @@ struct omap_mcpdm {
bool
restart
;
struct
snd_dmaengine_dai_dma_data
dma_data
[
2
];
unsigned
int
dma_req
[
2
];
};
/*
...
...
@@ -477,19 +476,8 @@ static int asoc_mcpdm_probe(struct platform_device *pdev)
mcpdm
->
dma_data
[
0
].
addr
=
res
->
start
+
MCPDM_REG_DN_DATA
;
mcpdm
->
dma_data
[
1
].
addr
=
res
->
start
+
MCPDM_REG_UP_DATA
;
res
=
platform_get_resource_byname
(
pdev
,
IORESOURCE_DMA
,
"dn_link"
);
if
(
!
res
)
return
-
ENODEV
;
mcpdm
->
dma_req
[
0
]
=
res
->
start
;
mcpdm
->
dma_data
[
0
].
filter_data
=
&
mcpdm
->
dma_req
[
0
];
res
=
platform_get_resource_byname
(
pdev
,
IORESOURCE_DMA
,
"up_link"
);
if
(
!
res
)
return
-
ENODEV
;
mcpdm
->
dma_req
[
1
]
=
res
->
start
;
mcpdm
->
dma_data
[
1
].
filter_data
=
&
mcpdm
->
dma_req
[
1
];
mcpdm
->
dma_data
[
0
].
filter_data
=
"dn_link"
;
mcpdm
->
dma_data
[
1
].
filter_data
=
"up_link"
;
res
=
platform_get_resource_byname
(
pdev
,
IORESOURCE_MEM
,
"mpu"
);
if
(
res
==
NULL
)
...
...
sound/soc/omap/omap-pcm.c
View file @
39c36ad0
...
...
@@ -113,14 +113,25 @@ static int omap_pcm_open(struct snd_pcm_substream *substream)
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_dmaengine_dai_dma_data
*
dma_data
;
int
ret
;
snd_soc_set_runtime_hwparams
(
substream
,
&
omap_pcm_hardware
);
dma_data
=
snd_soc_dai_get_dma_data
(
rtd
->
cpu_dai
,
substream
);
return
snd_dmaengine_pcm_open_request_chan
(
substream
,
/* DT boot: filter_data is the DMA name */
if
(
rtd
->
cpu_dai
->
dev
->
of_node
)
{
struct
dma_chan
*
chan
;
chan
=
dma_request_slave_channel
(
rtd
->
cpu_dai
->
dev
,
dma_data
->
filter_data
);
ret
=
snd_dmaengine_pcm_open
(
substream
,
chan
);
}
else
{
ret
=
snd_dmaengine_pcm_open_request_chan
(
substream
,
omap_dma_filter_fn
,
dma_data
->
filter_data
);
}
return
ret
;
}
static
int
omap_pcm_mmap
(
struct
snd_pcm_substream
*
substream
,
...
...
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