Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
452af71f
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
452af71f
编写于
10月 22, 2007
作者:
B
Bryan Wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Blackfin arch: dma add some API and cleanup bf54x DMA definition
Signed-off-by:
N
Bryan Wu
<
bryan.wu@analog.com
>
上级
780431e3
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
34 addition
and
6 deletion
+34
-6
arch/blackfin/kernel/bfin_dma_5xx.c
arch/blackfin/kernel/bfin_dma_5xx.c
+26
-0
arch/blackfin/mach-bf548/dma.c
arch/blackfin/mach-bf548/dma.c
+1
-0
include/asm-blackfin/dma.h
include/asm-blackfin/dma.h
+4
-3
include/asm-blackfin/mach-bf548/defBF549.h
include/asm-blackfin/mach-bf548/defBF549.h
+1
-1
include/asm-blackfin/mach-bf548/defBF54x_base.h
include/asm-blackfin/mach-bf548/defBF54x_base.h
+1
-1
include/asm-blackfin/mach-bf548/dma.h
include/asm-blackfin/mach-bf548/dma.h
+1
-1
未找到文件。
arch/blackfin/kernel/bfin_dma_5xx.c
浏览文件 @
452af71f
...
...
@@ -420,6 +420,32 @@ unsigned short get_dma_curr_ycount(unsigned int channel)
}
EXPORT_SYMBOL
(
get_dma_curr_ycount
);
unsigned
long
get_dma_next_desc_ptr
(
unsigned
int
channel
)
{
BUG_ON
(
!
(
dma_ch
[
channel
].
chan_status
!=
DMA_CHANNEL_FREE
&&
channel
<
MAX_BLACKFIN_DMA_CHANNEL
));
return
dma_ch
[
channel
].
regs
->
next_desc_ptr
;
}
EXPORT_SYMBOL
(
get_dma_next_desc_ptr
);
unsigned
long
get_dma_curr_desc_ptr
(
unsigned
int
channel
)
{
BUG_ON
(
!
(
dma_ch
[
channel
].
chan_status
!=
DMA_CHANNEL_FREE
&&
channel
<
MAX_BLACKFIN_DMA_CHANNEL
));
return
dma_ch
[
channel
].
regs
->
curr_desc_ptr
;
}
unsigned
long
get_dma_curr_addr
(
unsigned
int
channel
)
{
BUG_ON
(
!
(
dma_ch
[
channel
].
chan_status
!=
DMA_CHANNEL_FREE
&&
channel
<
MAX_BLACKFIN_DMA_CHANNEL
));
return
dma_ch
[
channel
].
regs
->
curr_addr_ptr
;
}
EXPORT_SYMBOL
(
get_dma_curr_addr
);
static
void
*
__dma_memcpy
(
void
*
dest
,
const
void
*
src
,
size_t
size
)
{
int
direction
;
/* 1 - address decrease, 0 - address increase */
...
...
arch/blackfin/mach-bf548/dma.c
浏览文件 @
452af71f
...
...
@@ -64,6 +64,7 @@
(
struct
dma_register
*
)
MDMA_D3_NEXT_DESC_PTR
,
(
struct
dma_register
*
)
MDMA_S3_NEXT_DESC_PTR
,
};
EXPORT_SYMBOL
(
base_addr
);
int
channel2irq
(
unsigned
int
channel
)
{
...
...
include/asm-blackfin/dma.h
浏览文件 @
452af71f
...
...
@@ -109,9 +109,7 @@ struct dma_register {
unsigned
long
curr_desc_ptr
;
/* DMA Current Descriptor Pointer
register */
unsigned
short
curr_addr_ptr_lo
;
/* DMA Current Address Pointer
register */
unsigned
short
curr_addr_ptr_hi
;
/* DMA Current Address Pointer
unsigned
long
curr_addr_ptr
;
/* DMA Current Address Pointer
register */
unsigned
short
irq_status
;
/* DMA irq status register */
unsigned
short
dummy6
;
...
...
@@ -166,6 +164,9 @@ void set_dma_curr_addr(unsigned int channel, unsigned long addr);
unsigned
short
get_dma_curr_irqstat
(
unsigned
int
channel
);
unsigned
short
get_dma_curr_xcount
(
unsigned
int
channel
);
unsigned
short
get_dma_curr_ycount
(
unsigned
int
channel
);
unsigned
long
get_dma_next_desc_ptr
(
unsigned
int
channel
);
unsigned
long
get_dma_curr_desc_ptr
(
unsigned
int
channel
);
unsigned
long
get_dma_curr_addr
(
unsigned
int
channel
);
/* set large DMA mode descriptor */
void
set_dma_sg
(
unsigned
int
channel
,
struct
dmasg
*
sg
,
int
nr_sg
);
...
...
include/asm-blackfin/mach-bf548/defBF549.h
浏览文件 @
452af71f
...
...
@@ -1178,7 +1178,7 @@
/* Bit masks for HOST_STATUS */
#define
READY 0x1
/* DMA Ready */
#define
DMA_
READY 0x1
/* DMA Ready */
#define FIFOFULL 0x2
/* FIFO Full */
#define FIFOEMPTY 0x4
/* FIFO Empty */
#define DMA_COMPLETE 0x8
/* DMA Complete */
...
...
include/asm-blackfin/mach-bf548/defBF54x_base.h
浏览文件 @
452af71f
...
...
@@ -3303,7 +3303,7 @@
#define MFD 0xf000
/* Multi channel Frame Delay */
#define FSDR 0x80
/* Frame Sync to Data Relationship */
#define
MCMEM
0x10
/* Multi channel Frame Mode Enable */
#define
MCMEN
0x10
/* Multi channel Frame Mode Enable */
#define MCDRXPE 0x8
/* Multi channel DMA Receive Packing */
#define MCDTXPE 0x4
/* Multi channel DMA Transmit Packing */
#define MCCRM 0x3
/* 2X Clock Recovery Mode */
...
...
include/asm-blackfin/mach-bf548/dma.h
浏览文件 @
452af71f
...
...
@@ -70,5 +70,5 @@
#define MAX_BLACKFIN_DMA_CHANNEL 32
extern
int
channel2irq
(
unsigned
int
channel
);
extern
struct
dma_register
*
base_addr
[];
extern
struct
dma_register
*
base_addr
[
MAX_BLACKFIN_DMA_CHANNEL
];
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录