Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
1c4f8ad8
Commit
1c4f8ad8
authored
Apr 12, 2017
by
Ingo Molnar
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by:
Ingo Molnar
<
mingo@kernel.org
>
parents
9df9078e
0718b334
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
47 deletions
+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
No files found.
drivers/crypto/caam/caampkc.c
View file @
1c4f8ad8
...
@@ -506,7 +506,7 @@ static int caam_rsa_init_tfm(struct crypto_akcipher *tfm)
...
@@ -506,7 +506,7 @@ static int caam_rsa_init_tfm(struct crypto_akcipher *tfm)
ctx
->
dev
=
caam_jr_alloc
();
ctx
->
dev
=
caam_jr_alloc
();
if
(
IS_ERR
(
ctx
->
dev
))
{
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
);
return
PTR_ERR
(
ctx
->
dev
);
}
}
...
...
drivers/crypto/caam/ctrl.c
View file @
1c4f8ad8
...
@@ -281,7 +281,8 @@ static int deinstantiate_rng(struct device *ctrldev, int state_handle_mask)
...
@@ -281,7 +281,8 @@ static int deinstantiate_rng(struct device *ctrldev, int state_handle_mask)
/* Try to run it through DECO0 */
/* Try to run it through DECO0 */
ret
=
run_descriptor_deco0
(
ctrldev
,
desc
,
&
status
);
ret
=
run_descriptor_deco0
(
ctrldev
,
desc
,
&
status
);
if
(
ret
||
status
)
{
if
(
ret
||
(
status
&&
status
!=
JRSTA_SSRC_JUMP_HALT_CC
))
{
dev_err
(
ctrldev
,
dev_err
(
ctrldev
,
"Failed to deinstantiate RNG4 SH%d
\n
"
,
"Failed to deinstantiate RNG4 SH%d
\n
"
,
sh_idx
);
sh_idx
);
...
@@ -301,15 +302,13 @@ static int caam_remove(struct platform_device *pdev)
...
@@ -301,15 +302,13 @@ static int caam_remove(struct platform_device *pdev)
struct
device
*
ctrldev
;
struct
device
*
ctrldev
;
struct
caam_drv_private
*
ctrlpriv
;
struct
caam_drv_private
*
ctrlpriv
;
struct
caam_ctrl
__iomem
*
ctrl
;
struct
caam_ctrl
__iomem
*
ctrl
;
int
ring
;
ctrldev
=
&
pdev
->
dev
;
ctrldev
=
&
pdev
->
dev
;
ctrlpriv
=
dev_get_drvdata
(
ctrldev
);
ctrlpriv
=
dev_get_drvdata
(
ctrldev
);
ctrl
=
(
struct
caam_ctrl
__iomem
*
)
ctrlpriv
->
ctrl
;
ctrl
=
(
struct
caam_ctrl
__iomem
*
)
ctrlpriv
->
ctrl
;
/* Remove platform devices for JobRs */
/* Remove platform devices under the crypto node */
for
(
ring
=
0
;
ring
<
ctrlpriv
->
total_jobrs
;
ring
++
)
of_platform_depopulate
(
ctrldev
);
of_device_unregister
(
ctrlpriv
->
jrpdev
[
ring
]);
/* De-initialize RNG state handles initialized by this driver. */
/* De-initialize RNG state handles initialized by this driver. */
if
(
ctrlpriv
->
rng4_sh_init
)
if
(
ctrlpriv
->
rng4_sh_init
)
...
@@ -418,10 +417,21 @@ DEFINE_SIMPLE_ATTRIBUTE(caam_fops_u32_ro, caam_debugfs_u32_get, NULL, "%llu\n");
...
@@ -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
"
);
DEFINE_SIMPLE_ATTRIBUTE
(
caam_fops_u64_ro
,
caam_debugfs_u64_get
,
NULL
,
"%llu
\n
"
);
#endif
#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 */
/* Probe routine for CAAM top (controller) level */
static
int
caam_probe
(
struct
platform_device
*
pdev
)
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
;
u64
caam_id
;
struct
device
*
dev
;
struct
device
*
dev
;
struct
device_node
*
nprop
,
*
np
;
struct
device_node
*
nprop
,
*
np
;
...
@@ -597,46 +607,23 @@ static int caam_probe(struct platform_device *pdev)
...
@@ -597,46 +607,23 @@ static int caam_probe(struct platform_device *pdev)
goto
iounmap_ctrl
;
goto
iounmap_ctrl
;
}
}
/*
ret
=
of_platform_populate
(
nprop
,
caam_match
,
NULL
,
dev
);
* Detect and enable JobRs
if
(
ret
)
{
* First, find out how many ring spec'ed, allocate references
dev_err
(
dev
,
"JR platform devices creation error
\n
"
);
* 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
;
goto
iounmap_ctrl
;
goto
iounmap_ctrl
;
}
}
ring
=
0
;
ring
=
0
;
ridx
=
0
;
ctrlpriv
->
total_jobrs
=
0
;
for_each_available_child_of_node
(
nprop
,
np
)
for_each_available_child_of_node
(
nprop
,
np
)
if
(
of_device_is_compatible
(
np
,
"fsl,sec-v4.0-job-ring"
)
||
if
(
of_device_is_compatible
(
np
,
"fsl,sec-v4.0-job-ring"
)
||
of_device_is_compatible
(
np
,
"fsl,sec4.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
*
)
ctrlpriv
->
jr
[
ring
]
=
(
struct
caam_job_ring
__iomem
__force
*
)
((
__force
uint8_t
*
)
ctrl
+
((
__force
uint8_t
*
)
ctrl
+
(
ri
dx
+
JR_BLOCK_NUMBER
)
*
(
ri
ng
+
JR_BLOCK_NUMBER
)
*
BLOCK_OFFSET
BLOCK_OFFSET
);
);
ctrlpriv
->
total_jobrs
++
;
ctrlpriv
->
total_jobrs
++
;
ring
++
;
ring
++
;
ridx
++
;
}
}
/* Check to see if QI present. If so, enable */
/* Check to see if QI present. If so, enable */
...
@@ -847,17 +834,6 @@ static int caam_probe(struct platform_device *pdev)
...
@@ -847,17 +834,6 @@ static int caam_probe(struct platform_device *pdev)
return
ret
;
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
=
{
static
struct
platform_driver
caam_driver
=
{
.
driver
=
{
.
driver
=
{
.
name
=
"caam"
,
.
name
=
"caam"
,
...
...
drivers/crypto/caam/intern.h
View file @
1c4f8ad8
...
@@ -66,7 +66,6 @@ struct caam_drv_private_jr {
...
@@ -66,7 +66,6 @@ struct caam_drv_private_jr {
struct
caam_drv_private
{
struct
caam_drv_private
{
struct
device
*
dev
;
struct
device
*
dev
;
struct
platform_device
**
jrpdev
;
/* Alloc'ed array per sub-device */
struct
platform_device
*
pdev
;
struct
platform_device
*
pdev
;
/* Physical-presence section */
/* Physical-presence section */
...
...
tools/perf/util/annotate.c
View file @
1c4f8ad8
...
@@ -130,6 +130,12 @@ static struct arch architectures[] = {
...
@@ -130,6 +130,12 @@ static struct arch architectures[] = {
.
name
=
"powerpc"
,
.
name
=
"powerpc"
,
.
init
=
powerpc__annotate_init
,
.
init
=
powerpc__annotate_init
,
},
},
{
.
name
=
"s390"
,
.
objdump
=
{
.
comment_char
=
'#'
,
},
},
};
};
static
void
ins__delete
(
struct
ins_operands
*
ops
)
static
void
ins__delete
(
struct
ins_operands
*
ops
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment