Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
bc6447b8
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
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看板
提交
bc6447b8
编写于
1月 02, 2009
作者:
R
Russell King
提交者:
Russell King
1月 02, 2009
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[ARM] dma: make DMA_MODE_xxx reflect ISA DMA settings
Signed-off-by:
N
Russell King
<
rmk+kernel@arm.linux.org.uk
>
上级
5369bea7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
9 addition
and
17 deletion
+9
-17
arch/arm/include/asm/dma.h
arch/arm/include/asm/dma.h
+8
-5
arch/arm/kernel/dma-isa.c
arch/arm/kernel/dma-isa.c
+1
-12
未找到文件。
arch/arm/include/asm/dma.h
浏览文件 @
bc6447b8
...
@@ -26,12 +26,15 @@
...
@@ -26,12 +26,15 @@
*/
*/
typedef
unsigned
int
dmamode_t
;
typedef
unsigned
int
dmamode_t
;
#define DMA_MODE_MASK 3
/*
* The DMA modes reflect the settings for the ISA DMA controller
*/
#define DMA_MODE_MASK 0xcc
#define DMA_MODE_READ 0
#define DMA_MODE_READ 0
x44
#define DMA_MODE_WRITE
1
#define DMA_MODE_WRITE
0x48
#define DMA_MODE_CASCADE
2
#define DMA_MODE_CASCADE
0xc0
#define DMA_AUTOINIT
4
#define DMA_AUTOINIT
0x10
extern
spinlock_t
dma_spin_lock
;
extern
spinlock_t
dma_spin_lock
;
...
...
arch/arm/kernel/dma-isa.c
浏览文件 @
bc6447b8
...
@@ -24,11 +24,6 @@
...
@@ -24,11 +24,6 @@
#include <asm/dma.h>
#include <asm/dma.h>
#include <asm/mach/dma.h>
#include <asm/mach/dma.h>
#define ISA_DMA_MODE_READ 0x44
#define ISA_DMA_MODE_WRITE 0x48
#define ISA_DMA_MODE_CASCADE 0xc0
#define ISA_DMA_AUTOINIT 0x10
#define ISA_DMA_MASK 0
#define ISA_DMA_MASK 0
#define ISA_DMA_MODE 1
#define ISA_DMA_MODE 1
#define ISA_DMA_CLRFF 2
#define ISA_DMA_CLRFF 2
...
@@ -67,20 +62,17 @@ static void isa_enable_dma(unsigned int chan, dma_t *dma)
...
@@ -67,20 +62,17 @@ static void isa_enable_dma(unsigned int chan, dma_t *dma)
unsigned
int
mode
;
unsigned
int
mode
;
enum
dma_data_direction
direction
;
enum
dma_data_direction
direction
;
mode
=
chan
&
3
;
mode
=
(
chan
&
3
)
|
dma
->
dma_mode
;
switch
(
dma
->
dma_mode
&
DMA_MODE_MASK
)
{
switch
(
dma
->
dma_mode
&
DMA_MODE_MASK
)
{
case
DMA_MODE_READ
:
case
DMA_MODE_READ
:
mode
|=
ISA_DMA_MODE_READ
;
direction
=
DMA_FROM_DEVICE
;
direction
=
DMA_FROM_DEVICE
;
break
;
break
;
case
DMA_MODE_WRITE
:
case
DMA_MODE_WRITE
:
mode
|=
ISA_DMA_MODE_WRITE
;
direction
=
DMA_TO_DEVICE
;
direction
=
DMA_TO_DEVICE
;
break
;
break
;
case
DMA_MODE_CASCADE
:
case
DMA_MODE_CASCADE
:
mode
|=
ISA_DMA_MODE_CASCADE
;
direction
=
DMA_BIDIRECTIONAL
;
direction
=
DMA_BIDIRECTIONAL
;
break
;
break
;
...
@@ -121,9 +113,6 @@ static void isa_enable_dma(unsigned int chan, dma_t *dma)
...
@@ -121,9 +113,6 @@ static void isa_enable_dma(unsigned int chan, dma_t *dma)
outb
(
length
,
isa_dma_port
[
chan
][
ISA_DMA_COUNT
]);
outb
(
length
,
isa_dma_port
[
chan
][
ISA_DMA_COUNT
]);
outb
(
length
>>
8
,
isa_dma_port
[
chan
][
ISA_DMA_COUNT
]);
outb
(
length
>>
8
,
isa_dma_port
[
chan
][
ISA_DMA_COUNT
]);
if
(
dma
->
dma_mode
&
DMA_AUTOINIT
)
mode
|=
ISA_DMA_AUTOINIT
;
outb
(
mode
,
isa_dma_port
[
chan
][
ISA_DMA_MODE
]);
outb
(
mode
,
isa_dma_port
[
chan
][
ISA_DMA_MODE
]);
dma
->
invalid
=
0
;
dma
->
invalid
=
0
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录