Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
09c505ce
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 3 年多
通知
13
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
09c505ce
编写于
4月 16, 2016
作者:
V
Vinod Koul
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/hsu' into fixes
上级
3fe6409c
4f4bc0ab
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
5 deletion
+11
-5
drivers/dma/hsu/hsu.c
drivers/dma/hsu/hsu.c
+8
-5
drivers/dma/hsu/hsu.h
drivers/dma/hsu/hsu.h
+3
-0
未找到文件。
drivers/dma/hsu/hsu.c
浏览文件 @
09c505ce
...
...
@@ -64,10 +64,10 @@ static void hsu_dma_chan_start(struct hsu_dma_chan *hsuc)
if
(
hsuc
->
direction
==
DMA_MEM_TO_DEV
)
{
bsr
=
config
->
dst_maxburst
;
mtsr
=
config
->
dst
_addr_width
;
mtsr
=
config
->
src
_addr_width
;
}
else
if
(
hsuc
->
direction
==
DMA_DEV_TO_MEM
)
{
bsr
=
config
->
src_maxburst
;
mtsr
=
config
->
src
_addr_width
;
mtsr
=
config
->
dst
_addr_width
;
}
hsu_chan_disable
(
hsuc
);
...
...
@@ -135,7 +135,7 @@ static u32 hsu_dma_chan_get_sr(struct hsu_dma_chan *hsuc)
sr
=
hsu_chan_readl
(
hsuc
,
HSU_CH_SR
);
spin_unlock_irqrestore
(
&
hsuc
->
vchan
.
lock
,
flags
);
return
sr
;
return
sr
&
~
(
HSU_CH_SR_DESCE_ANY
|
HSU_CH_SR_CDESC_ANY
)
;
}
irqreturn_t
hsu_dma_irq
(
struct
hsu_dma_chip
*
chip
,
unsigned
short
nr
)
...
...
@@ -254,10 +254,13 @@ static void hsu_dma_issue_pending(struct dma_chan *chan)
static
size_t
hsu_dma_active_desc_size
(
struct
hsu_dma_chan
*
hsuc
)
{
struct
hsu_dma_desc
*
desc
=
hsuc
->
desc
;
size_t
bytes
=
desc
->
length
;
size_t
bytes
=
0
;
int
i
;
i
=
desc
->
active
%
HSU_DMA_CHAN_NR_DESC
;
for
(
i
=
desc
->
active
;
i
<
desc
->
nents
;
i
++
)
bytes
+=
desc
->
sg
[
i
].
len
;
i
=
HSU_DMA_CHAN_NR_DESC
-
1
;
do
{
bytes
+=
hsu_chan_readl
(
hsuc
,
HSU_CH_DxTSR
(
i
));
}
while
(
--
i
>=
0
);
...
...
drivers/dma/hsu/hsu.h
浏览文件 @
09c505ce
...
...
@@ -41,6 +41,9 @@
#define HSU_CH_SR_DESCTO(x) BIT(8 + (x))
#define HSU_CH_SR_DESCTO_ANY (BIT(11) | BIT(10) | BIT(9) | BIT(8))
#define HSU_CH_SR_CHE BIT(15)
#define HSU_CH_SR_DESCE(x) BIT(16 + (x))
#define HSU_CH_SR_DESCE_ANY (BIT(19) | BIT(18) | BIT(17) | BIT(16))
#define HSU_CH_SR_CDESC_ANY (BIT(31) | BIT(30))
/* Bits in HSU_CH_CR */
#define HSU_CH_CR_CHA BIT(0)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录