Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
21359a84
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
21359a84
编写于
1月 31, 2018
作者:
V
Vinod Koul
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'topic/tegra' into for-linus
上级
6811837d
f6160f35
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
5 deletion
+14
-5
drivers/dma/tegra20-apb-dma.c
drivers/dma/tegra20-apb-dma.c
+14
-5
未找到文件。
drivers/dma/tegra20-apb-dma.c
浏览文件 @
21359a84
...
@@ -353,7 +353,8 @@ static int tegra_dma_slave_config(struct dma_chan *dc,
...
@@ -353,7 +353,8 @@ static int tegra_dma_slave_config(struct dma_chan *dc,
}
}
memcpy
(
&
tdc
->
dma_sconfig
,
sconfig
,
sizeof
(
*
sconfig
));
memcpy
(
&
tdc
->
dma_sconfig
,
sconfig
,
sizeof
(
*
sconfig
));
if
(
tdc
->
slave_id
==
TEGRA_APBDMA_SLAVE_ID_INVALID
)
{
if
(
tdc
->
slave_id
==
TEGRA_APBDMA_SLAVE_ID_INVALID
&&
sconfig
->
device_fc
)
{
if
(
sconfig
->
slave_id
>
TEGRA_APBDMA_CSR_REQ_SEL_MASK
)
if
(
sconfig
->
slave_id
>
TEGRA_APBDMA_CSR_REQ_SEL_MASK
)
return
-
EINVAL
;
return
-
EINVAL
;
tdc
->
slave_id
=
sconfig
->
slave_id
;
tdc
->
slave_id
=
sconfig
->
slave_id
;
...
@@ -970,8 +971,13 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_slave_sg(
...
@@ -970,8 +971,13 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_slave_sg(
TEGRA_APBDMA_AHBSEQ_WRAP_SHIFT
;
TEGRA_APBDMA_AHBSEQ_WRAP_SHIFT
;
ahb_seq
|=
TEGRA_APBDMA_AHBSEQ_BUS_WIDTH_32
;
ahb_seq
|=
TEGRA_APBDMA_AHBSEQ_BUS_WIDTH_32
;
csr
|=
TEGRA_APBDMA_CSR_ONCE
|
TEGRA_APBDMA_CSR_FLOW
;
csr
|=
TEGRA_APBDMA_CSR_ONCE
;
csr
|=
tdc
->
slave_id
<<
TEGRA_APBDMA_CSR_REQ_SEL_SHIFT
;
if
(
tdc
->
slave_id
!=
TEGRA_APBDMA_SLAVE_ID_INVALID
)
{
csr
|=
TEGRA_APBDMA_CSR_FLOW
;
csr
|=
tdc
->
slave_id
<<
TEGRA_APBDMA_CSR_REQ_SEL_SHIFT
;
}
if
(
flags
&
DMA_PREP_INTERRUPT
)
if
(
flags
&
DMA_PREP_INTERRUPT
)
csr
|=
TEGRA_APBDMA_CSR_IE_EOC
;
csr
|=
TEGRA_APBDMA_CSR_IE_EOC
;
...
@@ -1110,10 +1116,13 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic(
...
@@ -1110,10 +1116,13 @@ static struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic(
TEGRA_APBDMA_AHBSEQ_WRAP_SHIFT
;
TEGRA_APBDMA_AHBSEQ_WRAP_SHIFT
;
ahb_seq
|=
TEGRA_APBDMA_AHBSEQ_BUS_WIDTH_32
;
ahb_seq
|=
TEGRA_APBDMA_AHBSEQ_BUS_WIDTH_32
;
csr
|=
TEGRA_APBDMA_CSR_FLOW
;
if
(
tdc
->
slave_id
!=
TEGRA_APBDMA_SLAVE_ID_INVALID
)
{
csr
|=
TEGRA_APBDMA_CSR_FLOW
;
csr
|=
tdc
->
slave_id
<<
TEGRA_APBDMA_CSR_REQ_SEL_SHIFT
;
}
if
(
flags
&
DMA_PREP_INTERRUPT
)
if
(
flags
&
DMA_PREP_INTERRUPT
)
csr
|=
TEGRA_APBDMA_CSR_IE_EOC
;
csr
|=
TEGRA_APBDMA_CSR_IE_EOC
;
csr
|=
tdc
->
slave_id
<<
TEGRA_APBDMA_CSR_REQ_SEL_SHIFT
;
apb_seq
|=
TEGRA_APBDMA_APBSEQ_WRAP_WORD_1
;
apb_seq
|=
TEGRA_APBDMA_APBSEQ_WRAP_WORD_1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录