Skip to content

Commit 6159c49

Browse files
committed
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto updates from Herbert Xu: "Algorithms: - Fix rmmod crash with x86/curve25519 - Add ECDH NIST P384 - Generate assembly files at build-time with perl scripts on arm - Switch to HMAC SHA512 DRBG as default DRBG Drivers: - Add sl3516 crypto engine - Add ECDH NIST P384 support in hisilicon/hpre - Add {ofb,cfb,ctr} over {aes,sm4} in hisilicon/sec - Add {ccm,gcm} over {aes,sm4} in hisilicon/sec - Enable omap hwrng driver for TI K3 family - Add support for AEAD algorithms in qce" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (142 commits) crypto: sl3516 - depends on HAS_IOMEM crypto: hisilicon/qm - implement for querying hardware tasks status. crypto: sl3516 - Fix build warning without CONFIG_PM MAINTAINERS: update caam crypto driver maintainers list crypto: nx - Fix numerous sparse byte-order warnings crypto: nx - Fix RCU warning in nx842_OF_upd_status crypto: api - Move crypto attr definitions out of crypto.h crypto: nx - Fix memcpy() over-reading in nonce crypto: hisilicon/sec - Fix spelling mistake "fallbcak" -> "fallback" crypto: sa2ul - Remove unused auth_len variable crypto: sl3516 - fix duplicated inclusion crypto: hisilicon/zip - adds the max shaper type rate crypto: hisilicon/hpre - adds the max shaper type rate crypto: hisilicon/sec - adds the max shaper type rate crypto: hisilicon/qm - supports to inquiry each function's QoS crypto: hisilicon/qm - add pf ping single vf function crypto: hisilicon/qm - merges the work initialization process into a single function crypto: hisilicon/qm - add the "alg_qos" file node crypto: hisilicon/qm - supports writing QoS int the host crypto: api - remove CRYPTOA_U32 and related functions ...
2 parents 31e798f + 9f38b67 commit 6159c49

108 files changed

Lines changed: 7084 additions & 11175 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/crypto/cortina,sl3516-crypto.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: SL3516 cryptographic offloader driver
8+
9+
maintainers:
10+
- Corentin Labbe <clabbe@baylibre.com>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- cortina,sl3516-crypto
16+
17+
reg:
18+
maxItems: 1
19+
20+
interrupts:
21+
maxItems: 1
22+
23+
clocks:
24+
maxItems: 1
25+
26+
resets:
27+
maxItems: 1
28+
29+
required:
30+
- compatible
31+
- reg
32+
- interrupts
33+
- clocks
34+
- resets
35+
36+
additionalProperties: false
37+
38+
examples:
39+
- |
40+
#include <dt-bindings/interrupt-controller/irq.h>
41+
#include <dt-bindings/clock/cortina,gemini-clock.h>
42+
#include <dt-bindings/reset/cortina,gemini-reset.h>
43+
44+
crypto@62000000 {
45+
compatible = "cortina,sl3516-crypto";
46+
reg = <0x62000000 0x10000>;
47+
interrupts = <7 IRQ_TYPE_EDGE_RISING>;
48+
resets = <&syscon GEMINI_RESET_SECURITY>;
49+
clocks = <&syscon GEMINI_CLK_GATE_SECURITY>;
50+
};
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
# Copyright 2018 Linaro Ltd.
3+
%YAML 1.2
4+
---
5+
$id: "http://devicetree.org/schemas/crypto/intel,ixp4xx-crypto.yaml#"
6+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7+
8+
title: Intel IXP4xx cryptographic engine
9+
10+
maintainers:
11+
- Linus Walleij <linus.walleij@linaro.org>
12+
13+
description: |
14+
The Intel IXP4xx cryptographic engine makes use of the IXP4xx NPE
15+
(Network Processing Engine). Since it is not a device on its own
16+
it is defined as a subnode of the NPE, if crypto support is
17+
available on the platform.
18+
19+
properties:
20+
compatible:
21+
const: intel,ixp4xx-crypto
22+
23+
intel,npe-handle:
24+
$ref: '/schemas/types.yaml#/definitions/phandle-array'
25+
maxItems: 1
26+
description: phandle to the NPE this crypto engine is using, the cell
27+
describing the NPE instance to be used.
28+
29+
queue-rx:
30+
$ref: /schemas/types.yaml#/definitions/phandle-array
31+
maxItems: 1
32+
description: phandle to the RX queue on the NPE, the cell describing
33+
the queue instance to be used.
34+
35+
queue-txready:
36+
$ref: /schemas/types.yaml#/definitions/phandle-array
37+
maxItems: 1
38+
description: phandle to the TX READY queue on the NPE, the cell describing
39+
the queue instance to be used.
40+
41+
required:
42+
- compatible
43+
- intel,npe-handle
44+
- queue-rx
45+
- queue-txready
46+
47+
additionalProperties: false

Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,16 @@ properties:
2626

2727
reg:
2828
items:
29-
- description: NPE0 register range
30-
- description: NPE1 register range
31-
- description: NPE2 register range
29+
- description: NPE0 (NPE-A) register range
30+
- description: NPE1 (NPE-B) register range
31+
- description: NPE2 (NPE-C) register range
32+
33+
crypto:
34+
$ref: /schemas/crypto/intel,ixp4xx-crypto.yaml#
35+
type: object
36+
description: Optional node for the embedded crypto engine, the node
37+
should be named with the instance number of the NPE engine used for
38+
the crypto engine.
3239

3340
required:
3441
- compatible
@@ -38,8 +45,15 @@ additionalProperties: false
3845

3946
examples:
4047
- |
41-
npe@c8006000 {
48+
npe: npe@c8006000 {
4249
compatible = "intel,ixp4xx-network-processing-engine";
4350
reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>;
51+
52+
crypto {
53+
compatible = "intel,ixp4xx-crypto";
54+
intel,npe-handle = <&npe 2>;
55+
queue-rx = <&qmgr 30>;
56+
queue-txready = <&qmgr 29>;
57+
};
4458
};
4559
...

MAINTAINERS

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1811,6 +1811,7 @@ F: Documentation/devicetree/bindings/net/cortina,gemini-ethernet.txt
18111811
F: Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt
18121812
F: Documentation/devicetree/bindings/rtc/faraday,ftrtc010.txt
18131813
F: arch/arm/mach-gemini/
1814+
F: drivers/crypto/gemini/
18141815
F: drivers/net/ethernet/cortina/
18151816
F: drivers/pinctrl/pinctrl-gemini.c
18161817
F: drivers/rtc/rtc-ftrtc010.c
@@ -1972,6 +1973,7 @@ F: Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt
19721973
F: Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
19731974
F: arch/arm/mach-ixp4xx/
19741975
F: drivers/clocksource/timer-ixp4xx.c
1976+
F: drivers/crypto/ixp4xx_crypto.c
19751977
F: drivers/gpio/gpio-ixp4xx.c
19761978
F: drivers/irqchip/irq-ixp4xx.c
19771979
F: include/linux/irqchip/irq-ixp4xx.h
@@ -7179,7 +7181,7 @@ F: include/video/
71797181

71807182
FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER
71817183
M: Horia Geantă <horia.geanta@nxp.com>
7182-
M: Aymen Sghaier <aymen.sghaier@nxp.com>
7184+
M: Pankaj Gupta <pankaj.gupta@nxp.com>
71837185
L: linux-crypto@vger.kernel.org
71847186
S: Maintained
71857187
F: Documentation/devicetree/bindings/crypto/fsl-sec4.txt
@@ -7569,6 +7571,12 @@ M: Kieran Bingham <kbingham@kernel.org>
75697571
S: Supported
75707572
F: scripts/gdb/
75717573

7574+
GEMINI CRYPTO DRIVER
7575+
M: Corentin Labbe <clabbe@baylibre.com>
7576+
L: linux-crypto@vger.kernel.org
7577+
S: Maintained
7578+
F: drivers/crypto/gemini/
7579+
75727580
GEMTEK FM RADIO RECEIVER DRIVER
75737581
M: Hans Verkuil <hverkuil@xs4all.nl>
75747582
L: linux-media@vger.kernel.org
@@ -9240,6 +9248,12 @@ F: Documentation/admin-guide/media/ipu3_rcb.svg
92409248
F: Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst
92419249
F: drivers/staging/media/ipu3/
92429250

9251+
INTEL IXP4XX CRYPTO SUPPORT
9252+
M: Corentin Labbe <clabbe@baylibre.com>
9253+
L: linux-crypto@vger.kernel.org
9254+
S: Maintained
9255+
F: drivers/crypto/ixp4xx_crypto.c
9256+
92439257
INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
92449258
M: Krzysztof Halasa <khalasa@piap.pl>
92459259
S: Maintained
@@ -15143,6 +15157,13 @@ S: Maintained
1514315157
F: Documentation/devicetree/bindings/opp/qcom-nvmem-cpufreq.txt
1514415158
F: drivers/cpufreq/qcom-cpufreq-nvmem.c
1514515159

15160+
QUALCOMM CRYPTO DRIVERS
15161+
M: Thara Gopinath <thara.gopinath@linaro.org>
15162+
L: linux-crypto@vger.kernel.org
15163+
L: linux-arm-msm@vger.kernel.org
15164+
S: Maintained
15165+
F: drivers/crypto/qce/
15166+
1514615167
QUALCOMM EMAC GIGABIT ETHERNET DRIVER
1514715168
M: Timur Tabi <timur@kernel.org>
1514815169
L: netdev@vger.kernel.org

arch/arm/crypto/Makefile

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,12 @@ poly1305-arm-y := poly1305-core.o poly1305-glue.o
4545
nhpoly1305-neon-y := nh-neon-core.o nhpoly1305-neon-glue.o
4646
curve25519-neon-y := curve25519-core.o curve25519-glue.o
4747

48-
ifdef REGENERATE_ARM_CRYPTO
4948
quiet_cmd_perl = PERL $@
5049
cmd_perl = $(PERL) $(<) > $(@)
5150

52-
$(src)/poly1305-core.S_shipped: $(src)/poly1305-armv4.pl
51+
$(obj)/%-core.S: $(src)/%-armv4.pl
5352
$(call cmd,perl)
5453

55-
$(src)/sha256-core.S_shipped: $(src)/sha256-armv4.pl
56-
$(call cmd,perl)
57-
58-
$(src)/sha512-core.S_shipped: $(src)/sha512-armv4.pl
59-
$(call cmd,perl)
60-
endif
61-
6254
clean-files += poly1305-core.S sha256-core.S sha512-core.S
6355

6456
# massage the perlasm code a bit so we only get the NEON routine if we need it

0 commit comments

Comments
 (0)