diff options
Diffstat (limited to 'drivers/crypto')
58 files changed, 108 insertions, 58 deletions
| diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile index 808432b44c6b..c00708d04be6 100644 --- a/drivers/crypto/Makefile +++ b/drivers/crypto/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_ATMEL_AES) += atmel-aes.o  obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += atmel-sha.o  obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o diff --git a/drivers/crypto/atmel-aes-regs.h b/drivers/crypto/atmel-aes-regs.h index 7694679802b3..62f9d3038757 100644 --- a/drivers/crypto/atmel-aes-regs.h +++ b/drivers/crypto/atmel-aes-regs.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __ATMEL_AES_REGS_H__  #define __ATMEL_AES_REGS_H__ diff --git a/drivers/crypto/atmel-sha-regs.h b/drivers/crypto/atmel-sha-regs.h index 1b0eba4a2706..b2b5e634e80f 100644 --- a/drivers/crypto/atmel-sha-regs.h +++ b/drivers/crypto/atmel-sha-regs.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __ATMEL_SHA_REGS_H__  #define __ATMEL_SHA_REGS_H__ diff --git a/drivers/crypto/atmel-tdes-regs.h b/drivers/crypto/atmel-tdes-regs.h index f86734d0fda4..fbd905720dfa 100644 --- a/drivers/crypto/atmel-tdes-regs.h +++ b/drivers/crypto/atmel-tdes-regs.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __ATMEL_TDES_REGS_H__  #define __ATMEL_TDES_REGS_H__ diff --git a/drivers/crypto/axis/artpec6_crypto.c b/drivers/crypto/axis/artpec6_crypto.c index d9fbbf01062b..0f9754e07719 100644 --- a/drivers/crypto/axis/artpec6_crypto.c +++ b/drivers/crypto/axis/artpec6_crypto.c @@ -349,8 +349,6 @@ struct artpec6_crypto_aead_req_ctx {  /* The crypto framework makes it hard to avoid this global. */  static struct device *artpec6_crypto_dev; -static struct dentry *dbgfs_root; -  #ifdef CONFIG_FAULT_INJECTION  static DECLARE_FAULT_ATTR(artpec6_crypto_fail_status_read);  static DECLARE_FAULT_ATTR(artpec6_crypto_fail_dma_array_full); @@ -2984,6 +2982,8 @@ struct dbgfs_u32 {  	char *desc;  }; +static struct dentry *dbgfs_root; +  static void artpec6_crypto_init_debugfs(void)  {  	dbgfs_root = debugfs_create_dir("artpec6_crypto", NULL); diff --git a/drivers/crypto/caam/Kconfig b/drivers/crypto/caam/Kconfig index e36aeacd7635..1eb852765469 100644 --- a/drivers/crypto/caam/Kconfig +++ b/drivers/crypto/caam/Kconfig @@ -1,6 +1,7 @@  config CRYPTO_DEV_FSL_CAAM  	tristate "Freescale CAAM-Multicore driver backend"  	depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE +	select SOC_BUS  	help  	  Enables the driver module for Freescale's Cryptographic Accelerator  	  and Assurance Module (CAAM), also known as the SEC version 4 (SEC4). @@ -141,10 +142,6 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API  	  To compile this as a module, choose M here: the module  	  will be called caamrng. -config CRYPTO_DEV_FSL_CAAM_IMX -	def_bool SOC_IMX6 || SOC_IMX7D -	depends on CRYPTO_DEV_FSL_CAAM -  config CRYPTO_DEV_FSL_CAAM_DEBUG  	bool "Enable debug output in CAAM driver"  	depends on CRYPTO_DEV_FSL_CAAM diff --git a/drivers/crypto/caam/Makefile b/drivers/crypto/caam/Makefile index 9e2e98856b9b..cb652ee7dfc8 100644 --- a/drivers/crypto/caam/Makefile +++ b/drivers/crypto/caam/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  #  # Makefile for the CAAM backend and dependent components  # diff --git a/drivers/crypto/caam/caamalg_desc.h b/drivers/crypto/caam/caamalg_desc.h index 8731e4a7ff05..e412ec8f7005 100644 --- a/drivers/crypto/caam/caamalg_desc.h +++ b/drivers/crypto/caam/caamalg_desc.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * Shared descriptors for aead, ablkcipher algorithms   * diff --git a/drivers/crypto/caam/caampkc.h b/drivers/crypto/caam/caampkc.h index 87ab75e9df43..fd145c46eae1 100644 --- a/drivers/crypto/caam/caampkc.h +++ b/drivers/crypto/caam/caampkc.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * caam - Freescale FSL CAAM support for Public Key Cryptography descriptors   * diff --git a/drivers/crypto/caam/compat.h b/drivers/crypto/caam/compat.h index 7149cd2492e0..5f2f1b288d37 100644 --- a/drivers/crypto/caam/compat.h +++ b/drivers/crypto/caam/compat.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * Copyright 2008-2011 Freescale Semiconductor, Inc.   */ diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index dacb53fb690e..027e121c6f70 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -7,6 +7,7 @@  #include <linux/device.h>  #include <linux/of_address.h>  #include <linux/of_irq.h> +#include <linux/sys_soc.h>  #include "compat.h"  #include "regs.h" @@ -19,6 +20,8 @@ bool caam_little_end;  EXPORT_SYMBOL(caam_little_end);  bool caam_dpaa2;  EXPORT_SYMBOL(caam_dpaa2); +bool caam_imx; +EXPORT_SYMBOL(caam_imx);  #ifdef CONFIG_CAAM_QI  #include "qi.h" @@ -28,19 +31,11 @@ EXPORT_SYMBOL(caam_dpaa2);   * i.MX targets tend to have clock control subsystems that can   * enable/disable clocking to our device.   */ -#ifdef CONFIG_CRYPTO_DEV_FSL_CAAM_IMX  static inline struct clk *caam_drv_identify_clk(struct device *dev,  						char *clk_name)  { -	return devm_clk_get(dev, clk_name); +	return caam_imx ? devm_clk_get(dev, clk_name) : NULL;  } -#else -static inline struct clk *caam_drv_identify_clk(struct device *dev, -						char *clk_name) -{ -	return NULL; -} -#endif  /*   * Descriptor to instantiate RNG State Handle 0 in normal mode and @@ -430,6 +425,10 @@ static int caam_probe(struct platform_device *pdev)  {  	int ret, ring, gen_sk, ent_delay = RTSDCTL_ENT_DLY_MIN;  	u64 caam_id; +	static const struct soc_device_attribute imx_soc[] = { +		{.family = "Freescale i.MX"}, +		{}, +	};  	struct device *dev;  	struct device_node *nprop, *np;  	struct caam_ctrl __iomem *ctrl; @@ -451,6 +450,8 @@ static int caam_probe(struct platform_device *pdev)  	dev_set_drvdata(dev, ctrlpriv);  	nprop = pdev->dev.of_node; +	caam_imx = (bool)soc_device_match(imx_soc); +  	/* Enable clocking */  	clk = caam_drv_identify_clk(&pdev->dev, "ipg");  	if (IS_ERR(clk)) { diff --git a/drivers/crypto/caam/ctrl.h b/drivers/crypto/caam/ctrl.h index 7e7bf68c9ef5..be693a2cc25e 100644 --- a/drivers/crypto/caam/ctrl.h +++ b/drivers/crypto/caam/ctrl.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM control-plane driver backend public-level include definitions   * diff --git a/drivers/crypto/caam/desc.h b/drivers/crypto/caam/desc.h index 2e6766a1573f..6633fbb80e74 100644 --- a/drivers/crypto/caam/desc.h +++ b/drivers/crypto/caam/desc.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM descriptor composition header   * Definitions to support CAAM descriptor instruction generation diff --git a/drivers/crypto/caam/desc_constr.h b/drivers/crypto/caam/desc_constr.h index d8e83ca104e0..ba1ca0806f0a 100644 --- a/drivers/crypto/caam/desc_constr.h +++ b/drivers/crypto/caam/desc_constr.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * caam descriptor construction helper functions   * diff --git a/drivers/crypto/caam/error.c b/drivers/crypto/caam/error.c index 3d639f3b45aa..8da88beb1abb 100644 --- a/drivers/crypto/caam/error.c +++ b/drivers/crypto/caam/error.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * CAAM Error Reporting   * diff --git a/drivers/crypto/caam/error.h b/drivers/crypto/caam/error.h index 250e1a21c473..5aa332bac4b0 100644 --- a/drivers/crypto/caam/error.h +++ b/drivers/crypto/caam/error.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM Error Reporting code header   * diff --git a/drivers/crypto/caam/intern.h b/drivers/crypto/caam/intern.h index a52361258d3a..91f1107276e5 100644 --- a/drivers/crypto/caam/intern.h +++ b/drivers/crypto/caam/intern.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM/SEC 4.x driver backend   * Private/internal definitions between modules diff --git a/drivers/crypto/caam/jr.h b/drivers/crypto/caam/jr.h index 97113a6d6c58..eab611530f36 100644 --- a/drivers/crypto/caam/jr.h +++ b/drivers/crypto/caam/jr.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM public-level include definitions for the JobR backend   * diff --git a/drivers/crypto/caam/key_gen.c b/drivers/crypto/caam/key_gen.c index c425d4adaf2a..8c79c3a153dc 100644 --- a/drivers/crypto/caam/key_gen.c +++ b/drivers/crypto/caam/key_gen.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * CAAM/SEC 4.x functions for handling key-generation jobs   * diff --git a/drivers/crypto/caam/key_gen.h b/drivers/crypto/caam/key_gen.h index 4628f389eb64..5db055c25bd2 100644 --- a/drivers/crypto/caam/key_gen.h +++ b/drivers/crypto/caam/key_gen.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM/SEC 4.x definitions for handling key-generation jobs   * diff --git a/drivers/crypto/caam/pdb.h b/drivers/crypto/caam/pdb.h index 31e59963f4d2..810f0bef0652 100644 --- a/drivers/crypto/caam/pdb.h +++ b/drivers/crypto/caam/pdb.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM Protocol Data Block (PDB) definition header file   * diff --git a/drivers/crypto/caam/pkc_desc.c b/drivers/crypto/caam/pkc_desc.c index 9e2ce6fe2e43..2a8d87ea94bf 100644 --- a/drivers/crypto/caam/pkc_desc.c +++ b/drivers/crypto/caam/pkc_desc.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * caam - Freescale FSL CAAM support for Public Key Cryptography descriptors   * diff --git a/drivers/crypto/caam/qi.c b/drivers/crypto/caam/qi.c index e4cf00014233..f9a44f485aac 100644 --- a/drivers/crypto/caam/qi.c +++ b/drivers/crypto/caam/qi.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * CAAM/SEC 4.x QI transport/backend driver   * Queue Interface backend functionality diff --git a/drivers/crypto/caam/qi.h b/drivers/crypto/caam/qi.h index ecb21f207637..357b69f57072 100644 --- a/drivers/crypto/caam/qi.h +++ b/drivers/crypto/caam/qi.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * Public definitions for the CAAM/QI (Queue Interface) backend.   * diff --git a/drivers/crypto/caam/regs.h b/drivers/crypto/caam/regs.h index 2b5efff9ec3c..fee363865d88 100644 --- a/drivers/crypto/caam/regs.h +++ b/drivers/crypto/caam/regs.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM hardware register-level view   * @@ -67,6 +68,7 @@   */  extern bool caam_little_end; +extern bool caam_imx;  #define caam_to_cpu(len)				\  static inline u##len caam##len ## _to_cpu(u##len val)	\ @@ -154,13 +156,10 @@ static inline u64 rd_reg64(void __iomem *reg)  #else /* CONFIG_64BIT */  static inline void wr_reg64(void __iomem *reg, u64 data)  { -#ifndef CONFIG_CRYPTO_DEV_FSL_CAAM_IMX -	if (caam_little_end) { +	if (!caam_imx && caam_little_end) {  		wr_reg32((u32 __iomem *)(reg) + 1, data >> 32);  		wr_reg32((u32 __iomem *)(reg), data); -	} else -#endif -	{ +	} else {  		wr_reg32((u32 __iomem *)(reg), data >> 32);  		wr_reg32((u32 __iomem *)(reg) + 1, data);  	} @@ -168,41 +167,40 @@ static inline void wr_reg64(void __iomem *reg, u64 data)  static inline u64 rd_reg64(void __iomem *reg)  { -#ifndef CONFIG_CRYPTO_DEV_FSL_CAAM_IMX -	if (caam_little_end) +	if (!caam_imx && caam_little_end)  		return ((u64)rd_reg32((u32 __iomem *)(reg) + 1) << 32 |  			(u64)rd_reg32((u32 __iomem *)(reg))); -	else -#endif -		return ((u64)rd_reg32((u32 __iomem *)(reg)) << 32 | -			(u64)rd_reg32((u32 __iomem *)(reg) + 1)); + +	return ((u64)rd_reg32((u32 __iomem *)(reg)) << 32 | +		(u64)rd_reg32((u32 __iomem *)(reg) + 1));  }  #endif /* CONFIG_64BIT  */ +static inline u64 cpu_to_caam_dma64(dma_addr_t value) +{ +	if (caam_imx) +		return (((u64)cpu_to_caam32(lower_32_bits(value)) << 32) | +			 (u64)cpu_to_caam32(upper_32_bits(value))); + +	return cpu_to_caam64(value); +} + +static inline u64 caam_dma64_to_cpu(u64 value) +{ +	if (caam_imx) +		return (((u64)caam32_to_cpu(lower_32_bits(value)) << 32) | +			 (u64)caam32_to_cpu(upper_32_bits(value))); + +	return caam64_to_cpu(value); +} +  #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT -#ifdef CONFIG_SOC_IMX7D -#define cpu_to_caam_dma(value) \ -		(((u64)cpu_to_caam32(lower_32_bits(value)) << 32) | \ -		  (u64)cpu_to_caam32(upper_32_bits(value))) -#define caam_dma_to_cpu(value) \ -		(((u64)caam32_to_cpu(lower_32_bits(value)) << 32) | \ -		  (u64)caam32_to_cpu(upper_32_bits(value))) -#else -#define cpu_to_caam_dma(value) cpu_to_caam64(value) -#define caam_dma_to_cpu(value) caam64_to_cpu(value) -#endif /* CONFIG_SOC_IMX7D */ +#define cpu_to_caam_dma(value) cpu_to_caam_dma64(value) +#define caam_dma_to_cpu(value) caam_dma64_to_cpu(value)  #else  #define cpu_to_caam_dma(value) cpu_to_caam32(value)  #define caam_dma_to_cpu(value) caam32_to_cpu(value) -#endif /* CONFIG_ARCH_DMA_ADDR_T_64BIT  */ - -#ifdef CONFIG_CRYPTO_DEV_FSL_CAAM_IMX -#define cpu_to_caam_dma64(value) \ -		(((u64)cpu_to_caam32(lower_32_bits(value)) << 32) | \ -		 (u64)cpu_to_caam32(upper_32_bits(value))) -#else -#define cpu_to_caam_dma64(value) cpu_to_caam64(value) -#endif +#endif /* CONFIG_ARCH_DMA_ADDR_T_64BIT */  /*   * jr_outentry diff --git a/drivers/crypto/caam/sg_sw_sec4.h b/drivers/crypto/caam/sg_sw_sec4.h index 936b1b630058..e586ffab8358 100644 --- a/drivers/crypto/caam/sg_sw_sec4.h +++ b/drivers/crypto/caam/sg_sw_sec4.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * CAAM/SEC 4.x functions for using scatterlists in caam driver   * diff --git a/drivers/crypto/cavium/nitrox/Makefile b/drivers/crypto/cavium/nitrox/Makefile index 5af2e4368267..45b7379e8e30 100644 --- a/drivers/crypto/cavium/nitrox/Makefile +++ b/drivers/crypto/cavium/nitrox/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_NITROX_CNN55XX) += n5pf.o  n5pf-objs := nitrox_main.o \ diff --git a/drivers/crypto/cavium/nitrox/nitrox_algs.c b/drivers/crypto/cavium/nitrox/nitrox_algs.c index ce330278ef8a..2ae6124e5da6 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_algs.c +++ b/drivers/crypto/cavium/nitrox/nitrox_algs.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  #include <linux/crypto.h>  #include <linux/kernel.h>  #include <linux/module.h> diff --git a/drivers/crypto/cavium/nitrox/nitrox_common.h b/drivers/crypto/cavium/nitrox/nitrox_common.h index 4888c7823a5f..312f72801af6 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_common.h +++ b/drivers/crypto/cavium/nitrox/nitrox_common.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __NITROX_COMMON_H  #define __NITROX_COMMON_H diff --git a/drivers/crypto/cavium/nitrox/nitrox_csr.h b/drivers/crypto/cavium/nitrox/nitrox_csr.h index 30b04c4c6076..9dcb7fdbe0a7 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_csr.h +++ b/drivers/crypto/cavium/nitrox/nitrox_csr.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __NITROX_CSR_H  #define __NITROX_CSR_H diff --git a/drivers/crypto/cavium/nitrox/nitrox_dev.h b/drivers/crypto/cavium/nitrox/nitrox_dev.h index 57858b04f165..9a476bb6d4c7 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_dev.h +++ b/drivers/crypto/cavium/nitrox/nitrox_dev.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __NITROX_DEV_H  #define __NITROX_DEV_H diff --git a/drivers/crypto/cavium/nitrox/nitrox_hal.c b/drivers/crypto/cavium/nitrox/nitrox_hal.c index f0655f82fa7d..bf9900bc4804 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_hal.c +++ b/drivers/crypto/cavium/nitrox/nitrox_hal.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  #include <linux/delay.h>  #include "nitrox_dev.h" diff --git a/drivers/crypto/cavium/nitrox/nitrox_isr.c b/drivers/crypto/cavium/nitrox/nitrox_isr.c index 71f934871a89..dbead5f45df3 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_isr.c +++ b/drivers/crypto/cavium/nitrox/nitrox_isr.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  #include <linux/pci.h>  #include <linux/printk.h>  #include <linux/slab.h> diff --git a/drivers/crypto/cavium/nitrox/nitrox_lib.c b/drivers/crypto/cavium/nitrox/nitrox_lib.c index b4a391adb9b6..4fdc921ba611 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_lib.c +++ b/drivers/crypto/cavium/nitrox/nitrox_lib.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  #include <linux/cpumask.h>  #include <linux/dma-mapping.h>  #include <linux/dmapool.h> diff --git a/drivers/crypto/cavium/nitrox/nitrox_req.h b/drivers/crypto/cavium/nitrox/nitrox_req.h index 74f4c20dc87d..d091b6f5f5dd 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_req.h +++ b/drivers/crypto/cavium/nitrox/nitrox_req.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __NITROX_REQ_H  #define __NITROX_REQ_H diff --git a/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c b/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c index 4bb4377c5ac0..4addc238a6ef 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c +++ b/drivers/crypto/cavium/nitrox/nitrox_reqmgr.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  #include <linux/gfp.h>  #include <linux/workqueue.h>  #include <crypto/internal/skcipher.h> diff --git a/drivers/crypto/cavium/zip/Makefile b/drivers/crypto/cavium/zip/Makefile index b2f3baaff757..020d189d793d 100644 --- a/drivers/crypto/cavium/zip/Makefile +++ b/drivers/crypto/cavium/zip/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  #  # Makefile for Cavium's ZIP Driver.  # diff --git a/drivers/crypto/ccp/Makefile b/drivers/crypto/ccp/Makefile index 57f8debfcfb3..c4ce726b931e 100644 --- a/drivers/crypto/ccp/Makefile +++ b/drivers/crypto/ccp/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_CCP_DD) += ccp.o  ccp-objs  := sp-dev.o sp-platform.o  ccp-$(CONFIG_CRYPTO_DEV_SP_CCP) += ccp-dev.o \ diff --git a/drivers/crypto/inside-secure/safexcel_cipher.c b/drivers/crypto/inside-secure/safexcel_cipher.c index d2207ac5ba19..5438552bc6d7 100644 --- a/drivers/crypto/inside-secure/safexcel_cipher.c +++ b/drivers/crypto/inside-secure/safexcel_cipher.c @@ -386,7 +386,7 @@ static int safexcel_cipher_exit_inv(struct crypto_tfm *tfm)  	struct safexcel_cipher_ctx *ctx = crypto_tfm_ctx(tfm);  	struct safexcel_crypto_priv *priv = ctx->priv;  	struct skcipher_request req; -	struct safexcel_inv_result result = { 0 }; +	struct safexcel_inv_result result = {};  	int ring = ctx->base.ring;  	memset(&req, 0, sizeof(struct skcipher_request)); diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c index 3f819399cd95..3980f946874f 100644 --- a/drivers/crypto/inside-secure/safexcel_hash.c +++ b/drivers/crypto/inside-secure/safexcel_hash.c @@ -419,7 +419,7 @@ static int safexcel_ahash_exit_inv(struct crypto_tfm *tfm)  	struct safexcel_ahash_ctx *ctx = crypto_tfm_ctx(tfm);  	struct safexcel_crypto_priv *priv = ctx->priv;  	struct ahash_request req; -	struct safexcel_inv_result result = { 0 }; +	struct safexcel_inv_result result = {};  	int ring = ctx->base.ring;  	memset(&req, 0, sizeof(struct ahash_request)); diff --git a/drivers/crypto/marvell/cesa.h b/drivers/crypto/marvell/cesa.h index b7872f62f674..0032e3bf46ee 100644 --- a/drivers/crypto/marvell/cesa.h +++ b/drivers/crypto/marvell/cesa.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __MARVELL_CESA_H__  #define __MARVELL_CESA_H__ diff --git a/drivers/crypto/mv_cesa.h b/drivers/crypto/mv_cesa.h index 9249d3ed184b..0be3f0aa4afd 100644 --- a/drivers/crypto/mv_cesa.h +++ b/drivers/crypto/mv_cesa.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __MV_CRYPTO_H__  #define __MV_CRYPTO_H__ diff --git a/drivers/crypto/n2_asm.S b/drivers/crypto/n2_asm.S index f7c793745a1e..9a67dbf340f4 100644 --- a/drivers/crypto/n2_asm.S +++ b/drivers/crypto/n2_asm.S @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /* n2_asm.S: Hypervisor calls for NCS support.   *   * Copyright (C) 2009 David S. Miller <[email protected]> diff --git a/drivers/crypto/n2_core.h b/drivers/crypto/n2_core.h index 4bcbbeae98f5..2406763b0306 100644 --- a/drivers/crypto/n2_core.h +++ b/drivers/crypto/n2_core.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef _N2_CORE_H  #define _N2_CORE_H diff --git a/drivers/crypto/nx/Makefile b/drivers/crypto/nx/Makefile index b727821c8ed4..015155da59c2 100644 --- a/drivers/crypto/nx/Makefile +++ b/drivers/crypto/nx/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_NX_ENCRYPT) += nx-crypto.o  nx-crypto-objs := nx.o \  		  nx_debugfs.o \ diff --git a/drivers/crypto/nx/nx-842.h b/drivers/crypto/nx/nx-842.h index bb2f31792683..b66f19ac600f 100644 --- a/drivers/crypto/nx/nx-842.h +++ b/drivers/crypto/nx/nx-842.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __NX_842_H__  #define __NX_842_H__ diff --git a/drivers/crypto/nx/nx.h b/drivers/crypto/nx/nx.h index 9347878d4f30..c3e54af18645 100644 --- a/drivers/crypto/nx/nx.h +++ b/drivers/crypto/nx/nx.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __NX_H__  #define __NX_H__ diff --git a/drivers/crypto/nx/nx_csbcpb.h b/drivers/crypto/nx/nx_csbcpb.h index a304f956d6f8..493f8490ff94 100644 --- a/drivers/crypto/nx/nx_csbcpb.h +++ b/drivers/crypto/nx/nx_csbcpb.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __NX_CSBCPB_H__  #define __NX_CSBCPB_H__ diff --git a/drivers/crypto/qat/Makefile b/drivers/crypto/qat/Makefile index 8265106f1c8e..7dd15e751d02 100644 --- a/drivers/crypto/qat/Makefile +++ b/drivers/crypto/qat/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_QAT) += qat_common/  obj-$(CONFIG_CRYPTO_DEV_QAT_DH895xCC) += qat_dh895xcc/  obj-$(CONFIG_CRYPTO_DEV_QAT_C3XXX) += qat_c3xxx/ diff --git a/drivers/crypto/qat/qat_common/Makefile b/drivers/crypto/qat/qat_common/Makefile index 92fb6ffdc062..47a8e3d8b81a 100644 --- a/drivers/crypto/qat/qat_common/Makefile +++ b/drivers/crypto/qat/qat_common/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_QAT) += intel_qat.o  intel_qat-objs := adf_cfg.o \  	adf_isr.o \ diff --git a/drivers/crypto/qce/Makefile b/drivers/crypto/qce/Makefile index 348dc3173afa..19a7f899acff 100644 --- a/drivers/crypto/qce/Makefile +++ b/drivers/crypto/qce/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_QCE) += qcrypto.o  qcrypto-objs := core.o \  		common.o \ diff --git a/drivers/crypto/rockchip/rk3288_crypto.h b/drivers/crypto/rockchip/rk3288_crypto.h index ab6a1b4c40f0..d5fb4013fb42 100644 --- a/drivers/crypto/rockchip/rk3288_crypto.h +++ b/drivers/crypto/rockchip/rk3288_crypto.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #ifndef __RK3288_CRYPTO_H__  #define __RK3288_CRYPTO_H__ diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c index b585ce54a802..4835dd4a9e50 100644 --- a/drivers/crypto/stm32/stm32-hash.c +++ b/drivers/crypto/stm32/stm32-hash.c @@ -553,9 +553,9 @@ static int stm32_hash_dma_send(struct stm32_hash_dev *hdev)  {  	struct stm32_hash_request_ctx *rctx = ahash_request_ctx(hdev->req);  	struct scatterlist sg[1], *tsg; -	int err = 0, len = 0, reg, ncp; +	int err = 0, len = 0, reg, ncp = 0;  	unsigned int i; -	const u32 *buffer = (const u32 *)rctx->buffer; +	u32 *buffer = (void *)rctx->buffer;  	rctx->sg = hdev->req->src;  	rctx->total = hdev->req->nbytes; @@ -620,10 +620,13 @@ static int stm32_hash_dma_send(struct stm32_hash_dev *hdev)  		reg |= HASH_CR_DMAA;  		stm32_hash_write(hdev, HASH_CR, reg); -		for (i = 0; i < DIV_ROUND_UP(ncp, sizeof(u32)); i++) -			stm32_hash_write(hdev, HASH_DIN, buffer[i]); - -		stm32_hash_set_nblw(hdev, ncp); +		if (ncp) { +			memset(buffer + ncp, 0, +			       DIV_ROUND_UP(ncp, sizeof(u32)) - ncp); +			writesl(hdev->io_base + HASH_DIN, buffer, +				DIV_ROUND_UP(ncp, sizeof(u32))); +		} +		stm32_hash_set_nblw(hdev, DIV_ROUND_UP(ncp, sizeof(u32)));  		reg = stm32_hash_read(hdev, HASH_STR);  		reg |= HASH_STR_DCAL;  		stm32_hash_write(hdev, HASH_STR, reg); diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index 79791c690858..dff88838dce7 100644 --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c @@ -1756,9 +1756,9 @@ static int common_nonsnoop_hash(struct talitos_edesc *edesc,  		req_ctx->swinit = 0;  	} else {  		desc->ptr[1] = zero_entry; -		/* Indicate next op is not the first. */ -		req_ctx->first = 0;  	} +	/* Indicate next op is not the first. */ +	req_ctx->first = 0;  	/* HMAC key */  	if (ctx->keylen) @@ -1769,7 +1769,7 @@ static int common_nonsnoop_hash(struct talitos_edesc *edesc,  	sg_count = edesc->src_nents ?: 1;  	if (is_sec1 && sg_count > 1) -		sg_copy_to_buffer(areq->src, sg_count, edesc->buf, length); +		sg_copy_to_buffer(req_ctx->psrc, sg_count, edesc->buf, length);  	else  		sg_count = dma_map_sg(dev, req_ctx->psrc, sg_count,  				      DMA_TO_DEVICE); @@ -3057,7 +3057,8 @@ static struct talitos_crypto_alg *talitos_alg_alloc(struct device *dev,  		t_alg->algt.alg.hash.final = ahash_final;  		t_alg->algt.alg.hash.finup = ahash_finup;  		t_alg->algt.alg.hash.digest = ahash_digest; -		t_alg->algt.alg.hash.setkey = ahash_setkey; +		if (!strncmp(alg->cra_name, "hmac", 4)) +			t_alg->algt.alg.hash.setkey = ahash_setkey;  		t_alg->algt.alg.hash.import = ahash_import;  		t_alg->algt.alg.hash.export = ahash_export; diff --git a/drivers/crypto/virtio/Makefile b/drivers/crypto/virtio/Makefile index dd342c947ff9..cbfccccfa135 100644 --- a/drivers/crypto/virtio/Makefile +++ b/drivers/crypto/virtio/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio_crypto.o  virtio_crypto-objs := \  	virtio_crypto_algs.o \ diff --git a/drivers/crypto/vmx/Makefile b/drivers/crypto/vmx/Makefile index 55f7c392582f..cab32cfec9c4 100644 --- a/drivers/crypto/vmx/Makefile +++ b/drivers/crypto/vmx/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0  obj-$(CONFIG_CRYPTO_DEV_VMX_ENCRYPT) += vmx-crypto.o  vmx-crypto-objs := vmx.o aesp8-ppc.o ghashp8-ppc.o aes.o aes_cbc.o aes_ctr.o aes_xts.o ghash.o diff --git a/drivers/crypto/vmx/aesp8-ppc.h b/drivers/crypto/vmx/aesp8-ppc.h index 01972e16a6c0..349646b73754 100644 --- a/drivers/crypto/vmx/aesp8-ppc.h +++ b/drivers/crypto/vmx/aesp8-ppc.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */  #include <linux/types.h>  #include <crypto/aes.h> diff --git a/drivers/crypto/vmx/ppc-xlate.pl b/drivers/crypto/vmx/ppc-xlate.pl index b18e67d0e065..36db2ef09e5b 100644 --- a/drivers/crypto/vmx/ppc-xlate.pl +++ b/drivers/crypto/vmx/ppc-xlate.pl @@ -1,4 +1,5 @@  #!/usr/bin/env perl +# SPDX-License-Identifier: GPL-2.0  # PowerPC assembler distiller by <appro>. |