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

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

  API:
   - add skcipher walk interface
   - add asynchronous compression (acomp) interface
   - fix algif_aed AIO handling of zero buffer

  Algorithms:
   - fix unaligned access in poly1305
   - fix DRBG output to large buffers

  Drivers:
   - add support for iMX6UL to caam
   - fix givenc descriptors (used by IPsec) in caam
   - accelerated SHA256/SHA512 for ARM64 from OpenSSL
   - add SSE CRCT10DIF and CRC32 to ARM/ARM64
   - add AEAD support to Chelsio chcr
   - add Armada 8K support to omap-rng"

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (148 commits)
  crypto: testmgr - fix overlap in chunked tests again
  crypto: arm/crc32 - accelerated support based on x86 SSE implementation
  crypto: arm64/crc32 - accelerated support based on x86 SSE implementation
  crypto: arm/crct10dif - port x86 SSE implementation to ARM
  crypto: arm64/crct10dif - port x86 SSE implementation to arm64
  crypto: testmgr - add/enhance test cases for CRC-T10DIF
  crypto: testmgr - avoid overlap in chunked tests
  crypto: chcr - checking for IS_ERR() instead of NULL
  crypto: caam - check caam_emi_slow instead of re-lookup platform
  crypto: algif_aead - fix AIO handling of zero buffer
  crypto: aes-ce - Make aes_simd_algs static
  crypto: algif_skcipher - set error code when kcalloc fails
  crypto: caam - make aamalg_desc a proper module
  crypto: caam - pass key buffers with typesafe pointers
  crypto: arm64/aes-ce-ccm - Fix AEAD decryption length
  MAINTAINERS: add crypto headers to crypto entry
  crypt: doc - remove misleading mention of async API
  crypto: doc - fix header file name
  crypto: api - fix comment typo
  crypto: skcipher - Add separate walker for AEAD decryption
  ..
parents d05c5f7b 04b46fbd
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -44,12 +44,9 @@ one block while the former can operate on an arbitrary amount of data,
subject to block size requirements (i.e., non-stream ciphers can only
process multiples of blocks).

Support for hardware crypto devices via an asynchronous interface is
under development.

Here's an example of how to use the API:

	#include <crypto/ahash.h>
	#include <crypto/hash.h>
	#include <linux/err.h>
	#include <linux/scatterlist.h>
	
+20 −0
Original line number Diff line number Diff line
@@ -123,6 +123,9 @@ PROPERTIES


EXAMPLE

iMX6QDL/SX requires four clocks

	crypto@300000 {
		compatible = "fsl,sec-v4.0";
		fsl,sec-era = <2>;
@@ -139,6 +142,23 @@ EXAMPLE
		clock-names = "mem", "aclk", "ipg", "emi_slow";
	};


iMX6UL does only require three clocks

	crypto: caam@2140000 {
		compatible = "fsl,sec-v4.0";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x2140000 0x3c000>;
		ranges = <0 0x2140000 0x3c000>;
		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;

		clocks = <&clks IMX6UL_CLK_CAAM_MEM>,
			 <&clks IMX6UL_CLK_CAAM_ACLK>,
			 <&clks IMX6UL_CLK_CAAM_IPG>;
		clock-names = "mem", "aclk", "ipg";
	};

=====================================================================
Job Ring (JR) Node

+12 −2
Original line number Diff line number Diff line
OMAP SoC HWRNG Module
OMAP SoC and Inside-Secure HWRNG Module

Required properties:

@@ -6,11 +6,13 @@ Required properties:
  RNG versions:
  - "ti,omap2-rng" for OMAP2.
  - "ti,omap4-rng" for OMAP4, OMAP5 and AM33XX.
  - "inside-secure,safexcel-eip76" for SoCs with EIP76 IP block
  Note that these two versions are incompatible.
- ti,hwmods: Name of the hwmod associated with the RNG module
- reg : Offset and length of the register set for the module
- interrupts : the interrupt number for the RNG module.
		Only used for "ti,omap4-rng".
		Used for "ti,omap4-rng" and "inside-secure,safexcel-eip76"
- clocks: the trng clock source

Example:
/* AM335x */
@@ -20,3 +22,11 @@ rng: rng@48310000 {
	reg = <0x48310000 0x2000>;
	interrupts = <111>;
};

/* SafeXcel IP-76 */
trng: rng@f2760000 {
	compatible = "inside-secure,safexcel-eip76";
	reg = <0xf2760000 0x7d>;
	interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
	clocks = <&cpm_syscon0 1 25>;
};
+1 −0
Original line number Diff line number Diff line
@@ -137,6 +137,7 @@ infineon Infineon Technologies
inforce	Inforce Computing
ingenic	Ingenic Semiconductor
innolux	Innolux Corporation
inside-secure	INSIDE Secure
intel	Intel Corporation
intercontrol	Inter Control Group
invensense	InvenSense Inc.
+9 −0
Original line number Diff line number Diff line
@@ -3470,6 +3470,7 @@ F: arch/*/crypto/
F:	crypto/
F:	drivers/crypto/
F:	include/crypto/
F:	include/linux/crypto*

CRYPTOGRAPHIC RANDOM NUMBER GENERATOR
M:	Neil Horman <nhorman@tuxdriver.com>
@@ -5086,6 +5087,14 @@ F: include/linux/fb.h
F:	include/uapi/video/
F:	include/uapi/linux/fb.h

FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER
M:	Horia Geantă <horia.geanta@nxp.com>
M:	Dan Douglass <dan.douglass@nxp.com>
L:	linux-crypto@vger.kernel.org
S:	Maintained
F:	drivers/crypto/caam/
F:	Documentation/devicetree/bindings/crypto/fsl-sec4.txt

FREESCALE DIU FRAMEBUFFER DRIVER
M:	Timur Tabi <timur@tabi.org>
L:	linux-fbdev@vger.kernel.org
Loading