Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
79335a2c
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
169
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看板
提交
79335a2c
编写于
6月 04, 2015
作者:
V
Vineet Gupta
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARCv2: SLC: Allow boot time disable
Signed-off-by:
N
Vineet Gupta
<
vgupta@synopsys.com
>
上级
f2b0b25a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
2 deletion
+19
-2
arch/arc/mm/cache.c
arch/arc/mm/cache.c
+19
-2
未找到文件。
arch/arc/mm/cache.c
浏览文件 @
79335a2c
...
...
@@ -23,6 +23,7 @@
static
int
l2_line_sz
;
int
ioc_exists
;
volatile
int
slc_enable
=
1
;
void
(
*
_cache_line_loop_ic_fn
)(
unsigned
long
paddr
,
unsigned
long
vaddr
,
unsigned
long
sz
,
const
int
cacheop
);
...
...
@@ -36,6 +37,7 @@ char *arc_cache_mumbojumbo(int c, char *buf, int len)
int
n
=
0
;
struct
cpuinfo_arc_cache
*
p
;
#define IS_USED_RUN(v) ((v) ? "" : "(disabled) ")
#define PR_CACHE(p, cfg, str) \
if (!(p)->ver) \
n += scnprintf(buf + n, len - n, str"\t\t: N/A\n"); \
...
...
@@ -53,7 +55,8 @@ char *arc_cache_mumbojumbo(int c, char *buf, int len)
p
=
&
cpuinfo_arc700
[
c
].
slc
;
if
(
p
->
ver
)
n
+=
scnprintf
(
buf
+
n
,
len
-
n
,
"SLC
\t\t
: %uK, %uB Line
\n
"
,
p
->
sz_k
,
p
->
line_len
);
"SLC
\t\t
: %uK, %uB Line%s
\n
"
,
p
->
sz_k
,
p
->
line_len
,
IS_USED_RUN
(
slc_enable
));
if
(
ioc_exists
)
n
+=
scnprintf
(
buf
+
n
,
len
-
n
,
"IOC
\t\t
: exists
\n
"
);
...
...
@@ -908,6 +911,20 @@ void arc_cache_init(void)
}
}
if
(
is_isa_arcv2
()
&&
l2_line_sz
&&
!
slc_enable
)
{
/* IM set : flush before invalidate */
write_aux_reg
(
ARC_REG_SLC_CTRL
,
read_aux_reg
(
ARC_REG_SLC_CTRL
)
|
SLC_CTRL_IM
);
write_aux_reg
(
ARC_REG_SLC_INVALIDATE
,
1
);
/* Important to wait for flush to complete */
while
(
read_aux_reg
(
ARC_REG_SLC_CTRL
)
&
SLC_CTRL_BUSY
);
write_aux_reg
(
ARC_REG_SLC_CTRL
,
read_aux_reg
(
ARC_REG_SLC_CTRL
)
|
SLC_CTRL_DISABLE
);
}
if
(
is_isa_arcv2
()
&&
ioc_exists
)
{
/* IO coherency base - 0x8z */
write_aux_reg
(
ARC_REG_IO_COH_AP0_BASE
,
0x80000
);
...
...
@@ -921,7 +938,7 @@ void arc_cache_init(void)
__dma_cache_wback_inv
=
__dma_cache_wback_inv_ioc
;
__dma_cache_inv
=
__dma_cache_inv_ioc
;
__dma_cache_wback
=
__dma_cache_wback_ioc
;
}
else
if
(
is_isa_arcv2
()
&&
l2_line_sz
)
{
}
else
if
(
is_isa_arcv2
()
&&
l2_line_sz
&&
slc_enable
)
{
__dma_cache_wback_inv
=
__dma_cache_wback_inv_slc
;
__dma_cache_inv
=
__dma_cache_inv_slc
;
__dma_cache_wback
=
__dma_cache_wback_slc
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录