Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
709c9464
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
709c9464
编写于
10月 03, 2016
作者:
V
Vinod Koul
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'topic/pl330' into for-linus
上级
765630da
a40235a2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
1 deletion
+14
-1
drivers/dma/pl330.c
drivers/dma/pl330.c
+14
-1
未找到文件。
drivers/dma/pl330.c
浏览文件 @
709c9464
...
...
@@ -2272,7 +2272,7 @@ pl330_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
{
enum
dma_status
ret
;
unsigned
long
flags
;
struct
dma_pl330_desc
*
desc
,
*
running
=
NULL
;
struct
dma_pl330_desc
*
desc
,
*
running
=
NULL
,
*
last_enq
=
NULL
;
struct
dma_pl330_chan
*
pch
=
to_pchan
(
chan
);
unsigned
int
transferred
,
residual
=
0
;
...
...
@@ -2285,10 +2285,13 @@ pl330_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
goto
out
;
spin_lock_irqsave
(
&
pch
->
lock
,
flags
);
spin_lock
(
&
pch
->
thread
->
dmac
->
lock
);
if
(
pch
->
thread
->
req_running
!=
-
1
)
running
=
pch
->
thread
->
req
[
pch
->
thread
->
req_running
].
desc
;
last_enq
=
pch
->
thread
->
req
[
pch
->
thread
->
lstenq
].
desc
;
/* Check in pending list */
list_for_each_entry
(
desc
,
&
pch
->
work_list
,
node
)
{
if
(
desc
->
status
==
DONE
)
...
...
@@ -2296,6 +2299,15 @@ pl330_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
else
if
(
running
&&
desc
==
running
)
transferred
=
pl330_get_current_xferred_count
(
pch
,
desc
);
else
if
(
desc
->
status
==
BUSY
)
/*
* Busy but not running means either just enqueued,
* or finished and not yet marked done
*/
if
(
desc
==
last_enq
)
transferred
=
0
;
else
transferred
=
desc
->
bytes_requested
;
else
transferred
=
0
;
residual
+=
desc
->
bytes_requested
-
transferred
;
...
...
@@ -2316,6 +2328,7 @@ pl330_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
if
(
desc
->
last
)
residual
=
0
;
}
spin_unlock
(
&
pch
->
thread
->
dmac
->
lock
);
spin_unlock_irqrestore
(
&
pch
->
lock
,
flags
);
out:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录