Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4c90396 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull crypto updates from Herbert Xu:
 "Here is the crypto update for 4.3:

  API:

   - the AEAD interface transition is now complete.
   - add top-level skcipher interface.

  Drivers:

   - x86-64 acceleration for chacha20/poly1305.
   - add sunxi-ss Allwinner Security System crypto accelerator.
   - add RSA algorithm to qat driver.
   - add SRIOV support to qat driver.
   - add LS1021A support to caam.
   - add i.MX6 support to caam"

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (163 commits)
  crypto: algif_aead - fix for multiple operations on AF_ALG sockets
  crypto: qat - enable legacy VFs
  MPI: Fix mpi_read_buffer
  crypto: qat - silence a static checker warning
  crypto: vmx - Fixing opcode issue
  crypto: caam - Use the preferred style for memory allocations
  crypto: caam - Propagate the real error code in caam_probe
  crypto: caam - Fix the error handling in caam_probe
  crypto: caam - fix writing to JQCR_MS when using service interface
  crypto: hash - Add AHASH_REQUEST_ON_STACK
  crypto: testmgr - Use new skcipher interface
  crypto: skcipher - Add top-level skcipher interface
  crypto: cmac - allow usage in FIPS mode
  crypto: sahara - Use dmam_alloc_coherent
  crypto: caam - Add support for LS1021A
  crypto: qat - Don't move data inside output buffer
  crypto: vmx - Fixing GHASH Key issue on little endian
  crypto: vmx - Fixing AES-CTR counter bug
  crypto: null - Add missing Kconfig tristate for NULL2
  crypto: nx - Add forward declaration for struct crypto_aead
  ...
parents f36fc04e bf433416
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -585,7 +585,7 @@ kernel crypto API | IPSEC Layer
+-----------+                                    |
|           |            (1)
|   aead    | <-----------------------------------  esp_output
| (seqniv)  | ---+
|  (seqiv)  | ---+
+-----------+    |
                 | (2)
+-----------+    |
@@ -1101,7 +1101,7 @@ kernel crypto API | Caller
    </para>

    <para>
     [1] http://www.chronox.de/libkcapi.html
     [1] <ulink url="http://www.chronox.de/libkcapi.html">http://www.chronox.de/libkcapi.html</ulink>
    </para>

   </sect1>
@@ -1661,7 +1661,7 @@ read(opfd, out, outlen);
    </para>

    <para>
     [1] http://www.chronox.de/libkcapi.html
     [1] <ulink url="http://www.chronox.de/libkcapi.html">http://www.chronox.de/libkcapi.html</ulink>
    </para>

   </sect1>
@@ -1687,7 +1687,7 @@ read(opfd, out, outlen);
!Pinclude/linux/crypto.h Block Cipher Algorithm Definitions
!Finclude/linux/crypto.h crypto_alg
!Finclude/linux/crypto.h ablkcipher_alg
!Finclude/linux/crypto.h aead_alg
!Finclude/crypto/aead.h aead_alg
!Finclude/linux/crypto.h blkcipher_alg
!Finclude/linux/crypto.h cipher_alg
!Finclude/crypto/rng.h rng_alg
+17 −0
Original line number Diff line number Diff line
@@ -106,6 +106,18 @@ PROPERTIES
          to the interrupt parent to which the child domain
          is being mapped.

   - clocks
      Usage: required if SEC 4.0 requires explicit enablement of clocks
      Value type: <prop_encoded-array>
      Definition:  A list of phandle and clock specifier pairs describing
          the clocks required for enabling and disabling SEC 4.0.

   - clock-names
      Usage: required if SEC 4.0 requires explicit enablement of clocks
      Value type: <string>
      Definition: A list of clock name strings in the same order as the
          clocks property.

   Note: All other standard properties (see the ePAPR) are allowed
   but are optional.

@@ -120,6 +132,11 @@ EXAMPLE
		ranges = <0 0x300000 0x10000>;
		interrupt-parent = <&mpic>;
		interrupts = <92 2>;
		clocks = <&clks IMX6QDL_CLK_CAAM_MEM>,
			 <&clks IMX6QDL_CLK_CAAM_ACLK>,
			 <&clks IMX6QDL_CLK_CAAM_IPG>,
			 <&clks IMX6QDL_CLK_EIM_SLOW>;
		clock-names = "mem", "aclk", "ipg", "emi_slow";
	};

=====================================================================
+23 −0
Original line number Diff line number Diff line
* Allwinner Security System found on A20 SoC

Required properties:
- compatible : Should be "allwinner,sun4i-a10-crypto".
- reg: Should contain the Security System register location and length.
- interrupts: Should contain the IRQ line for the Security System.
- clocks : List of clock specifiers, corresponding to ahb and ss.
- clock-names : Name of the functional clock, should be
	* "ahb" : AHB gating clock
	* "mod" : SS controller clock

Optional properties:
 - resets : phandle + reset specifier pair
 - reset-names : must contain "ahb"

Example:
	crypto: crypto-engine@01c15000 {
		compatible = "allwinner,sun4i-a10-crypto";
		reg = <0x01c15000 0x1000>;
		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&ahb_gates 5>, <&ss_clk>;
		clock-names = "ahb", "mod";
	};
+21 −3
Original line number Diff line number Diff line
@@ -556,6 +556,12 @@ S: Maintained
F:	Documentation/i2c/busses/i2c-ali1563
F:	drivers/i2c/busses/i2c-ali1563.c

ALLWINNER SECURITY SYSTEM
M:	Corentin Labbe <clabbe.montjoie@gmail.com>
L:	linux-crypto@vger.kernel.org
S:	Maintained
F:	drivers/crypto/sunxi-ss/

ALPHA PORT
M:	Richard Henderson <rth@twiddle.net>
M:	Ivan Kokshaysky <ink@jurassic.park.msu.ru>
@@ -5078,9 +5084,21 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git
S:	Maintained
F:	arch/ia64/

IBM Power VMX Cryptographic instructions
M:	Leonidas S. Barbosa <leosilva@linux.vnet.ibm.com>
M:	Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
L:	linux-crypto@vger.kernel.org
S:	Supported
F:	drivers/crypto/vmx/Makefile
F:	drivers/crypto/vmx/Kconfig
F:	drivers/crypto/vmx/vmx.c
F:	drivers/crypto/vmx/aes*
F:	drivers/crypto/vmx/ghash*
F:	drivers/crypto/vmx/ppc-xlate.pl

IBM Power in-Nest Crypto Acceleration
M:	Marcelo Henrique Cerri <mhcerri@linux.vnet.ibm.com>
M:	Fionnuala Gunter <fin@linux.vnet.ibm.com>
M:	Leonidas S. Barbosa <leosilva@linux.vnet.ibm.com>
M:	Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
L:	linux-crypto@vger.kernel.org
S:	Supported
F:	drivers/crypto/nx/Makefile
@@ -5092,7 +5110,7 @@ F: drivers/crypto/nx/nx_csbcpb.h
F:	drivers/crypto/nx/nx_debugfs.h

IBM Power 842 compression accelerator
M:	Dan Streetman <ddstreet@us.ibm.com>
M:	Dan Streetman <ddstreet@ieee.org>
S:	Supported
F:	drivers/crypto/nx/Makefile
F:	drivers/crypto/nx/Kconfig
+25 −4
Original line number Diff line number Diff line
@@ -836,10 +836,31 @@
			reg = <0x02100000 0x100000>;
			ranges;

			caam@02100000 {
				reg = <0x02100000 0x40000>;
				interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>,
					     <0 106 IRQ_TYPE_LEVEL_HIGH>;
			crypto: caam@2100000 {
				compatible = "fsl,sec-v4.0";
				fsl,sec-era = <4>;
				#address-cells = <1>;
				#size-cells = <1>;
				reg = <0x2100000 0x10000>;
				ranges = <0 0x2100000 0x10000>;
				interrupt-parent = <&intc>;
				clocks = <&clks IMX6QDL_CLK_CAAM_MEM>,
					 <&clks IMX6QDL_CLK_CAAM_ACLK>,
					 <&clks IMX6QDL_CLK_CAAM_IPG>,
					 <&clks IMX6QDL_CLK_EIM_SLOW>;
				clock-names = "mem", "aclk", "ipg", "emi_slow";

				sec_jr0: jr0@1000 {
					compatible = "fsl,sec-v4.0-job-ring";
					reg = <0x1000 0x1000>;
					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
				};

				sec_jr1: jr1@2000 {
					compatible = "fsl,sec-v4.0-job-ring";
					reg = <0x2000 0x1000>;
					interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
				};
			};

			aipstz@0217c000 { /* AIPSTZ2 */
Loading