Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
0ad626a2
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看板
提交
0ad626a2
编写于
8月 26, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sparc32: Kill iounit_map_dma_*().
Unused. Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
47a2d728
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
0 addition
and
55 deletion
+0
-55
arch/sparc/include/asm/io-unit.h
arch/sparc/include/asm/io-unit.h
+0
-4
arch/sparc/kernel/sparc_ksyms.c
arch/sparc/kernel/sparc_ksyms.c
+0
-3
arch/sparc/mm/io-unit.c
arch/sparc/mm/io-unit.c
+0
-48
未找到文件。
arch/sparc/include/asm/io-unit.h
浏览文件 @
0ad626a2
...
...
@@ -55,8 +55,4 @@ struct iounit_struct {
#define IOUNIT_BMAPM_START IOUNIT_BMAP2_END
#define IOUNIT_BMAPM_END ((IOUNIT_DMA_SIZE - IOUNIT_DVMA_SIZE) >> PAGE_SHIFT)
extern
__u32
iounit_map_dma_init
(
struct
sbus_bus
*
,
int
);
#define iounit_map_dma_finish(sbus, addr, len) mmu_release_scsi_one(addr, len, sbus)
extern
__u32
iounit_map_dma_page
(
__u32
,
void
*
,
struct
sbus_bus
*
);
#endif
/* !(_SPARC_IO_UNIT_H) */
arch/sparc/kernel/sparc_ksyms.c
浏览文件 @
0ad626a2
...
...
@@ -134,9 +134,6 @@ EXPORT_SYMBOL(set_auxio);
EXPORT_SYMBOL
(
get_auxio
);
#endif
EXPORT_SYMBOL
(
io_remap_pfn_range
);
/* P3: iounit_xxx may be needed, sun4d users */
/* EXPORT_SYMBOL(iounit_map_dma_init); */
/* EXPORT_SYMBOL(iounit_map_dma_page); */
#ifndef CONFIG_SMP
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
___xchg32
));
...
...
arch/sparc/mm/io-unit.c
浏览文件 @
0ad626a2
...
...
@@ -267,51 +267,3 @@ void __init ld_mmu_iounit(void)
BTFIXUPSET_CALL
(
mmu_unmap_dma_area
,
iounit_unmap_dma_area
,
BTFIXUPCALL_NORM
);
#endif
}
__u32
iounit_map_dma_init
(
struct
sbus_bus
*
sbus
,
int
size
)
{
int
i
,
j
,
k
,
npages
;
unsigned
long
rotor
,
scan
,
limit
;
unsigned
long
flags
;
__u32
ret
;
struct
iounit_struct
*
iounit
=
sbus
->
ofdev
.
dev
.
archdata
.
iommu
;
npages
=
(
size
+
(
PAGE_SIZE
-
1
))
>>
PAGE_SHIFT
;
i
=
0x0213
;
spin_lock_irqsave
(
&
iounit
->
lock
,
flags
);
next:
j
=
(
i
&
15
);
rotor
=
iounit
->
rotor
[
j
-
1
];
limit
=
iounit
->
limit
[
j
];
scan
=
rotor
;
nexti:
scan
=
find_next_zero_bit
(
iounit
->
bmap
,
limit
,
scan
);
if
(
scan
+
npages
>
limit
)
{
if
(
limit
!=
rotor
)
{
limit
=
rotor
;
scan
=
iounit
->
limit
[
j
-
1
];
goto
nexti
;
}
i
>>=
4
;
if
(
!
(
i
&
15
))
panic
(
"iounit_map_dma_init: Couldn't find free iopte slots for %d bytes
\n
"
,
size
);
goto
next
;
}
for
(
k
=
1
,
scan
++
;
k
<
npages
;
k
++
)
if
(
test_bit
(
scan
++
,
iounit
->
bmap
))
goto
nexti
;
iounit
->
rotor
[
j
-
1
]
=
(
scan
<
limit
)
?
scan
:
iounit
->
limit
[
j
-
1
];
scan
-=
npages
;
ret
=
IOUNIT_DMA_BASE
+
(
scan
<<
PAGE_SHIFT
);
for
(
k
=
0
;
k
<
npages
;
k
++
,
scan
++
)
set_bit
(
scan
,
iounit
->
bmap
);
spin_unlock_irqrestore
(
&
iounit
->
lock
,
flags
);
return
ret
;
}
__u32
iounit_map_dma_page
(
__u32
vaddr
,
void
*
addr
,
struct
sbus_bus
*
sbus
)
{
int
scan
=
(
vaddr
-
IOUNIT_DMA_BASE
)
>>
PAGE_SHIFT
;
struct
iounit_struct
*
iounit
=
sbus
->
ofdev
.
dev
.
archdata
.
iommu
;
iounit
->
page_table
[
scan
]
=
MKIOPTE
(
__pa
(((
unsigned
long
)
addr
)
&
PAGE_MASK
));
return
vaddr
+
(((
unsigned
long
)
addr
)
&
~
PAGE_MASK
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录