Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
1c4f8ad8
K
Kernel
项目概览
openeuler
/
Kernel
接近 2 年 前同步成功
通知
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看板
提交
1c4f8ad8
编写于
4月 12, 2017
作者:
I
Ingo Molnar
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by:
N
Ingo Molnar
<
mingo@kernel.org
>
上级
9df9078e
0718b334
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
28 addition
and
47 deletion
+28
-47
drivers/crypto/caam/caampkc.c
drivers/crypto/caam/caampkc.c
+1
-1
drivers/crypto/caam/ctrl.c
drivers/crypto/caam/ctrl.c
+21
-45
drivers/crypto/caam/intern.h
drivers/crypto/caam/intern.h
+0
-1
tools/perf/util/annotate.c
tools/perf/util/annotate.c
+6
-0
未找到文件。
drivers/crypto/caam/caampkc.c
浏览文件 @
1c4f8ad8
...
...
@@ -506,7 +506,7 @@ static int caam_rsa_init_tfm(struct crypto_akcipher *tfm)
ctx
->
dev
=
caam_jr_alloc
();
if
(
IS_ERR
(
ctx
->
dev
))
{
dev_err
(
ctx
->
dev
,
"Job Ring Device allocation for transform failed
\n
"
);
pr_err
(
"Job Ring Device allocation for transform failed
\n
"
);
return
PTR_ERR
(
ctx
->
dev
);
}
...
...
drivers/crypto/caam/ctrl.c
浏览文件 @
1c4f8ad8
...
...
@@ -281,7 +281,8 @@ static int deinstantiate_rng(struct device *ctrldev, int state_handle_mask)
/* Try to run it through DECO0 */
ret
=
run_descriptor_deco0
(
ctrldev
,
desc
,
&
status
);
if
(
ret
||
status
)
{
if
(
ret
||
(
status
&&
status
!=
JRSTA_SSRC_JUMP_HALT_CC
))
{
dev_err
(
ctrldev
,
"Failed to deinstantiate RNG4 SH%d
\n
"
,
sh_idx
);
...
...
@@ -301,15 +302,13 @@ static int caam_remove(struct platform_device *pdev)
struct
device
*
ctrldev
;
struct
caam_drv_private
*
ctrlpriv
;
struct
caam_ctrl
__iomem
*
ctrl
;
int
ring
;
ctrldev
=
&
pdev
->
dev
;
ctrlpriv
=
dev_get_drvdata
(
ctrldev
);
ctrl
=
(
struct
caam_ctrl
__iomem
*
)
ctrlpriv
->
ctrl
;
/* Remove platform devices for JobRs */
for
(
ring
=
0
;
ring
<
ctrlpriv
->
total_jobrs
;
ring
++
)
of_device_unregister
(
ctrlpriv
->
jrpdev
[
ring
]);
/* Remove platform devices under the crypto node */
of_platform_depopulate
(
ctrldev
);
/* De-initialize RNG state handles initialized by this driver. */
if
(
ctrlpriv
->
rng4_sh_init
)
...
...
@@ -418,10 +417,21 @@ DEFINE_SIMPLE_ATTRIBUTE(caam_fops_u32_ro, caam_debugfs_u32_get, NULL, "%llu\n");
DEFINE_SIMPLE_ATTRIBUTE
(
caam_fops_u64_ro
,
caam_debugfs_u64_get
,
NULL
,
"%llu
\n
"
);
#endif
static
const
struct
of_device_id
caam_match
[]
=
{
{
.
compatible
=
"fsl,sec-v4.0"
,
},
{
.
compatible
=
"fsl,sec4.0"
,
},
{},
};
MODULE_DEVICE_TABLE
(
of
,
caam_match
);
/* Probe routine for CAAM top (controller) level */
static
int
caam_probe
(
struct
platform_device
*
pdev
)
{
int
ret
,
ring
,
ridx
,
rspec
,
gen_sk
,
ent_delay
=
RTSDCTL_ENT_DLY_MIN
;
int
ret
,
ring
,
gen_sk
,
ent_delay
=
RTSDCTL_ENT_DLY_MIN
;
u64
caam_id
;
struct
device
*
dev
;
struct
device_node
*
nprop
,
*
np
;
...
...
@@ -597,47 +607,24 @@ static int caam_probe(struct platform_device *pdev)
goto
iounmap_ctrl
;
}
/*
* Detect and enable JobRs
* First, find out how many ring spec'ed, allocate references
* for all, then go probe each one.
*/
rspec
=
0
;
for_each_available_child_of_node
(
nprop
,
np
)
if
(
of_device_is_compatible
(
np
,
"fsl,sec-v4.0-job-ring"
)
||
of_device_is_compatible
(
np
,
"fsl,sec4.0-job-ring"
))
rspec
++
;
ctrlpriv
->
jrpdev
=
devm_kcalloc
(
&
pdev
->
dev
,
rspec
,
sizeof
(
*
ctrlpriv
->
jrpdev
),
GFP_KERNEL
);
if
(
ctrlpriv
->
jrpdev
==
NULL
)
{
ret
=
-
ENOMEM
;
ret
=
of_platform_populate
(
nprop
,
caam_match
,
NULL
,
dev
);
if
(
ret
)
{
dev_err
(
dev
,
"JR platform devices creation error
\n
"
);
goto
iounmap_ctrl
;
}
ring
=
0
;
ridx
=
0
;
ctrlpriv
->
total_jobrs
=
0
;
for_each_available_child_of_node
(
nprop
,
np
)
if
(
of_device_is_compatible
(
np
,
"fsl,sec-v4.0-job-ring"
)
||
of_device_is_compatible
(
np
,
"fsl,sec4.0-job-ring"
))
{
ctrlpriv
->
jrpdev
[
ring
]
=
of_platform_device_create
(
np
,
NULL
,
dev
);
if
(
!
ctrlpriv
->
jrpdev
[
ring
])
{
pr_warn
(
"JR physical index %d: Platform device creation error
\n
"
,
ridx
);
ridx
++
;
continue
;
}
ctrlpriv
->
jr
[
ring
]
=
(
struct
caam_job_ring
__iomem
__force
*
)
((
__force
uint8_t
*
)
ctrl
+
(
ri
dx
+
JR_BLOCK_NUMBER
)
*
(
ri
ng
+
JR_BLOCK_NUMBER
)
*
BLOCK_OFFSET
);
ctrlpriv
->
total_jobrs
++
;
ring
++
;
ridx
++
;
}
}
/* Check to see if QI present. If so, enable */
ctrlpriv
->
qi_present
=
...
...
@@ -847,17 +834,6 @@ static int caam_probe(struct platform_device *pdev)
return
ret
;
}
static
struct
of_device_id
caam_match
[]
=
{
{
.
compatible
=
"fsl,sec-v4.0"
,
},
{
.
compatible
=
"fsl,sec4.0"
,
},
{},
};
MODULE_DEVICE_TABLE
(
of
,
caam_match
);
static
struct
platform_driver
caam_driver
=
{
.
driver
=
{
.
name
=
"caam"
,
...
...
drivers/crypto/caam/intern.h
浏览文件 @
1c4f8ad8
...
...
@@ -66,7 +66,6 @@ struct caam_drv_private_jr {
struct
caam_drv_private
{
struct
device
*
dev
;
struct
platform_device
**
jrpdev
;
/* Alloc'ed array per sub-device */
struct
platform_device
*
pdev
;
/* Physical-presence section */
...
...
tools/perf/util/annotate.c
浏览文件 @
1c4f8ad8
...
...
@@ -130,6 +130,12 @@ static struct arch architectures[] = {
.
name
=
"powerpc"
,
.
init
=
powerpc__annotate_init
,
},
{
.
name
=
"s390"
,
.
objdump
=
{
.
comment_char
=
'#'
,
},
},
};
static
void
ins__delete
(
struct
ins_operands
*
ops
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录