Commit 492ddcbb authored by Gilad Ben-Yossef's avatar Gilad Ben-Yossef Committed by Greg Kroah-Hartman

staging: ccree: remove/add (un)needed blank lines

Remove or add blank lines as needed to match coding style.
Signed-off-by: default avatarGilad Ben-Yossef <gilad@benyossef.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e8e5110e
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
#define AES_CCM_RFC4309_NONCE_SIZE 3 #define AES_CCM_RFC4309_NONCE_SIZE 3
#define MAX_NONCE_SIZE CTR_RFC3686_NONCE_SIZE #define MAX_NONCE_SIZE CTR_RFC3686_NONCE_SIZE
/* Value of each ICV_CMP byte (of 8) in case of success */ /* Value of each ICV_CMP byte (of 8) in case of success */
#define ICV_VERIF_OK 0x01 #define ICV_VERIF_OK 0x01
...@@ -209,7 +208,6 @@ static int ssi_aead_init(struct crypto_aead *tfm) ...@@ -209,7 +208,6 @@ static int ssi_aead_init(struct crypto_aead *tfm)
return -ENOMEM; return -ENOMEM;
} }
static void ssi_aead_complete(struct device *dev, void *ssi_req, void __iomem *cc_base) static void ssi_aead_complete(struct device *dev, void *ssi_req, void __iomem *cc_base)
{ {
struct aead_request *areq = (struct aead_request *)ssi_req; struct aead_request *areq = (struct aead_request *)ssi_req;
...@@ -402,6 +400,7 @@ static int validate_keys_sizes(struct ssi_aead_ctx *ctx) ...@@ -402,6 +400,7 @@ static int validate_keys_sizes(struct ssi_aead_ctx *ctx)
return 0; /* All tests of keys sizes passed */ return 0; /* All tests of keys sizes passed */
} }
/* This function prepers the user key so it can pass to the hmac processing /* This function prepers the user key so it can pass to the hmac processing
* (copy to intenral buffer or hash in case of key longer than block * (copy to intenral buffer or hash in case of key longer than block
*/ */
...@@ -526,7 +525,6 @@ ssi_get_plain_hmac_key(struct crypto_aead *tfm, const u8 *key, unsigned int keyl ...@@ -526,7 +525,6 @@ ssi_get_plain_hmac_key(struct crypto_aead *tfm, const u8 *key, unsigned int keyl
return rc; return rc;
} }
static int static int
ssi_aead_setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen) ssi_aead_setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen)
{ {
...@@ -594,7 +592,6 @@ ssi_aead_setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen) ...@@ -594,7 +592,6 @@ ssi_aead_setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen)
goto badkey; goto badkey;
} }
/* STAT_PHASE_2: Create sequence */ /* STAT_PHASE_2: Create sequence */
switch (ctx->auth_mode) { switch (ctx->auth_mode) {
...@@ -613,7 +610,6 @@ ssi_aead_setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen) ...@@ -613,7 +610,6 @@ ssi_aead_setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen)
goto badkey; goto badkey;
} }
/* STAT_PHASE_3: Submit sequence to HW */ /* STAT_PHASE_3: Submit sequence to HW */
if (seq_len > 0) { /* For CCM there is no sequence to setup the key */ if (seq_len > 0) { /* For CCM there is no sequence to setup the key */
...@@ -1372,6 +1368,7 @@ static int validate_data_size(struct ssi_aead_ctx *ctx, ...@@ -1372,6 +1368,7 @@ static int validate_data_size(struct ssi_aead_ctx *ctx,
static unsigned int format_ccm_a0(u8 *pA0Buff, u32 headerSize) static unsigned int format_ccm_a0(u8 *pA0Buff, u32 headerSize)
{ {
unsigned int len = 0; unsigned int len = 0;
if (headerSize == 0) if (headerSize == 0)
return 0; return 0;
...@@ -1424,7 +1421,6 @@ static inline int ssi_aead_ccm( ...@@ -1424,7 +1421,6 @@ static inline int ssi_aead_ccm(
unsigned int cipher_flow_mode; unsigned int cipher_flow_mode;
dma_addr_t mac_result; dma_addr_t mac_result;
if (req_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) { if (req_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) {
cipher_flow_mode = AES_to_HASH_and_DOUT; cipher_flow_mode = AES_to_HASH_and_DOUT;
mac_result = req_ctx->mac_buf_dma_addr; mac_result = req_ctx->mac_buf_dma_addr;
...@@ -1481,7 +1477,6 @@ static inline int ssi_aead_ccm( ...@@ -1481,7 +1477,6 @@ static inline int ssi_aead_ccm(
set_aes_not_hash_mode(&desc[idx]); set_aes_not_hash_mode(&desc[idx]);
idx++; idx++;
/* process assoc data */ /* process assoc data */
if (req->assoclen > 0) { if (req->assoclen > 0) {
ssi_aead_create_assoc_desc(req, DIN_HASH, desc, &idx); ssi_aead_create_assoc_desc(req, DIN_HASH, desc, &idx);
...@@ -1556,6 +1551,7 @@ static int config_ccm_adata(struct aead_request *req) ...@@ -1556,6 +1551,7 @@ static int config_ccm_adata(struct aead_request *req)
req->cryptlen : req->cryptlen :
(req->cryptlen - ctx->authsize); (req->cryptlen - ctx->authsize);
int rc; int rc;
memset(req_ctx->mac_buf, 0, AES_BLOCK_SIZE); memset(req_ctx->mac_buf, 0, AES_BLOCK_SIZE);
memset(req_ctx->ccm_config, 0, AES_BLOCK_SIZE * 3); memset(req_ctx->ccm_config, 0, AES_BLOCK_SIZE * 3);
...@@ -1808,7 +1804,6 @@ static inline int ssi_aead_gcm( ...@@ -1808,7 +1804,6 @@ static inline int ssi_aead_gcm(
cipher_flow_mode = AES_to_HASH_and_DOUT; cipher_flow_mode = AES_to_HASH_and_DOUT;
} }
//in RFC4543 no data to encrypt. just copy data from src to dest. //in RFC4543 no data to encrypt. just copy data from src to dest.
if (req_ctx->plaintext_authenticate_only) { if (req_ctx->plaintext_authenticate_only) {
ssi_aead_process_cipher_data_desc(req, BYPASS, desc, seq_size); ssi_aead_process_cipher_data_desc(req, BYPASS, desc, seq_size);
...@@ -1904,15 +1899,16 @@ static int config_gcm_context(struct aead_request *req) ...@@ -1904,15 +1899,16 @@ static int config_gcm_context(struct aead_request *req)
memcpy(req->iv + 12, &counter, 4); memcpy(req->iv + 12, &counter, 4);
memcpy(req_ctx->gcm_iv_inc1, req->iv, 16); memcpy(req_ctx->gcm_iv_inc1, req->iv, 16);
if (!req_ctx->plaintext_authenticate_only) { if (!req_ctx->plaintext_authenticate_only) {
__be64 temp64; __be64 temp64;
temp64 = cpu_to_be64(req->assoclen * 8); temp64 = cpu_to_be64(req->assoclen * 8);
memcpy(&req_ctx->gcm_len_block.lenA, &temp64, sizeof(temp64)); memcpy(&req_ctx->gcm_len_block.lenA, &temp64, sizeof(temp64));
temp64 = cpu_to_be64(cryptlen * 8); temp64 = cpu_to_be64(cryptlen * 8);
memcpy(&req_ctx->gcm_len_block.lenC, &temp64, 8); memcpy(&req_ctx->gcm_len_block.lenC, &temp64, 8);
} else { //rfc4543=> all data(AAD,IV,Plain) are considered additional data that is nothing is encrypted. } else { //rfc4543=> all data(AAD,IV,Plain) are considered additional data that is nothing is encrypted.
__be64 temp64; __be64 temp64;
temp64 = cpu_to_be64((req->assoclen + GCM_BLOCK_RFC4_IV_SIZE + cryptlen) * 8); temp64 = cpu_to_be64((req->assoclen + GCM_BLOCK_RFC4_IV_SIZE + cryptlen) * 8);
memcpy(&req_ctx->gcm_len_block.lenA, &temp64, sizeof(temp64)); memcpy(&req_ctx->gcm_len_block.lenA, &temp64, sizeof(temp64));
temp64 = 0; temp64 = 0;
...@@ -1934,7 +1930,6 @@ static void ssi_rfc4_gcm_process(struct aead_request *req) ...@@ -1934,7 +1930,6 @@ static void ssi_rfc4_gcm_process(struct aead_request *req)
req->assoclen -= GCM_BLOCK_RFC4_IV_SIZE; req->assoclen -= GCM_BLOCK_RFC4_IV_SIZE;
} }
#endif /*SSI_CC_HAS_AES_GCM*/ #endif /*SSI_CC_HAS_AES_GCM*/
static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction direct) static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction direct)
...@@ -1948,7 +1943,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction ...@@ -1948,7 +1943,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction
struct device *dev = &ctx->drvdata->plat_dev->dev; struct device *dev = &ctx->drvdata->plat_dev->dev;
struct ssi_crypto_req ssi_req = {}; struct ssi_crypto_req ssi_req = {};
SSI_LOG_DEBUG("%s context=%p req=%p iv=%p src=%p src_ofs=%d dst=%p dst_ofs=%d cryptolen=%d\n", SSI_LOG_DEBUG("%s context=%p req=%p iv=%p src=%p src_ofs=%d dst=%p dst_ofs=%d cryptolen=%d\n",
((direct == DRV_CRYPTO_DIRECTION_ENCRYPT) ? "Encrypt" : "Decrypt"), ctx, req, req->iv, ((direct == DRV_CRYPTO_DIRECTION_ENCRYPT) ? "Encrypt" : "Decrypt"), ctx, req, req->iv,
sg_virt(req->src), req->src->offset, sg_virt(req->dst), req->dst->offset, req->cryptlen); sg_virt(req->src), req->src->offset, sg_virt(req->dst), req->dst->offset, req->cryptlen);
...@@ -1973,7 +1967,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction ...@@ -1973,7 +1967,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction
areq_ctx->req_authsize = ctx->authsize; areq_ctx->req_authsize = ctx->authsize;
areq_ctx->cipher_mode = ctx->cipher_mode; areq_ctx->cipher_mode = ctx->cipher_mode;
/* STAT_PHASE_1: Map buffers */ /* STAT_PHASE_1: Map buffers */
if (ctx->cipher_mode == DRV_CIPHER_CTR) { if (ctx->cipher_mode == DRV_CIPHER_CTR) {
...@@ -2057,7 +2050,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction ...@@ -2057,7 +2050,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction
ssi_req.ivgen_size = crypto_aead_ivsize(tfm); ssi_req.ivgen_size = crypto_aead_ivsize(tfm);
} }
/* STAT_PHASE_2: Create sequence */ /* STAT_PHASE_2: Create sequence */
/* Load MLLI tables to SRAM if necessary */ /* Load MLLI tables to SRAM if necessary */
...@@ -2091,7 +2083,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction ...@@ -2091,7 +2083,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction
goto exit; goto exit;
} }
/* STAT_PHASE_3: Lock HW and push sequence */ /* STAT_PHASE_3: Lock HW and push sequence */
rc = send_request(ctx->drvdata, &ssi_req, desc, seq_len, 1); rc = send_request(ctx->drvdata, &ssi_req, desc, seq_len, 1);
...@@ -2101,7 +2092,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction ...@@ -2101,7 +2092,6 @@ static int ssi_aead_process(struct aead_request *req, enum drv_crypto_direction
ssi_buffer_mgr_unmap_aead_request(dev, req); ssi_buffer_mgr_unmap_aead_request(dev, req);
} }
exit: exit:
return rc; return rc;
} }
......
...@@ -25,13 +25,11 @@ ...@@ -25,13 +25,11 @@
#include <crypto/algapi.h> #include <crypto/algapi.h>
#include <crypto/ctr.h> #include <crypto/ctr.h>
/* mac_cmp - HW writes 8 B but all bytes hold the same value */ /* mac_cmp - HW writes 8 B but all bytes hold the same value */
#define ICV_CMP_SIZE 8 #define ICV_CMP_SIZE 8
#define CCM_CONFIG_BUF_SIZE (AES_BLOCK_SIZE * 3) #define CCM_CONFIG_BUF_SIZE (AES_BLOCK_SIZE * 3)
#define MAX_MAC_SIZE MAX(SHA256_DIGEST_SIZE, AES_BLOCK_SIZE) #define MAX_MAC_SIZE MAX(SHA256_DIGEST_SIZE, AES_BLOCK_SIZE)
/* defines for AES GCM configuration buffer */ /* defines for AES GCM configuration buffer */
#define GCM_BLOCK_LEN_SIZE 8 #define GCM_BLOCK_LEN_SIZE 8
...@@ -40,8 +38,6 @@ ...@@ -40,8 +38,6 @@
#define GCM_BLOCK_RFC4_NONCE_OFFSET 0 #define GCM_BLOCK_RFC4_NONCE_OFFSET 0
#define GCM_BLOCK_RFC4_NONCE_SIZE 4 #define GCM_BLOCK_RFC4_NONCE_SIZE 4
/* Offsets into AES CCM configuration buffer */ /* Offsets into AES CCM configuration buffer */
#define CCM_B0_OFFSET 0 #define CCM_B0_OFFSET 0
#define CCM_A0_OFFSET 16 #define CCM_A0_OFFSET 16
......
...@@ -42,7 +42,6 @@ ...@@ -42,7 +42,6 @@
#define GET_DMA_BUFFER_TYPE(buff_type) #define GET_DMA_BUFFER_TYPE(buff_type)
#endif #endif
enum dma_buffer_type { enum dma_buffer_type {
DMA_NULL_TYPE = -1, DMA_NULL_TYPE = -1,
DMA_SGL_TYPE = 1, DMA_SGL_TYPE = 1,
...@@ -80,6 +79,7 @@ static unsigned int ssi_buffer_mgr_get_sgl_nents( ...@@ -80,6 +79,7 @@ static unsigned int ssi_buffer_mgr_get_sgl_nents(
struct scatterlist *sg_list, unsigned int nbytes, u32 *lbytes, bool *is_chained) struct scatterlist *sg_list, unsigned int nbytes, u32 *lbytes, bool *is_chained)
{ {
unsigned int nents = 0; unsigned int nents = 0;
while (nbytes != 0) { while (nbytes != 0) {
if (sg_is_chain(sg_list)) { if (sg_is_chain(sg_list)) {
SSI_LOG_ERR("Unexpected chained entry " SSI_LOG_ERR("Unexpected chained entry "
...@@ -181,7 +181,6 @@ static inline int ssi_buffer_mgr_render_buff_to_mlli( ...@@ -181,7 +181,6 @@ static inline int ssi_buffer_mgr_render_buff_to_mlli(
return 0; return 0;
} }
static inline int ssi_buffer_mgr_render_scatterlist_to_mlli( static inline int ssi_buffer_mgr_render_scatterlist_to_mlli(
struct scatterlist *sgl, u32 sgl_data_len, u32 sglOffset, u32 *curr_nents, struct scatterlist *sgl, u32 sgl_data_len, u32 sglOffset, u32 *curr_nents,
u32 **mlli_entry_pp) u32 **mlli_entry_pp)
...@@ -322,6 +321,7 @@ ssi_buffer_mgr_dma_map_sg(struct device *dev, struct scatterlist *sg, u32 nents, ...@@ -322,6 +321,7 @@ ssi_buffer_mgr_dma_map_sg(struct device *dev, struct scatterlist *sg, u32 nents,
{ {
u32 i, j; u32 i, j;
struct scatterlist *l_sg = sg; struct scatterlist *l_sg = sg;
for (i = 0; i < nents; i++) { for (i = 0; i < nents; i++) {
if (!l_sg) if (!l_sg)
break; break;
...@@ -441,7 +441,6 @@ ssi_aead_handle_config_buf(struct device *dev, ...@@ -441,7 +441,6 @@ ssi_aead_handle_config_buf(struct device *dev,
return 0; return 0;
} }
static inline int ssi_ahash_handle_curr_buf(struct device *dev, static inline int ssi_ahash_handle_curr_buf(struct device *dev,
struct ahash_req_ctx *areq_ctx, struct ahash_req_ctx *areq_ctx,
u8 *curr_buff, u8 *curr_buff,
...@@ -700,6 +699,7 @@ void ssi_buffer_mgr_unmap_aead_request( ...@@ -700,6 +699,7 @@ void ssi_buffer_mgr_unmap_aead_request(
likely(req->src == req->dst)) likely(req->src == req->dst))
{ {
u32 size_to_skip = req->assoclen; u32 size_to_skip = req->assoclen;
if (areq_ctx->is_gcm4543) if (areq_ctx->is_gcm4543)
size_to_skip += crypto_aead_ivsize(tfm); size_to_skip += crypto_aead_ivsize(tfm);
...@@ -1027,6 +1027,7 @@ static inline int ssi_buffer_mgr_prepare_aead_data_mlli( ...@@ -1027,6 +1027,7 @@ static inline int ssi_buffer_mgr_prepare_aead_data_mlli(
* MAC verification upon request completion * MAC verification upon request completion
*/ */
u32 size_to_skip = req->assoclen; u32 size_to_skip = req->assoclen;
if (areq_ctx->is_gcm4543) if (areq_ctx->is_gcm4543)
size_to_skip += crypto_aead_ivsize(tfm); size_to_skip += crypto_aead_ivsize(tfm);
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include "ssi_config.h" #include "ssi_config.h"
#include "ssi_driver.h" #include "ssi_driver.h"
enum ssi_req_dma_buf_type { enum ssi_req_dma_buf_type {
SSI_DMA_BUF_NULL = 0, SSI_DMA_BUF_NULL = 0,
SSI_DMA_BUF_DLLI, SSI_DMA_BUF_DLLI,
......
...@@ -47,6 +47,7 @@ struct cc_user_key_info { ...@@ -47,6 +47,7 @@ struct cc_user_key_info {
u8 *key; u8 *key;
dma_addr_t key_dma_addr; dma_addr_t key_dma_addr;
}; };
struct cc_hw_key_info { struct cc_hw_key_info {
enum cc_hw_crypto_key key1_slot; enum cc_hw_crypto_key key1_slot;
enum cc_hw_crypto_key key2_slot; enum cc_hw_crypto_key key2_slot;
...@@ -67,7 +68,6 @@ struct ssi_ablkcipher_ctx { ...@@ -67,7 +68,6 @@ struct ssi_ablkcipher_ctx {
static void ssi_ablkcipher_complete(struct device *dev, void *ssi_req, void __iomem *cc_base); static void ssi_ablkcipher_complete(struct device *dev, void *ssi_req, void __iomem *cc_base);
static int validate_keys_sizes(struct ssi_ablkcipher_ctx *ctx_p, u32 size) { static int validate_keys_sizes(struct ssi_ablkcipher_ctx *ctx_p, u32 size) {
switch (ctx_p->flow_mode) { switch (ctx_p->flow_mode) {
case S_DIN_to_AES: case S_DIN_to_AES:
...@@ -108,7 +108,6 @@ static int validate_keys_sizes(struct ssi_ablkcipher_ctx *ctx_p, u32 size) { ...@@ -108,7 +108,6 @@ static int validate_keys_sizes(struct ssi_ablkcipher_ctx *ctx_p, u32 size) {
return -EINVAL; return -EINVAL;
} }
static int validate_data_size(struct ssi_ablkcipher_ctx *ctx_p, unsigned int size) { static int validate_data_size(struct ssi_ablkcipher_ctx *ctx_p, unsigned int size) {
switch (ctx_p->flow_mode) { switch (ctx_p->flow_mode) {
case S_DIN_to_AES: case S_DIN_to_AES:
...@@ -252,7 +251,6 @@ static void ssi_blkcipher_exit(struct crypto_tfm *tfm) ...@@ -252,7 +251,6 @@ static void ssi_blkcipher_exit(struct crypto_tfm *tfm)
SSI_LOG_DEBUG("Free key buffer in context. key=@%p\n", ctx_p->user.key); SSI_LOG_DEBUG("Free key buffer in context. key=@%p\n", ctx_p->user.key);
} }
struct tdes_keys { struct tdes_keys {
u8 key1[DES_KEY_SIZE]; u8 key1[DES_KEY_SIZE];
u8 key2[DES_KEY_SIZE]; u8 key2[DES_KEY_SIZE];
...@@ -396,8 +394,6 @@ static int ssi_blkcipher_setkey(struct crypto_tfm *tfm, ...@@ -396,8 +394,6 @@ static int ssi_blkcipher_setkey(struct crypto_tfm *tfm,
return -EINVAL; return -EINVAL;
} }
/* STAT_PHASE_1: Copy key to ctx */ /* STAT_PHASE_1: Copy key to ctx */
dma_sync_single_for_cpu(dev, ctx_p->user.key_dma_addr, dma_sync_single_for_cpu(dev, ctx_p->user.key_dma_addr,
max_key_buf_size, DMA_TO_DEVICE); max_key_buf_size, DMA_TO_DEVICE);
...@@ -422,6 +418,7 @@ static int ssi_blkcipher_setkey(struct crypto_tfm *tfm, ...@@ -422,6 +418,7 @@ static int ssi_blkcipher_setkey(struct crypto_tfm *tfm,
int key_len = keylen >> 1; int key_len = keylen >> 1;
int err; int err;
SHASH_DESC_ON_STACK(desc, ctx_p->shash_tfm); SHASH_DESC_ON_STACK(desc, ctx_p->shash_tfm);
desc->tfm = ctx_p->shash_tfm; desc->tfm = ctx_p->shash_tfm;
err = crypto_shash_digest(desc, ctx_p->user.key, key_len, ctx_p->user.key + key_len); err = crypto_shash_digest(desc, ctx_p->user.key, key_len, ctx_p->user.key + key_len);
...@@ -435,7 +432,6 @@ static int ssi_blkcipher_setkey(struct crypto_tfm *tfm, ...@@ -435,7 +432,6 @@ static int ssi_blkcipher_setkey(struct crypto_tfm *tfm,
max_key_buf_size, DMA_TO_DEVICE); max_key_buf_size, DMA_TO_DEVICE);
ctx_p->keylen = keylen; ctx_p->keylen = keylen;
SSI_LOG_DEBUG("ssi_blkcipher_setkey: return safely"); SSI_LOG_DEBUG("ssi_blkcipher_setkey: return safely");
return 0; return 0;
} }
...@@ -598,7 +594,6 @@ static inline void ssi_blkcipher_create_multi2_setup_desc( ...@@ -598,7 +594,6 @@ static inline void ssi_blkcipher_create_multi2_setup_desc(
set_setup_mode(&desc[*seq_size], SETUP_LOAD_STATE0); set_setup_mode(&desc[*seq_size], SETUP_LOAD_STATE0);
(*seq_size)++; (*seq_size)++;
/* Set state */ /* Set state */
hw_desc_init(&desc[*seq_size]); hw_desc_init(&desc[*seq_size]);
set_din_type(&desc[*seq_size], DMA_DLLI, req_ctx->gen_ctx.iv_dma_addr, set_din_type(&desc[*seq_size], DMA_DLLI, req_ctx->gen_ctx.iv_dma_addr,
...@@ -724,7 +719,6 @@ static int ssi_blkcipher_complete(struct device *dev, ...@@ -724,7 +719,6 @@ static int ssi_blkcipher_complete(struct device *dev,
ssi_buffer_mgr_unmap_blkcipher_request(dev, req_ctx, ivsize, src, dst); ssi_buffer_mgr_unmap_blkcipher_request(dev, req_ctx, ivsize, src, dst);
/*Set the inflight couter value to local variable*/ /*Set the inflight couter value to local variable*/
inflight_counter = ctx_p->drvdata->inflight_counter; inflight_counter = ctx_p->drvdata->inflight_counter;
/*Decrease the inflight counter*/ /*Decrease the inflight counter*/
...@@ -790,7 +784,6 @@ static int ssi_blkcipher_process( ...@@ -790,7 +784,6 @@ static int ssi_blkcipher_process(
/* Setup request context */ /* Setup request context */
req_ctx->gen_ctx.op_type = direction; req_ctx->gen_ctx.op_type = direction;
/* STAT_PHASE_1: Map buffers */ /* STAT_PHASE_1: Map buffers */
rc = ssi_buffer_mgr_map_blkcipher_request(ctx_p->drvdata, req_ctx, ivsize, nbytes, info, src, dst); rc = ssi_buffer_mgr_map_blkcipher_request(ctx_p->drvdata, req_ctx, ivsize, nbytes, info, src, dst);
...@@ -799,7 +792,6 @@ static int ssi_blkcipher_process( ...@@ -799,7 +792,6 @@ static int ssi_blkcipher_process(
goto exit_process; goto exit_process;
} }
/* STAT_PHASE_2: Create sequence */ /* STAT_PHASE_2: Create sequence */
/* Setup processing */ /* Setup processing */
...@@ -878,7 +870,6 @@ static int ssi_ablkcipher_init(struct crypto_tfm *tfm) ...@@ -878,7 +870,6 @@ static int ssi_ablkcipher_init(struct crypto_tfm *tfm)
return ssi_blkcipher_init(tfm); return ssi_blkcipher_init(tfm);
} }
static int ssi_ablkcipher_setkey(struct crypto_ablkcipher *tfm, static int ssi_ablkcipher_setkey(struct crypto_ablkcipher *tfm,
const u8 *key, const u8 *key,
unsigned int keylen) unsigned int keylen)
...@@ -911,7 +902,6 @@ static int ssi_ablkcipher_decrypt(struct ablkcipher_request *req) ...@@ -911,7 +902,6 @@ static int ssi_ablkcipher_decrypt(struct ablkcipher_request *req)
return ssi_blkcipher_process(tfm, req_ctx, req->dst, req->src, req->nbytes, req->info, ivsize, (void *)req, DRV_CRYPTO_DIRECTION_DECRYPT); return ssi_blkcipher_process(tfm, req_ctx, req->dst, req->src, req->nbytes, req->info, ivsize, (void *)req, DRV_CRYPTO_DIRECTION_DECRYPT);
} }
/* DX Block cipher alg */ /* DX Block cipher alg */
static struct ssi_alg_template blkcipher_algs[] = { static struct ssi_alg_template blkcipher_algs[] = {
/* Async template */ /* Async template */
...@@ -1290,6 +1280,7 @@ int ssi_ablkcipher_free(struct ssi_drvdata *drvdata) ...@@ -1290,6 +1280,7 @@ int ssi_ablkcipher_free(struct ssi_drvdata *drvdata)
struct ssi_blkcipher_handle *blkcipher_handle = struct ssi_blkcipher_handle *blkcipher_handle =
drvdata->blkcipher_handle; drvdata->blkcipher_handle;
struct device *dev; struct device *dev;
dev = &drvdata->plat_dev->dev; dev = &drvdata->plat_dev->dev;
if (blkcipher_handle) { if (blkcipher_handle) {
...@@ -1307,8 +1298,6 @@ int ssi_ablkcipher_free(struct ssi_drvdata *drvdata) ...@@ -1307,8 +1298,6 @@ int ssi_ablkcipher_free(struct ssi_drvdata *drvdata)
return 0; return 0;
} }
int ssi_ablkcipher_alloc(struct ssi_drvdata *drvdata) int ssi_ablkcipher_alloc(struct ssi_drvdata *drvdata)
{ {
struct ssi_blkcipher_handle *ablkcipher_handle; struct ssi_blkcipher_handle *ablkcipher_handle;
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include "ssi_driver.h" #include "ssi_driver.h"
#include "ssi_buffer_mgr.h" #include "ssi_buffer_mgr.h"
/* Crypto cipher flags */ /* Crypto cipher flags */
#define CC_CRYPTO_CIPHER_KEY_KFDE0 (1 << 0) #define CC_CRYPTO_CIPHER_KEY_KFDE0 (1 << 0)
#define CC_CRYPTO_CIPHER_KEY_KFDE1 (1 << 1) #define CC_CRYPTO_CIPHER_KEY_KFDE1 (1 << 1)
...@@ -36,7 +35,6 @@ ...@@ -36,7 +35,6 @@
#define CC_CRYPTO_CIPHER_KEY_KFDE_MASK (CC_CRYPTO_CIPHER_KEY_KFDE0 | CC_CRYPTO_CIPHER_KEY_KFDE1 | CC_CRYPTO_CIPHER_KEY_KFDE2 | CC_CRYPTO_CIPHER_KEY_KFDE3) #define CC_CRYPTO_CIPHER_KEY_KFDE_MASK (CC_CRYPTO_CIPHER_KEY_KFDE0 | CC_CRYPTO_CIPHER_KEY_KFDE1 | CC_CRYPTO_CIPHER_KEY_KFDE2 | CC_CRYPTO_CIPHER_KEY_KFDE3)
struct blkcipher_req_ctx { struct blkcipher_req_ctx {
struct async_gen_req_ctx gen_ctx; struct async_gen_req_ctx gen_ctx;
enum ssi_req_dma_buf_type dma_buf_type; enum ssi_req_dma_buf_type dma_buf_type;
...@@ -49,8 +47,6 @@ struct blkcipher_req_ctx { ...@@ -49,8 +47,6 @@ struct blkcipher_req_ctx {
struct mlli_params mlli_params; struct mlli_params mlli_params;
}; };
int ssi_ablkcipher_alloc(struct ssi_drvdata *drvdata); int ssi_ablkcipher_alloc(struct ssi_drvdata *drvdata);
int ssi_ablkcipher_free(struct ssi_drvdata *drvdata); int ssi_ablkcipher_free(struct ssi_drvdata *drvdata);
...@@ -63,7 +59,6 @@ int ssi_ablkcipher_free(struct ssi_drvdata *drvdata); ...@@ -63,7 +59,6 @@ int ssi_ablkcipher_free(struct ssi_drvdata *drvdata);
CRYPTO_ALG_BULK_DU_4096) CRYPTO_ALG_BULK_DU_4096)
#endif /* CRYPTO_ALG_BULK_MASK */ #endif /* CRYPTO_ALG_BULK_MASK */
#ifdef CRYPTO_TFM_REQ_HW_KEY #ifdef CRYPTO_TFM_REQ_HW_KEY
static inline bool ssi_is_hw_key(struct crypto_tfm *tfm) static inline bool ssi_is_hw_key(struct crypto_tfm *tfm)
...@@ -85,5 +80,4 @@ static inline bool ssi_is_hw_key(struct crypto_tfm *tfm) ...@@ -85,5 +80,4 @@ static inline bool ssi_is_hw_key(struct crypto_tfm *tfm)
#endif /* CRYPTO_TFM_REQ_HW_KEY */ #endif /* CRYPTO_TFM_REQ_HW_KEY */
#endif /*__SSI_CIPHER_H__*/ #endif /*__SSI_CIPHER_H__*/
...@@ -73,7 +73,6 @@ ...@@ -73,7 +73,6 @@
#include "ssi_pm.h" #include "ssi_pm.h"
#include "ssi_fips_local.h" #include "ssi_fips_local.h"
#ifdef DX_DUMP_BYTES #ifdef DX_DUMP_BYTES
void dump_byte_array(const char *name, const u8 *the_array, unsigned long size) void dump_byte_array(const char *name, const u8 *the_array, unsigned long size)
{ {
...@@ -274,7 +273,6 @@ static int init_cc_resources(struct platform_device *plat_dev) ...@@ -274,7 +273,6 @@ static int init_cc_resources(struct platform_device *plat_dev)
SSI_LOG_DEBUG("CC registers mapped from %pa to 0x%p\n", &new_drvdata->res_mem->start, cc_base); SSI_LOG_DEBUG("CC registers mapped from %pa to 0x%p\n", &new_drvdata->res_mem->start, cc_base);
new_drvdata->cc_base = cc_base; new_drvdata->cc_base = cc_base;
/* Then IRQ */ /* Then IRQ */
new_drvdata->res_irq = platform_get_resource(plat_dev, IORESOURCE_IRQ, 0); new_drvdata->res_irq = platform_get_resource(plat_dev, IORESOURCE_IRQ, 0);
if (unlikely(!new_drvdata->res_irq)) { if (unlikely(!new_drvdata->res_irq)) {
...@@ -546,6 +544,7 @@ static int cc7x_remove(struct platform_device *plat_dev) ...@@ -546,6 +544,7 @@ static int cc7x_remove(struct platform_device *plat_dev)
return 0; return 0;
} }
#if defined(CONFIG_PM_RUNTIME) || defined(CONFIG_PM_SLEEP) #if defined(CONFIG_PM_RUNTIME) || defined(CONFIG_PM_SLEEP)
static struct dev_pm_ops arm_cc7x_driver_pm = { static struct dev_pm_ops arm_cc7x_driver_pm = {
SET_RUNTIME_PM_OPS(ssi_power_mgr_runtime_suspend, ssi_power_mgr_runtime_resume, NULL) SET_RUNTIME_PM_OPS(ssi_power_mgr_runtime_suspend, ssi_power_mgr_runtime_resume, NULL)
...@@ -558,7 +557,6 @@ static struct dev_pm_ops arm_cc7x_driver_pm = { ...@@ -558,7 +557,6 @@ static struct dev_pm_ops arm_cc7x_driver_pm = {
#define DX_DRIVER_RUNTIME_PM NULL #define DX_DRIVER_RUNTIME_PM NULL
#endif #endif
#ifdef CONFIG_OF #ifdef CONFIG_OF
static const struct of_device_id arm_cc7x_dev_of_match[] = { static const struct of_device_id arm_cc7x_dev_of_match[] = {
{.compatible = "arm,cryptocell-712-ree"}, {.compatible = "arm,cryptocell-712-ree"},
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>. * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/ */
/************************************************************** /**************************************************************
* This file defines the driver FIPS APIs * * This file defines the driver FIPS APIs *
**************************************************************/ **************************************************************/
...@@ -22,7 +21,6 @@ ...@@ -22,7 +21,6 @@
#include <linux/module.h> #include <linux/module.h>
#include "ssi_fips.h" #include "ssi_fips.h"
extern int ssi_fips_ext_get_state(enum cc_fips_state_t *p_state); extern int ssi_fips_ext_get_state(enum cc_fips_state_t *p_state);
extern int ssi_fips_ext_get_error(enum cc_fips_error *p_err); extern int ssi_fips_ext_get_error(enum cc_fips_error *p_err);
......
...@@ -29,7 +29,6 @@ enum cc_fips_state { ...@@ -29,7 +29,6 @@ enum cc_fips_state {
CC_FIPS_STATE_RESERVE32B = S32_MAX CC_FIPS_STATE_RESERVE32B = S32_MAX
}; };
enum cc_fips_error { enum cc_fips_error {
CC_REE_FIPS_ERROR_OK = 0, CC_REE_FIPS_ERROR_OK = 0,
CC_REE_FIPS_ERROR_GENERAL, CC_REE_FIPS_ERROR_GENERAL,
...@@ -55,8 +54,6 @@ enum cc_fips_error { ...@@ -55,8 +54,6 @@ enum cc_fips_error {
CC_REE_FIPS_ERROR_RESERVE32B = S32_MAX CC_REE_FIPS_ERROR_RESERVE32B = S32_MAX
}; };
int ssi_fips_get_state(enum cc_fips_state *p_state); int ssi_fips_get_state(enum cc_fips_state *p_state);
int ssi_fips_get_error(enum cc_fips_error *p_err); int ssi_fips_get_error(enum cc_fips_error *p_err);
......
...@@ -98,14 +98,12 @@ ...@@ -98,14 +98,12 @@
#define NIST_AES_192_CTR_CIPHER { 0x1a, 0xbc, 0x93, 0x24, 0x17, 0x52, 0x1c, 0xa2, 0x4f, 0x2b, 0x04, 0x59, 0xfe, 0x7e, 0x6e, 0x0b } #define NIST_AES_192_CTR_CIPHER { 0x1a, 0xbc, 0x93, 0x24, 0x17, 0x52, 0x1c, 0xa2, 0x4f, 0x2b, 0x04, 0x59, 0xfe, 0x7e, 0x6e, 0x0b }
#define NIST_AES_256_CTR_CIPHER { 0x60, 0x1e, 0xc3, 0x13, 0x77, 0x57, 0x89, 0xa5, 0xb7, 0xa7, 0xf5, 0x04, 0xbb, 0xf3, 0xd2, 0x28 } #define NIST_AES_256_CTR_CIPHER { 0x60, 0x1e, 0xc3, 0x13, 0x77, 0x57, 0x89, 0xa5, 0xb7, 0xa7, 0xf5, 0x04, 0xbb, 0xf3, 0xd2, 0x28 }
#define RFC3962_AES_128_KEY { 0x63, 0x68, 0x69, 0x63, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x65, 0x72, 0x69, 0x79, 0x61, 0x6b, 0x69 } #define RFC3962_AES_128_KEY { 0x63, 0x68, 0x69, 0x63, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x65, 0x72, 0x69, 0x79, 0x61, 0x6b, 0x69 }
#define RFC3962_AES_VECTOR_SIZE 17 #define RFC3962_AES_VECTOR_SIZE 17
#define RFC3962_AES_PLAIN_DATA { 0x49, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20 } #define RFC3962_AES_PLAIN_DATA { 0x49, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20 }
#define RFC3962_AES_CBC_CTS_IV { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } #define RFC3962_AES_CBC_CTS_IV { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
#define RFC3962_AES_128_CBC_CTS_CIPHER { 0xc6, 0x35, 0x35, 0x68, 0xf2, 0xbf, 0x8c, 0xb4, 0xd8, 0xa5, 0x80, 0x36, 0x2d, 0xa7, 0xff, 0x7f, 0x97 } #define RFC3962_AES_128_CBC_CTS_CIPHER { 0xc6, 0x35, 0x35, 0x68, 0xf2, 0xbf, 0x8c, 0xb4, 0xd8, 0xa5, 0x80, 0x36, 0x2d, 0xa7, 0xff, 0x7f, 0x97 }
#define NIST_AES_256_XTS_KEY { 0xa1, 0xb9, 0x0c, 0xba, 0x3f, 0x06, 0xac, 0x35, 0x3b, 0x2c, 0x34, 0x38, 0x76, 0x08, 0x17, 0x62, \ #define NIST_AES_256_XTS_KEY { 0xa1, 0xb9, 0x0c, 0xba, 0x3f, 0x06, 0xac, 0x35, 0x3b, 0x2c, 0x34, 0x38, 0x76, 0x08, 0x17, 0x62, \
0x09, 0x09, 0x23, 0x02, 0x6e, 0x91, 0x77, 0x18, 0x15, 0xf2, 0x9d, 0xab, 0x01, 0x93, 0x2f, 0x2f } 0x09, 0x09, 0x23, 0x02, 0x6e, 0x91, 0x77, 0x18, 0x15, 0xf2, 0x9d, 0xab, 0x01, 0x93, 0x2f, 0x2f }
#define NIST_AES_256_XTS_IV { 0x4f, 0xae, 0xf7, 0x11, 0x7c, 0xda, 0x59, 0xc6, 0x6e, 0x4b, 0x92, 0x01, 0x3e, 0x76, 0x8a, 0xd5 } #define NIST_AES_256_XTS_IV { 0x4f, 0xae, 0xf7, 0x11, 0x7c, 0xda, 0x59, 0xc6, 0x6e, 0x4b, 0x92, 0x01, 0x3e, 0x76, 0x8a, 0xd5 }
...@@ -124,7 +122,6 @@ ...@@ -124,7 +122,6 @@
#define NIST_AES_512_XTS_CIPHER { 0xcb, 0xaa, 0xd0, 0xe2, 0xf6, 0xce, 0xa3, 0xf5, 0x0b, 0x37, 0xf9, 0x34, 0xd4, 0x6a, 0x9b, 0x13, \ #define NIST_AES_512_XTS_CIPHER { 0xcb, 0xaa, 0xd0, 0xe2, 0xf6, 0xce, 0xa3, 0xf5, 0x0b, 0x37, 0xf9, 0x34, 0xd4, 0x6a, 0x9b, 0x13, \
0x0b, 0x9d, 0x54, 0xf0, 0x7e, 0x34, 0xf3, 0x6a, 0xf7, 0x93, 0xe8, 0x6f, 0x73, 0xc6, 0xd7, 0xdb } 0x0b, 0x9d, 0x54, 0xf0, 0x7e, 0x34, 0xf3, 0x6a, 0xf7, 0x93, 0xe8, 0x6f, 0x73, 0xc6, 0xd7, 0xdb }
/* NIST AES-CMAC */ /* NIST AES-CMAC */
#define NIST_AES_128_CMAC_KEY { 0x67, 0x08, 0xc9, 0x88, 0x7b, 0x84, 0x70, 0x84, 0xf1, 0x23, 0xd3, 0xdd, 0x9c, 0x3a, 0x81, 0x36 } #define NIST_AES_128_CMAC_KEY { 0x67, 0x08, 0xc9, 0x88, 0x7b, 0x84, 0x70, 0x84, 0xf1, 0x23, 0xd3, 0xdd, 0x9c, 0x3a, 0x81, 0x36 }
#define NIST_AES_128_CMAC_PLAIN_DATA { 0xa8, 0xde, 0x55, 0x17, 0x0c, 0x6d, 0xc0, 0xd8, 0x0d, 0xe3, 0x2f, 0x50, 0x8b, 0xf4, 0x9b, 0x70 } #define NIST_AES_128_CMAC_PLAIN_DATA { 0xa8, 0xde, 0x55, 0x17, 0x0c, 0x6d, 0xc0, 0xd8, 0x0d, 0xe3, 0x2f, 0x50, 0x8b, 0xf4, 0x9b, 0x70 }
...@@ -147,7 +144,6 @@ ...@@ -147,7 +144,6 @@
#define NIST_AES_256_CMAC_VECTOR_SIZE 16 #define NIST_AES_256_CMAC_VECTOR_SIZE 16
#define NIST_AES_256_CMAC_OUTPUT_SIZE 10 #define NIST_AES_256_CMAC_OUTPUT_SIZE 10
/* NIST TDES */ /* NIST TDES */
#define TDES_NUM_OF_KEYS 3 #define TDES_NUM_OF_KEYS 3
#define NIST_TDES_VECTOR_SIZE 8 #define NIST_TDES_VECTOR_SIZE 8
...@@ -168,7 +164,6 @@ ...@@ -168,7 +164,6 @@
#define NIST_TDES_CBC3_PLAIN_DATA { 0x3b, 0xb7, 0xa7, 0xdb, 0xa3, 0xd5, 0x92, 0x91 } #define NIST_TDES_CBC3_PLAIN_DATA { 0x3b, 0xb7, 0xa7, 0xdb, 0xa3, 0xd5, 0x92, 0x91 }
#define NIST_TDES_CBC3_CIPHER { 0x5b, 0x84, 0x24, 0xd2, 0x39, 0x3e, 0x55, 0xa2 } #define NIST_TDES_CBC3_CIPHER { 0x5b, 0x84, 0x24, 0xd2, 0x39, 0x3e, 0x55, 0xa2 }
/* NIST AES-CCM */ /* NIST AES-CCM */
#define NIST_AESCCM_128_BIT_KEY_SIZE 16 #define NIST_AESCCM_128_BIT_KEY_SIZE 16
#define NIST_AESCCM_192_BIT_KEY_SIZE 24 #define NIST_AESCCM_192_BIT_KEY_SIZE 24
...@@ -207,7 +202,6 @@ ...@@ -207,7 +202,6 @@
#define NIST_AESCCM_256_CIPHER { 0xcc, 0x17, 0xbf, 0x87, 0x94, 0xc8, 0x43, 0x45, 0x7d, 0x89, 0x93, 0x91, 0x89, 0x8e, 0xd2, 0x2a } #define NIST_AESCCM_256_CIPHER { 0xcc, 0x17, 0xbf, 0x87, 0x94, 0xc8, 0x43, 0x45, 0x7d, 0x89, 0x93, 0x91, 0x89, 0x8e, 0xd2, 0x2a }
#define NIST_AESCCM_256_MAC { 0x6f, 0x9d, 0x28, 0xfc, 0xb6, 0x42, 0x34, 0xe1, 0xcd, 0x79, 0x3c, 0x41, 0x44, 0xf1, 0xda, 0x50 } #define NIST_AESCCM_256_MAC { 0x6f, 0x9d, 0x28, 0xfc, 0xb6, 0x42, 0x34, 0xe1, 0xcd, 0x79, 0x3c, 0x41, 0x44, 0xf1, 0xda, 0x50 }
/* NIST AES-GCM */ /* NIST AES-GCM */
#define NIST_AESGCM_128_BIT_KEY_SIZE 16 #define NIST_AESGCM_128_BIT_KEY_SIZE 16
#define NIST_AESGCM_192_BIT_KEY_SIZE 24 #define NIST_AESGCM_192_BIT_KEY_SIZE 24
...@@ -241,7 +235,6 @@ ...@@ -241,7 +235,6 @@
#define NIST_AESGCM_256_CIPHER { 0x42, 0x6e, 0x0e, 0xfc, 0x69, 0x3b, 0x7b, 0xe1, 0xf3, 0x01, 0x8d, 0xb7, 0xdd, 0xbb, 0x7e, 0x4d } #define NIST_AESGCM_256_CIPHER { 0x42, 0x6e, 0x0e, 0xfc, 0x69, 0x3b, 0x7b, 0xe1, 0xf3, 0x01, 0x8d, 0xb7, 0xdd, 0xbb, 0x7e, 0x4d }
#define NIST_AESGCM_256_MAC { 0xee, 0x82, 0x57, 0x79, 0x5b, 0xe6, 0xa1, 0x16, 0x4d, 0x7e, 0x1d, 0x2d, 0x6c, 0xac, 0x77, 0xa7 } #define NIST_AESGCM_256_MAC { 0xee, 0x82, 0x57, 0x79, 0x5b, 0xe6, 0xa1, 0x16, 0x4d, 0x7e, 0x1d, 0x2d, 0x6c, 0xac, 0x77, 0xa7 }
/* NIST HASH */ /* NIST HASH */
#define NIST_SHA_MSG_SIZE 16 #define NIST_SHA_MSG_SIZE 16
...@@ -259,7 +252,6 @@ ...@@ -259,7 +252,6 @@
0x8f, 0x2b, 0xa9, 0x1c, 0x3a, 0x9f, 0x0c, 0x16, 0x53, 0xc4, 0xbf, 0x0a, 0xda, 0x35, 0x64, 0x55, \ 0x8f, 0x2b, 0xa9, 0x1c, 0x3a, 0x9f, 0x0c, 0x16, 0x53, 0xc4, 0xbf, 0x0a, 0xda, 0x35, 0x64, 0x55, \
0xea, 0x36, 0xfd, 0x31, 0xf8, 0xe7, 0x3e, 0x39, 0x51, 0xca, 0xd4, 0xeb, 0xba, 0x8c, 0x6e, 0x04 } 0xea, 0x36, 0xfd, 0x31, 0xf8, 0xe7, 0x3e, 0x39, 0x51, 0xca, 0xd4, 0xeb, 0xba, 0x8c, 0x6e, 0x04 }
/* NIST HMAC */ /* NIST HMAC */
#define NIST_HMAC_MSG_SIZE 128 #define NIST_HMAC_MSG_SIZE 128
......
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
#include "ssi_fips_local.h" #include "ssi_fips_local.h"
#include "ssi_driver.h" #include "ssi_driver.h"
static bool tee_error; static bool tee_error;
module_param(tee_error, bool, 0644); module_param(tee_error, bool, 0644);
MODULE_PARM_DESC(tee_error, "Simulate TEE library failure flag: 0 - no error (default), 1 - TEE error occured "); MODULE_PARM_DESC(tee_error, "Simulate TEE library failure flag: 0 - no error (default), 1 - TEE error occured ");
...@@ -91,4 +90,3 @@ int ssi_fips_ext_set_error(enum cc_fips_error err) ...@@ -91,4 +90,3 @@ int ssi_fips_ext_set_error(enum cc_fips_error err)
return 0; return 0;
} }
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
#include "ssi_hash.h" #include "ssi_hash.h"
#include "ssi_request_mgr.h" #include "ssi_request_mgr.h"
static const u32 digest_len_init[] = { static const u32 digest_len_init[] = {
0x00000040, 0x00000000, 0x00000000, 0x00000000 }; 0x00000040, 0x00000000, 0x00000000, 0x00000000 };
static const u32 sha1_init[] = { static const u32 sha1_init[] = {
...@@ -43,7 +42,6 @@ static const u64 sha512_init[] = { ...@@ -43,7 +42,6 @@ static const u64 sha512_init[] = {
SHA512_H3, SHA512_H2, SHA512_H1, SHA512_H0 }; SHA512_H3, SHA512_H2, SHA512_H1, SHA512_H0 };
#endif #endif
#define NIST_CIPHER_AES_MAX_VECTOR_SIZE 32 #define NIST_CIPHER_AES_MAX_VECTOR_SIZE 32
struct fips_cipher_ctx { struct fips_cipher_ctx {
...@@ -65,7 +63,6 @@ typedef struct _FipsCipherData { ...@@ -65,7 +63,6 @@ typedef struct _FipsCipherData {
size_t dataInSize; size_t dataInSize;
} FipsCipherData; } FipsCipherData;
struct fips_cmac_ctx { struct fips_cmac_ctx {
u8 key[AES_256_BIT_KEY_SIZE]; u8 key[AES_256_BIT_KEY_SIZE];
u8 din[NIST_CIPHER_AES_MAX_VECTOR_SIZE]; u8 din[NIST_CIPHER_AES_MAX_VECTOR_SIZE];
...@@ -82,7 +79,6 @@ typedef struct _FipsCmacData { ...@@ -82,7 +79,6 @@ typedef struct _FipsCmacData {
size_t mac_res_size; size_t mac_res_size;
} FipsCmacData; } FipsCmacData;
struct fips_hash_ctx { struct fips_hash_ctx {
u8 initial_digest[CC_DIGEST_SIZE_MAX]; u8 initial_digest[CC_DIGEST_SIZE_MAX];
u8 din[NIST_SHA_MSG_SIZE]; u8 din[NIST_SHA_MSG_SIZE];
...@@ -96,7 +92,6 @@ typedef struct _FipsHashData { ...@@ -96,7 +92,6 @@ typedef struct _FipsHashData {
u8 mac_res[CC_DIGEST_SIZE_MAX]; u8 mac_res[CC_DIGEST_SIZE_MAX];
} FipsHashData; } FipsHashData;
/* note that the hmac key length must be equal or less than block size (block size is 64 up to sha256 and 128 for sha384/512) */ /* note that the hmac key length must be equal or less than block size (block size is 64 up to sha256 and 128 for sha384/512) */
struct fips_hmac_ctx { struct fips_hmac_ctx {
u8 initial_digest[CC_DIGEST_SIZE_MAX]; u8 initial_digest[CC_DIGEST_SIZE_MAX];
...@@ -117,7 +112,6 @@ typedef struct _FipsHmacData { ...@@ -117,7 +112,6 @@ typedef struct _FipsHmacData {
u8 mac_res[CC_DIGEST_SIZE_MAX]; u8 mac_res[CC_DIGEST_SIZE_MAX];
} FipsHmacData; } FipsHmacData;
#define FIPS_CCM_B0_A0_ADATA_SIZE (NIST_AESCCM_IV_SIZE + NIST_AESCCM_IV_SIZE + NIST_AESCCM_ADATA_SIZE) #define FIPS_CCM_B0_A0_ADATA_SIZE (NIST_AESCCM_IV_SIZE + NIST_AESCCM_IV_SIZE + NIST_AESCCM_ADATA_SIZE)
struct fips_ccm_ctx { struct fips_ccm_ctx {
...@@ -144,7 +138,6 @@ typedef struct _FipsCcmData { ...@@ -144,7 +138,6 @@ typedef struct _FipsCcmData {
u8 macResOut[NIST_AESCCM_TAG_SIZE]; u8 macResOut[NIST_AESCCM_TAG_SIZE];
} FipsCcmData; } FipsCcmData;
struct fips_gcm_ctx { struct fips_gcm_ctx {
u8 adata[NIST_AESGCM_ADATA_SIZE]; u8 adata[NIST_AESGCM_ADATA_SIZE];
u8 key[CC_AES_KEY_SIZE_MAX]; u8 key[CC_AES_KEY_SIZE_MAX];
...@@ -171,7 +164,6 @@ typedef struct _FipsGcmData { ...@@ -171,7 +164,6 @@ typedef struct _FipsGcmData {
u8 macResOut[NIST_AESGCM_TAG_SIZE]; u8 macResOut[NIST_AESGCM_TAG_SIZE];
} FipsGcmData; } FipsGcmData;
typedef union _fips_ctx { typedef union _fips_ctx {
struct fips_cipher_ctx cipher; struct fips_cipher_ctx cipher;
struct fips_cmac_ctx cmac; struct fips_cmac_ctx cmac;
...@@ -181,7 +173,6 @@ typedef union _fips_ctx { ...@@ -181,7 +173,6 @@ typedef union _fips_ctx {
struct fips_gcm_ctx gcm; struct fips_gcm_ctx gcm;
} fips_ctx; } fips_ctx;
/* test data tables */ /* test data tables */
static const FipsCipherData FipsCipherDataTable[] = { static const FipsCipherData FipsCipherDataTable[] = {
/* AES */ /* AES */
...@@ -223,6 +214,7 @@ static const FipsCipherData FipsCipherDataTable[] = { ...@@ -223,6 +214,7 @@ static const FipsCipherData FipsCipherDataTable[] = {
{ 0, NIST_TDES_CBC3_KEY, CC_DRV_DES_TRIPLE_KEY_SIZE, NIST_TDES_CBC3_IV, DRV_CRYPTO_DIRECTION_ENCRYPT, DRV_CIPHER_CBC, NIST_TDES_CBC3_PLAIN_DATA, NIST_TDES_CBC3_CIPHER, NIST_TDES_VECTOR_SIZE }, { 0, NIST_TDES_CBC3_KEY, CC_DRV_DES_TRIPLE_KEY_SIZE, NIST_TDES_CBC3_IV, DRV_CRYPTO_DIRECTION_ENCRYPT, DRV_CIPHER_CBC, NIST_TDES_CBC3_PLAIN_DATA, NIST_TDES_CBC3_CIPHER, NIST_TDES_VECTOR_SIZE },
{ 0, NIST_TDES_CBC3_KEY, CC_DRV_DES_TRIPLE_KEY_SIZE, NIST_TDES_CBC3_IV, DRV_CRYPTO_DIRECTION_DECRYPT, DRV_CIPHER_CBC, NIST_TDES_CBC3_CIPHER, NIST_TDES_CBC3_PLAIN_DATA, NIST_TDES_VECTOR_SIZE }, { 0, NIST_TDES_CBC3_KEY, CC_DRV_DES_TRIPLE_KEY_SIZE, NIST_TDES_CBC3_IV, DRV_CRYPTO_DIRECTION_DECRYPT, DRV_CIPHER_CBC, NIST_TDES_CBC3_CIPHER, NIST_TDES_CBC3_PLAIN_DATA, NIST_TDES_VECTOR_SIZE },
}; };
#define FIPS_CIPHER_NUM_OF_TESTS (sizeof(FipsCipherDataTable) / sizeof(FipsCipherData)) #define FIPS_CIPHER_NUM_OF_TESTS (sizeof(FipsCipherDataTable) / sizeof(FipsCipherData))
static const FipsCmacData FipsCmacDataTable[] = { static const FipsCmacData FipsCmacDataTable[] = {
...@@ -230,6 +222,7 @@ static const FipsCmacData FipsCmacDataTable[] = { ...@@ -230,6 +222,7 @@ static const FipsCmacData FipsCmacDataTable[] = {
{ DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AES_192_CMAC_KEY, AES_192_BIT_KEY_SIZE, NIST_AES_192_CMAC_PLAIN_DATA, NIST_AES_192_CMAC_VECTOR_SIZE, NIST_AES_192_CMAC_MAC, NIST_AES_192_CMAC_OUTPUT_SIZE }, { DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AES_192_CMAC_KEY, AES_192_BIT_KEY_SIZE, NIST_AES_192_CMAC_PLAIN_DATA, NIST_AES_192_CMAC_VECTOR_SIZE, NIST_AES_192_CMAC_MAC, NIST_AES_192_CMAC_OUTPUT_SIZE },
{ DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AES_256_CMAC_KEY, AES_256_BIT_KEY_SIZE, NIST_AES_256_CMAC_PLAIN_DATA, NIST_AES_256_CMAC_VECTOR_SIZE, NIST_AES_256_CMAC_MAC, NIST_AES_256_CMAC_OUTPUT_SIZE }, { DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AES_256_CMAC_KEY, AES_256_BIT_KEY_SIZE, NIST_AES_256_CMAC_PLAIN_DATA, NIST_AES_256_CMAC_VECTOR_SIZE, NIST_AES_256_CMAC_MAC, NIST_AES_256_CMAC_OUTPUT_SIZE },
}; };
#define FIPS_CMAC_NUM_OF_TESTS (sizeof(FipsCmacDataTable) / sizeof(FipsCmacData)) #define FIPS_CMAC_NUM_OF_TESTS (sizeof(FipsCmacDataTable) / sizeof(FipsCmacData))
static const FipsHashData FipsHashDataTable[] = { static const FipsHashData FipsHashDataTable[] = {
...@@ -239,6 +232,7 @@ static const FipsHashData FipsHashDataTable[] = { ...@@ -239,6 +232,7 @@ static const FipsHashData FipsHashDataTable[] = {
// { DRV_HASH_SHA512, NIST_SHA_512_MSG, NIST_SHA_MSG_SIZE, NIST_SHA_512_MD }, // { DRV_HASH_SHA512, NIST_SHA_512_MSG, NIST_SHA_MSG_SIZE, NIST_SHA_512_MD },
#endif #endif
}; };
#define FIPS_HASH_NUM_OF_TESTS (sizeof(FipsHashDataTable) / sizeof(FipsHashData)) #define FIPS_HASH_NUM_OF_TESTS (sizeof(FipsHashDataTable) / sizeof(FipsHashData))
static const FipsHmacData FipsHmacDataTable[] = { static const FipsHmacData FipsHmacDataTable[] = {
...@@ -248,6 +242,7 @@ static const FipsHmacData FipsHmacDataTable[] = { ...@@ -248,6 +242,7 @@ static const FipsHmacData FipsHmacDataTable[] = {
// { DRV_HASH_SHA512, NIST_HMAC_SHA512_KEY, NIST_HMAC_SHA512_KEY_SIZE, NIST_HMAC_SHA512_MSG, NIST_HMAC_MSG_SIZE, NIST_HMAC_SHA512_MD }, // { DRV_HASH_SHA512, NIST_HMAC_SHA512_KEY, NIST_HMAC_SHA512_KEY_SIZE, NIST_HMAC_SHA512_MSG, NIST_HMAC_MSG_SIZE, NIST_HMAC_SHA512_MD },
#endif #endif
}; };
#define FIPS_HMAC_NUM_OF_TESTS (sizeof(FipsHmacDataTable) / sizeof(FipsHmacData)) #define FIPS_HMAC_NUM_OF_TESTS (sizeof(FipsHmacDataTable) / sizeof(FipsHmacData))
static const FipsCcmData FipsCcmDataTable[] = { static const FipsCcmData FipsCcmDataTable[] = {
...@@ -258,6 +253,7 @@ static const FipsCcmData FipsCcmDataTable[] = { ...@@ -258,6 +253,7 @@ static const FipsCcmData FipsCcmDataTable[] = {
{ DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AESCCM_256_KEY, NIST_AESCCM_256_BIT_KEY_SIZE, NIST_AESCCM_256_NONCE, NIST_AESCCM_256_ADATA, NIST_AESCCM_ADATA_SIZE, NIST_AESCCM_256_PLAIN_TEXT, NIST_AESCCM_TEXT_SIZE, NIST_AESCCM_256_CIPHER, NIST_AESCCM_TAG_SIZE, NIST_AESCCM_256_MAC }, { DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AESCCM_256_KEY, NIST_AESCCM_256_BIT_KEY_SIZE, NIST_AESCCM_256_NONCE, NIST_AESCCM_256_ADATA, NIST_AESCCM_ADATA_SIZE, NIST_AESCCM_256_PLAIN_TEXT, NIST_AESCCM_TEXT_SIZE, NIST_AESCCM_256_CIPHER, NIST_AESCCM_TAG_SIZE, NIST_AESCCM_256_MAC },
{ DRV_CRYPTO_DIRECTION_DECRYPT, NIST_AESCCM_256_KEY, NIST_AESCCM_256_BIT_KEY_SIZE, NIST_AESCCM_256_NONCE, NIST_AESCCM_256_ADATA, NIST_AESCCM_ADATA_SIZE, NIST_AESCCM_256_CIPHER, NIST_AESCCM_TEXT_SIZE, NIST_AESCCM_256_PLAIN_TEXT, NIST_AESCCM_TAG_SIZE, NIST_AESCCM_256_MAC }, { DRV_CRYPTO_DIRECTION_DECRYPT, NIST_AESCCM_256_KEY, NIST_AESCCM_256_BIT_KEY_SIZE, NIST_AESCCM_256_NONCE, NIST_AESCCM_256_ADATA, NIST_AESCCM_ADATA_SIZE, NIST_AESCCM_256_CIPHER, NIST_AESCCM_TEXT_SIZE, NIST_AESCCM_256_PLAIN_TEXT, NIST_AESCCM_TAG_SIZE, NIST_AESCCM_256_MAC },
}; };
#define FIPS_CCM_NUM_OF_TESTS (sizeof(FipsCcmDataTable) / sizeof(FipsCcmData)) #define FIPS_CCM_NUM_OF_TESTS (sizeof(FipsCcmDataTable) / sizeof(FipsCcmData))
static const FipsGcmData FipsGcmDataTable[] = { static const FipsGcmData FipsGcmDataTable[] = {
...@@ -268,8 +264,8 @@ static const FipsGcmData FipsGcmDataTable[] = { ...@@ -268,8 +264,8 @@ static const FipsGcmData FipsGcmDataTable[] = {
{ DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AESGCM_256_KEY, NIST_AESGCM_256_BIT_KEY_SIZE, NIST_AESGCM_256_IV, NIST_AESGCM_256_ADATA, NIST_AESGCM_ADATA_SIZE, NIST_AESGCM_256_PLAIN_TEXT, NIST_AESGCM_TEXT_SIZE, NIST_AESGCM_256_CIPHER, NIST_AESGCM_TAG_SIZE, NIST_AESGCM_256_MAC }, { DRV_CRYPTO_DIRECTION_ENCRYPT, NIST_AESGCM_256_KEY, NIST_AESGCM_256_BIT_KEY_SIZE, NIST_AESGCM_256_IV, NIST_AESGCM_256_ADATA, NIST_AESGCM_ADATA_SIZE, NIST_AESGCM_256_PLAIN_TEXT, NIST_AESGCM_TEXT_SIZE, NIST_AESGCM_256_CIPHER, NIST_AESGCM_TAG_SIZE, NIST_AESGCM_256_MAC },
{ DRV_CRYPTO_DIRECTION_DECRYPT, NIST_AESGCM_256_KEY, NIST_AESGCM_256_BIT_KEY_SIZE, NIST_AESGCM_256_IV, NIST_AESGCM_256_ADATA, NIST_AESGCM_ADATA_SIZE, NIST_AESGCM_256_CIPHER, NIST_AESGCM_TEXT_SIZE, NIST_AESGCM_256_PLAIN_TEXT, NIST_AESGCM_TAG_SIZE, NIST_AESGCM_256_MAC }, { DRV_CRYPTO_DIRECTION_DECRYPT, NIST_AESGCM_256_KEY, NIST_AESGCM_256_BIT_KEY_SIZE, NIST_AESGCM_256_IV, NIST_AESGCM_256_ADATA, NIST_AESGCM_ADATA_SIZE, NIST_AESGCM_256_CIPHER, NIST_AESGCM_TEXT_SIZE, NIST_AESGCM_256_PLAIN_TEXT, NIST_AESGCM_TAG_SIZE, NIST_AESGCM_256_MAC },
}; };
#define FIPS_GCM_NUM_OF_TESTS (sizeof(FipsGcmDataTable) / sizeof(FipsGcmData))
#define FIPS_GCM_NUM_OF_TESTS (sizeof(FipsGcmDataTable) / sizeof(FipsGcmData))
static inline enum cc_fips_error static inline enum cc_fips_error
FIPS_CipherToFipsError(enum drv_cipher_mode mode, bool is_aes) FIPS_CipherToFipsError(enum drv_cipher_mode mode, bool is_aes)
...@@ -295,7 +291,6 @@ FIPS_CipherToFipsError(enum drv_cipher_mode mode, bool is_aes) ...@@ -295,7 +291,6 @@ FIPS_CipherToFipsError(enum drv_cipher_mode mode, bool is_aes)
return CC_REE_FIPS_ERROR_GENERAL; return CC_REE_FIPS_ERROR_GENERAL;
} }
static inline int static inline int
ssi_cipher_fips_run_test(struct ssi_drvdata *drvdata, ssi_cipher_fips_run_test(struct ssi_drvdata *drvdata,
bool is_aes, bool is_aes,
...@@ -414,7 +409,6 @@ ssi_cipher_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -414,7 +409,6 @@ ssi_cipher_fips_run_test(struct ssi_drvdata *drvdata,
return rc; return rc;
} }
enum cc_fips_error enum cc_fips_error
ssi_cipher_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, dma_addr_t dma_coherent_buffer) ssi_cipher_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, dma_addr_t dma_coherent_buffer)
{ {
...@@ -479,7 +473,6 @@ ssi_cipher_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffe ...@@ -479,7 +473,6 @@ ssi_cipher_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffe
return error; return error;
} }
static inline int static inline int
ssi_cmac_fips_run_test(struct ssi_drvdata *drvdata, ssi_cmac_fips_run_test(struct ssi_drvdata *drvdata,
dma_addr_t key_dma_addr, dma_addr_t key_dma_addr,
...@@ -519,7 +512,6 @@ ssi_cmac_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -519,7 +512,6 @@ ssi_cmac_fips_run_test(struct ssi_drvdata *drvdata,
set_flow_mode(&desc[idx], S_DIN_to_AES); set_flow_mode(&desc[idx], S_DIN_to_AES);
idx++; idx++;
//ssi_hash_create_data_desc(state, ctx, DIN_AES_DOUT, desc, false, &idx); //ssi_hash_create_data_desc(state, ctx, DIN_AES_DOUT, desc, false, &idx);
hw_desc_init(&desc[idx]); hw_desc_init(&desc[idx]);
set_din_type(&desc[idx], DMA_DLLI, din_dma_addr, din_len, NS_BIT); set_din_type(&desc[idx], DMA_DLLI, din_dma_addr, din_len, NS_BIT);
...@@ -603,7 +595,6 @@ ssi_cmac_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -603,7 +595,6 @@ ssi_cmac_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
return error; return error;
} }
static inline enum cc_fips_error static inline enum cc_fips_error
FIPS_HashToFipsError(enum drv_hash_mode hash_mode) FIPS_HashToFipsError(enum drv_hash_mode hash_mode)
{ {
...@@ -779,7 +770,6 @@ ssi_hash_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -779,7 +770,6 @@ ssi_hash_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
return error; return error;
} }
static inline enum cc_fips_error static inline enum cc_fips_error
FIPS_HmacToFipsError(enum drv_hash_mode hash_mode) FIPS_HmacToFipsError(enum drv_hash_mode hash_mode)
{ {
...@@ -867,7 +857,6 @@ ssi_hmac_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -867,7 +857,6 @@ ssi_hmac_fips_run_test(struct ssi_drvdata *drvdata,
set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); set_setup_mode(&desc[idx], SETUP_LOAD_STATE0);
idx++; idx++;
/* Load the hash current length*/ /* Load the hash current length*/
hw_desc_init(&desc[idx]); hw_desc_init(&desc[idx]);
set_cipher_mode(&desc[idx], hw_mode); set_cipher_mode(&desc[idx], hw_mode);
...@@ -981,7 +970,6 @@ ssi_hmac_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -981,7 +970,6 @@ ssi_hmac_fips_run_test(struct ssi_drvdata *drvdata,
set_flow_mode(&desc[idx], DIN_HASH); set_flow_mode(&desc[idx], DIN_HASH);
idx++; idx++;
/* Get final MAC result */ /* Get final MAC result */
hw_desc_init(&desc[idx]); hw_desc_init(&desc[idx]);
set_cipher_mode(&desc[idx], hw_mode); set_cipher_mode(&desc[idx], hw_mode);
...@@ -1112,7 +1100,6 @@ ssi_hmac_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -1112,7 +1100,6 @@ ssi_hmac_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
return error; return error;
} }
static inline int static inline int
ssi_ccm_fips_run_test(struct ssi_drvdata *drvdata, ssi_ccm_fips_run_test(struct ssi_drvdata *drvdata,
enum drv_crypto_direction direction, enum drv_crypto_direction direction,
...@@ -1277,6 +1264,7 @@ ssi_ccm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -1277,6 +1264,7 @@ ssi_ccm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
{ {
/* build B0 -- B0, nonce, l(m) */ /* build B0 -- B0, nonce, l(m) */
__be16 data = cpu_to_be16(NIST_AESCCM_TEXT_SIZE); __be16 data = cpu_to_be16(NIST_AESCCM_TEXT_SIZE);
virt_ctx->b0_a0_adata[0] = NIST_AESCCM_B0_VAL; virt_ctx->b0_a0_adata[0] = NIST_AESCCM_B0_VAL;
memcpy(virt_ctx->b0_a0_adata + 1, ccmData->nonce, NIST_AESCCM_NONCE_SIZE); memcpy(virt_ctx->b0_a0_adata + 1, ccmData->nonce, NIST_AESCCM_NONCE_SIZE);
memcpy(virt_ctx->b0_a0_adata + 14, (u8 *)&data, sizeof(__be16)); memcpy(virt_ctx->b0_a0_adata + 14, (u8 *)&data, sizeof(__be16));
...@@ -1340,7 +1328,6 @@ ssi_ccm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -1340,7 +1328,6 @@ ssi_ccm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
return error; return error;
} }
static inline int static inline int
ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata, ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata,
enum drv_crypto_direction direction, enum drv_crypto_direction direction,
...@@ -1439,8 +1426,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -1439,8 +1426,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata,
set_setup_mode(&desc[idx], SETUP_LOAD_STATE0); set_setup_mode(&desc[idx], SETUP_LOAD_STATE0);
idx++; idx++;
///////////////////////////////// 2 //////////////////////////////////// ///////////////////////////////// 2 ////////////////////////////////////
/* prcess(ghash) assoc data */ /* prcess(ghash) assoc data */
// if (req->assoclen > 0) // if (req->assoclen > 0)
...@@ -1452,7 +1437,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -1452,7 +1437,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata,
set_flow_mode(&desc[idx], DIN_HASH); set_flow_mode(&desc[idx], DIN_HASH);
idx++; idx++;
///////////////////////////////// 3 //////////////////////////////////// ///////////////////////////////// 3 ////////////////////////////////////
// ssi_aead_gcm_setup_gctr_desc(req, desc, seq_size); // ssi_aead_gcm_setup_gctr_desc(req, desc, seq_size);
///////////////////////////////// 3 //////////////////////////////////// ///////////////////////////////// 3 ////////////////////////////////////
...@@ -1478,7 +1462,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -1478,7 +1462,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata,
set_flow_mode(&desc[idx], S_DIN_to_AES); set_flow_mode(&desc[idx], S_DIN_to_AES);
idx++; idx++;
///////////////////////////////// 4 //////////////////////////////////// ///////////////////////////////// 4 ////////////////////////////////////
/* process(gctr+ghash) */ /* process(gctr+ghash) */
// if (req_ctx->cryptlen != 0) // if (req_ctx->cryptlen != 0)
...@@ -1491,7 +1474,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata, ...@@ -1491,7 +1474,6 @@ ssi_gcm_fips_run_test(struct ssi_drvdata *drvdata,
set_flow_mode(&desc[idx], cipher_flow_mode); set_flow_mode(&desc[idx], cipher_flow_mode);
idx++; idx++;
///////////////////////////////// 5 //////////////////////////////////// ///////////////////////////////// 5 ////////////////////////////////////
// ssi_aead_process_gcm_result_desc(req, desc, seq_size); // ssi_aead_process_gcm_result_desc(req, desc, seq_size);
///////////////////////////////// 5 //////////////////////////////////// ///////////////////////////////// 5 ////////////////////////////////////
...@@ -1579,6 +1561,7 @@ ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -1579,6 +1561,7 @@ ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
/* len_block */ /* len_block */
{ {
__be64 len_bits; __be64 len_bits;
len_bits = cpu_to_be64(gcmData->adataSize * 8); len_bits = cpu_to_be64(gcmData->adataSize * 8);
memcpy(virt_ctx->len_block, &len_bits, sizeof(len_bits)); memcpy(virt_ctx->len_block, &len_bits, sizeof(len_bits));
len_bits = cpu_to_be64(gcmData->dataInSize * 8); len_bits = cpu_to_be64(gcmData->dataInSize * 8);
...@@ -1587,6 +1570,7 @@ ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -1587,6 +1570,7 @@ ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
/* iv_inc1, iv_inc2 */ /* iv_inc1, iv_inc2 */
{ {
__be32 counter = cpu_to_be32(1); __be32 counter = cpu_to_be32(1);
memcpy(virt_ctx->iv_inc1, gcmData->iv, NIST_AESGCM_IV_SIZE); memcpy(virt_ctx->iv_inc1, gcmData->iv, NIST_AESGCM_IV_SIZE);
memcpy(virt_ctx->iv_inc1 + NIST_AESGCM_IV_SIZE, &counter, sizeof(counter)); memcpy(virt_ctx->iv_inc1 + NIST_AESGCM_IV_SIZE, &counter, sizeof(counter));
counter = cpu_to_be32(2); counter = cpu_to_be32(2);
...@@ -1651,7 +1635,6 @@ ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, ...@@ -1651,7 +1635,6 @@ ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer,
return error; return error;
} }
size_t ssi_fips_max_mem_alloc_size(void) size_t ssi_fips_max_mem_alloc_size(void)
{ {
FIPS_DBG("sizeof(struct fips_cipher_ctx) %d \n", sizeof(struct fips_cipher_ctx)); FIPS_DBG("sizeof(struct fips_cipher_ctx) %d \n", sizeof(struct fips_cipher_ctx));
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include "ssi_driver.h" #include "ssi_driver.h"
#include "cc_hal.h" #include "cc_hal.h"
#define FIPS_POWER_UP_TEST_CIPHER 1 #define FIPS_POWER_UP_TEST_CIPHER 1
#define FIPS_POWER_UP_TEST_CMAC 1 #define FIPS_POWER_UP_TEST_CMAC 1
#define FIPS_POWER_UP_TEST_HASH 1 #define FIPS_POWER_UP_TEST_HASH 1
...@@ -49,7 +48,6 @@ struct ssi_fips_handle { ...@@ -49,7 +48,6 @@ struct ssi_fips_handle {
#endif #endif
}; };
extern int ssi_fips_get_state(enum cc_fips_state_t *p_state); extern int ssi_fips_get_state(enum cc_fips_state_t *p_state);
extern int ssi_fips_get_error(enum cc_fips_error *p_err); extern int ssi_fips_get_error(enum cc_fips_error *p_err);
extern int ssi_fips_ext_set_state(enum cc_fips_state_t state); extern int ssi_fips_ext_set_state(enum cc_fips_state_t state);
...@@ -64,7 +62,6 @@ extern enum cc_fips_error ssi_ccm_fips_power_up_tests(struct ssi_drvdata *drvdat ...@@ -64,7 +62,6 @@ extern enum cc_fips_error ssi_ccm_fips_power_up_tests(struct ssi_drvdata *drvdat
extern enum cc_fips_error ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, dma_addr_t dma_coherent_buffer); extern enum cc_fips_error ssi_gcm_fips_power_up_tests(struct ssi_drvdata *drvdata, void *cpu_addr_buffer, dma_addr_t dma_coherent_buffer);
extern size_t ssi_fips_max_mem_alloc_size(void); extern size_t ssi_fips_max_mem_alloc_size(void);
/* The function called once at driver entry point to check whether TEE FIPS error occured.*/ /* The function called once at driver entry point to check whether TEE FIPS error occured.*/
static enum ssi_fips_error ssi_fips_get_tee_error(struct ssi_drvdata *drvdata) static enum ssi_fips_error ssi_fips_get_tee_error(struct ssi_drvdata *drvdata)
{ {
...@@ -78,7 +75,6 @@ static enum ssi_fips_error ssi_fips_get_tee_error(struct ssi_drvdata *drvdata) ...@@ -78,7 +75,6 @@ static enum ssi_fips_error ssi_fips_get_tee_error(struct ssi_drvdata *drvdata)
return CC_REE_FIPS_ERROR_FROM_TEE; return CC_REE_FIPS_ERROR_FROM_TEE;
} }
/* /*
* This function should push the FIPS REE library status towards the TEE library. * This function should push the FIPS REE library status towards the TEE library.
* By writing the error state to HOST_GPR0 register. The function is called from * By writing the error state to HOST_GPR0 register. The function is called from
...@@ -87,14 +83,13 @@ static enum ssi_fips_error ssi_fips_get_tee_error(struct ssi_drvdata *drvdata) ...@@ -87,14 +83,13 @@ static enum ssi_fips_error ssi_fips_get_tee_error(struct ssi_drvdata *drvdata)
static void ssi_fips_update_tee_upon_ree_status(struct ssi_drvdata *drvdata, enum cc_fips_error err) static void ssi_fips_update_tee_upon_ree_status(struct ssi_drvdata *drvdata, enum cc_fips_error err)
{ {
void __iomem *cc_base = drvdata->cc_base; void __iomem *cc_base = drvdata->cc_base;
if (err == CC_REE_FIPS_ERROR_OK) if (err == CC_REE_FIPS_ERROR_OK)
CC_HAL_WRITE_REGISTER(CC_REG_OFFSET(HOST_RGF, HOST_GPR0), (CC_FIPS_SYNC_REE_STATUS | CC_FIPS_SYNC_MODULE_OK)); CC_HAL_WRITE_REGISTER(CC_REG_OFFSET(HOST_RGF, HOST_GPR0), (CC_FIPS_SYNC_REE_STATUS | CC_FIPS_SYNC_MODULE_OK));
else else
CC_HAL_WRITE_REGISTER(CC_REG_OFFSET(HOST_RGF, HOST_GPR0), (CC_FIPS_SYNC_REE_STATUS | CC_FIPS_SYNC_MODULE_ERROR)); CC_HAL_WRITE_REGISTER(CC_REG_OFFSET(HOST_RGF, HOST_GPR0), (CC_FIPS_SYNC_REE_STATUS | CC_FIPS_SYNC_MODULE_ERROR));
} }
void ssi_fips_fini(struct ssi_drvdata *drvdata) void ssi_fips_fini(struct ssi_drvdata *drvdata)
{ {
struct ssi_fips_handle *fips_h = drvdata->fips_handle; struct ssi_fips_handle *fips_h = drvdata->fips_handle;
...@@ -127,8 +122,6 @@ void fips_handler(struct ssi_drvdata *drvdata) ...@@ -127,8 +122,6 @@ void fips_handler(struct ssi_drvdata *drvdata)
#endif #endif
} }
#ifdef COMP_IN_WQ #ifdef COMP_IN_WQ
static void fips_wq_handler(struct work_struct *work) static void fips_wq_handler(struct work_struct *work)
{ {
...@@ -161,7 +154,6 @@ static void fips_dsr(unsigned long devarg) ...@@ -161,7 +154,6 @@ static void fips_dsr(unsigned long devarg)
CC_REG_OFFSET(HOST_RGF, HOST_IMR)) & ~irq); CC_REG_OFFSET(HOST_RGF, HOST_IMR)) & ~irq);
} }
enum cc_fips_error cc_fips_run_power_up_tests(struct ssi_drvdata *drvdata) enum cc_fips_error cc_fips_run_power_up_tests(struct ssi_drvdata *drvdata)
{ {
enum cc_fips_error fips_error = CC_REE_FIPS_ERROR_OK; enum cc_fips_error fips_error = CC_REE_FIPS_ERROR_OK;
...@@ -227,8 +219,6 @@ enum cc_fips_error cc_fips_run_power_up_tests(struct ssi_drvdata *drvdata) ...@@ -227,8 +219,6 @@ enum cc_fips_error cc_fips_run_power_up_tests(struct ssi_drvdata *drvdata)
return fips_error; return fips_error;
} }
/* The function checks if FIPS supported and FIPS error exists.* /* The function checks if FIPS supported and FIPS error exists.*
* It should be used in every driver API. * It should be used in every driver API.
*/ */
...@@ -247,7 +237,6 @@ int ssi_fips_check_fips_error(void) ...@@ -247,7 +237,6 @@ int ssi_fips_check_fips_error(void)
return 0; return 0;
} }
/* The function sets the REE FIPS state.* /* The function sets the REE FIPS state.*
* It should be used while driver is being loaded. * It should be used while driver is being loaded.
*/ */
...@@ -293,7 +282,6 @@ int ssi_fips_set_error(struct ssi_drvdata *p_drvdata, enum cc_fips_error err) ...@@ -293,7 +282,6 @@ int ssi_fips_set_error(struct ssi_drvdata *p_drvdata, enum cc_fips_error err)
return rc; return rc;
} }
/* The function called once at driver entry point .*/ /* The function called once at driver entry point .*/
int ssi_fips_init(struct ssi_drvdata *p_drvdata) int ssi_fips_init(struct ssi_drvdata *p_drvdata)
{ {
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#ifndef __SSI_FIPS_LOCAL_H__ #ifndef __SSI_FIPS_LOCAL_H__
#define __SSI_FIPS_LOCAL_H__ #define __SSI_FIPS_LOCAL_H__
#ifdef CONFIG_CCX7REE_FIPS_SUPPORT #ifdef CONFIG_CCX7REE_FIPS_SUPPORT
#include "ssi_fips.h" #include "ssi_fips.h"
...@@ -28,11 +27,13 @@ struct ssi_drvdata; ...@@ -28,11 +27,13 @@ struct ssi_drvdata;
return -ENOEXEC;\ return -ENOEXEC;\
} \ } \
} }
#define CHECK_AND_RETURN_VOID_UPON_FIPS_ERROR() {\ #define CHECK_AND_RETURN_VOID_UPON_FIPS_ERROR() {\
if (ssi_fips_check_fips_error() != 0) {\ if (ssi_fips_check_fips_error() != 0) {\
return;\ return;\
} \ } \
} }
#define SSI_FIPS_INIT(p_drvData) (ssi_fips_init(p_drvData)) #define SSI_FIPS_INIT(p_drvData) (ssi_fips_init(p_drvData))
#define SSI_FIPS_FINI(p_drvData) (ssi_fips_fini(p_drvData)) #define SSI_FIPS_FINI(p_drvData) (ssi_fips_fini(p_drvData))
...@@ -62,6 +63,5 @@ void fips_handler(struct ssi_drvdata *drvdata); ...@@ -62,6 +63,5 @@ void fips_handler(struct ssi_drvdata *drvdata);
#endif /* CONFIG_CC7XXREE_FIPS_SUPPORT */ #endif /* CONFIG_CC7XXREE_FIPS_SUPPORT */
#endif /*__SSI_FIPS_LOCAL_H__*/ #endif /*__SSI_FIPS_LOCAL_H__*/
...@@ -83,7 +83,6 @@ struct ssi_hash_alg { ...@@ -83,7 +83,6 @@ struct ssi_hash_alg {
struct ahash_alg ahash_alg; struct ahash_alg ahash_alg;
}; };
struct hash_key_req_ctx { struct hash_key_req_ctx {
u32 keylen; u32 keylen;
dma_addr_t key_dma_addr; dma_addr_t key_dma_addr;
...@@ -97,6 +96,7 @@ struct ssi_hash_ctx { ...@@ -97,6 +96,7 @@ struct ssi_hash_ctx {
*/ */
u8 digest_buff[SSI_MAX_HASH_DIGEST_SIZE] ____cacheline_aligned; u8 digest_buff[SSI_MAX_HASH_DIGEST_SIZE] ____cacheline_aligned;
u8 opad_tmp_keys_buff[SSI_MAX_HASH_OPAD_TMP_KEYS_SIZE] ____cacheline_aligned; u8 opad_tmp_keys_buff[SSI_MAX_HASH_OPAD_TMP_KEYS_SIZE] ____cacheline_aligned;
dma_addr_t opad_tmp_keys_dma_addr ____cacheline_aligned; dma_addr_t opad_tmp_keys_dma_addr ____cacheline_aligned;
dma_addr_t digest_buff_dma_addr; dma_addr_t digest_buff_dma_addr;
/* use for hmac with key large then mode block size */ /* use for hmac with key large then mode block size */
...@@ -429,7 +429,6 @@ static int ssi_hash_digest(struct ahash_req_ctx *state, ...@@ -429,7 +429,6 @@ static int ssi_hash_digest(struct ahash_req_ctx *state,
int idx = 0; int idx = 0;
int rc = 0; int rc = 0;
SSI_LOG_DEBUG("===== %s-digest (%d) ====\n", is_hmac ? "hmac" : "hash", nbytes); SSI_LOG_DEBUG("===== %s-digest (%d) ====\n", is_hmac ? "hmac" : "hash", nbytes);
CHECK_AND_RETURN_UPON_FIPS_ERROR(); CHECK_AND_RETURN_UPON_FIPS_ERROR();
...@@ -962,6 +961,7 @@ ctx->drvdata, ctx->hash_mode), HASH_LEN_SIZE); ...@@ -962,6 +961,7 @@ ctx->drvdata, ctx->hash_mode), HASH_LEN_SIZE);
static int ssi_hash_init(struct ahash_req_ctx *state, struct ssi_hash_ctx *ctx) static int ssi_hash_init(struct ahash_req_ctx *state, struct ssi_hash_ctx *ctx)
{ {
struct device *dev = &ctx->drvdata->plat_dev->dev; struct device *dev = &ctx->drvdata->plat_dev->dev;
state->xcbc_count = 0; state->xcbc_count = 0;
CHECK_AND_RETURN_UPON_FIPS_ERROR(); CHECK_AND_RETURN_UPON_FIPS_ERROR();
...@@ -1164,7 +1164,6 @@ static int ssi_hash_setkey(void *hash, ...@@ -1164,7 +1164,6 @@ static int ssi_hash_setkey(void *hash,
return rc; return rc;
} }
static int ssi_xcbc_setkey(struct crypto_ahash *ahash, static int ssi_xcbc_setkey(struct crypto_ahash *ahash,
const u8 *key, unsigned int keylen) const u8 *key, unsigned int keylen)
{ {
...@@ -1252,11 +1251,13 @@ static int ssi_xcbc_setkey(struct crypto_ahash *ahash, ...@@ -1252,11 +1251,13 @@ static int ssi_xcbc_setkey(struct crypto_ahash *ahash,
return rc; return rc;
} }
#if SSI_CC_HAS_CMAC #if SSI_CC_HAS_CMAC
static int ssi_cmac_setkey(struct crypto_ahash *ahash, static int ssi_cmac_setkey(struct crypto_ahash *ahash,
const u8 *key, unsigned int keylen) const u8 *key, unsigned int keylen)
{ {
struct ssi_hash_ctx *ctx = crypto_ahash_ctx(ahash); struct ssi_hash_ctx *ctx = crypto_ahash_ctx(ahash);
SSI_LOG_DEBUG("===== setkey (%d) ====\n", keylen); SSI_LOG_DEBUG("===== setkey (%d) ====\n", keylen);
CHECK_AND_RETURN_UPON_FIPS_ERROR(); CHECK_AND_RETURN_UPON_FIPS_ERROR();
...@@ -1289,7 +1290,6 @@ static int ssi_cmac_setkey(struct crypto_ahash *ahash, ...@@ -1289,7 +1290,6 @@ static int ssi_cmac_setkey(struct crypto_ahash *ahash,
ctx->key_params.keylen = keylen; ctx->key_params.keylen = keylen;
return 0; return 0;
} }
#endif #endif
...@@ -1319,7 +1319,6 @@ static void ssi_hash_free_ctx(struct ssi_hash_ctx *ctx) ...@@ -1319,7 +1319,6 @@ static void ssi_hash_free_ctx(struct ssi_hash_ctx *ctx)
ctx->key_params.keylen = 0; ctx->key_params.keylen = 0;
} }
static int ssi_hash_alloc_ctx(struct ssi_hash_ctx *ctx) static int ssi_hash_alloc_ctx(struct ssi_hash_ctx *ctx)
{ {
struct device *dev = &ctx->drvdata->plat_dev->dev; struct device *dev = &ctx->drvdata->plat_dev->dev;
...@@ -1365,7 +1364,6 @@ static int ssi_ahash_cra_init(struct crypto_tfm *tfm) ...@@ -1365,7 +1364,6 @@ static int ssi_ahash_cra_init(struct crypto_tfm *tfm)
struct ssi_hash_alg *ssi_alg = struct ssi_hash_alg *ssi_alg =
container_of(ahash_alg, struct ssi_hash_alg, ahash_alg); container_of(ahash_alg, struct ssi_hash_alg, ahash_alg);
CHECK_AND_RETURN_UPON_FIPS_ERROR(); CHECK_AND_RETURN_UPON_FIPS_ERROR();
crypto_ahash_set_reqsize(__crypto_ahash_cast(tfm), crypto_ahash_set_reqsize(__crypto_ahash_cast(tfm),
sizeof(struct ahash_req_ctx)); sizeof(struct ahash_req_ctx));
...@@ -1462,7 +1460,6 @@ static int ssi_mac_final(struct ahash_request *req) ...@@ -1462,7 +1460,6 @@ static int ssi_mac_final(struct ahash_request *req)
u32 rem_cnt = state->buff_index ? state->buff1_cnt : u32 rem_cnt = state->buff_index ? state->buff1_cnt :
state->buff0_cnt; state->buff0_cnt;
CHECK_AND_RETURN_UPON_FIPS_ERROR(); CHECK_AND_RETURN_UPON_FIPS_ERROR();
if (ctx->hw_mode == DRV_CIPHER_XCBC_MAC) { if (ctx->hw_mode == DRV_CIPHER_XCBC_MAC) {
keySize = CC_AES_128_BIT_KEY_SIZE; keySize = CC_AES_128_BIT_KEY_SIZE;
...@@ -1501,7 +1498,6 @@ static int ssi_mac_final(struct ahash_request *req) ...@@ -1501,7 +1498,6 @@ static int ssi_mac_final(struct ahash_request *req)
set_setup_mode(&desc[idx], SETUP_LOAD_KEY0); set_setup_mode(&desc[idx], SETUP_LOAD_KEY0);
idx++; idx++;
/* Initiate decryption of block state to previous block_state-XOR-M[n] */ /* Initiate decryption of block state to previous block_state-XOR-M[n] */
hw_desc_init(&desc[idx]); hw_desc_init(&desc[idx]);
set_din_type(&desc[idx], DMA_DLLI, state->digest_buff_dma_addr, set_din_type(&desc[idx], DMA_DLLI, state->digest_buff_dma_addr,
......
...@@ -296,4 +296,3 @@ int ssi_ivgen_getiv( ...@@ -296,4 +296,3 @@ int ssi_ivgen_getiv(
return 0; return 0;
} }
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include "cc_hw_queue_defs.h" #include "cc_hw_queue_defs.h"
#define SSI_IVPOOL_SEQ_LEN 8 #define SSI_IVPOOL_SEQ_LEN 8
/*! /*!
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>. * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/ */
#include "ssi_config.h" #include "ssi_config.h"
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -30,13 +29,11 @@ ...@@ -30,13 +29,11 @@
#include "ssi_hash.h" #include "ssi_hash.h"
#include "ssi_pm.h" #include "ssi_pm.h"
#if defined(CONFIG_PM_RUNTIME) || defined(CONFIG_PM_SLEEP) #if defined(CONFIG_PM_RUNTIME) || defined(CONFIG_PM_SLEEP)
#define POWER_DOWN_ENABLE 0x01 #define POWER_DOWN_ENABLE 0x01
#define POWER_DOWN_DISABLE 0x00 #define POWER_DOWN_DISABLE 0x00
int ssi_power_mgr_runtime_suspend(struct device *dev) int ssi_power_mgr_runtime_suspend(struct device *dev)
{ {
struct ssi_drvdata *drvdata = struct ssi_drvdata *drvdata =
...@@ -119,8 +116,6 @@ int ssi_power_mgr_runtime_put_suspend(struct device *dev) ...@@ -119,8 +116,6 @@ int ssi_power_mgr_runtime_put_suspend(struct device *dev)
#endif #endif
int ssi_power_mgr_init(struct ssi_drvdata *drvdata) int ssi_power_mgr_init(struct ssi_drvdata *drvdata)
{ {
int rc = 0; int rc = 0;
......
...@@ -20,14 +20,11 @@ ...@@ -20,14 +20,11 @@
#ifndef __SSI_POWER_MGR_H__ #ifndef __SSI_POWER_MGR_H__
#define __SSI_POWER_MGR_H__ #define __SSI_POWER_MGR_H__
#include "ssi_config.h" #include "ssi_config.h"
#include "ssi_driver.h" #include "ssi_driver.h"
#define SSI_SUSPEND_TIMEOUT 3000 #define SSI_SUSPEND_TIMEOUT 3000
int ssi_power_mgr_init(struct ssi_drvdata *drvdata); int ssi_power_mgr_init(struct ssi_drvdata *drvdata);
void ssi_power_mgr_fini(struct ssi_drvdata *drvdata); void ssi_power_mgr_fini(struct ssi_drvdata *drvdata);
......
...@@ -50,6 +50,7 @@ struct ssi_request_mgr_handle { ...@@ -50,6 +50,7 @@ struct ssi_request_mgr_handle {
u8 *dummy_comp_buff; u8 *dummy_comp_buff;
dma_addr_t dummy_comp_buff_dma; dma_addr_t dummy_comp_buff_dma;
struct cc_hw_desc monitor_desc; struct cc_hw_desc monitor_desc;
volatile unsigned long monitor_lock; volatile unsigned long monitor_lock;
#ifdef COMP_IN_WQ #ifdef COMP_IN_WQ
struct workqueue_struct *workq; struct workqueue_struct *workq;
...@@ -135,7 +136,6 @@ int request_mgr_init(struct ssi_drvdata *drvdata) ...@@ -135,7 +136,6 @@ int request_mgr_init(struct ssi_drvdata *drvdata)
req_mgr_h->min_free_hw_slots = req_mgr_h->hw_queue_size; req_mgr_h->min_free_hw_slots = req_mgr_h->hw_queue_size;
req_mgr_h->max_used_sw_slots = 0; req_mgr_h->max_used_sw_slots = 0;
/* Allocate DMA word for "dummy" completion descriptor use */ /* Allocate DMA word for "dummy" completion descriptor use */
req_mgr_h->dummy_comp_buff = dma_alloc_coherent(&drvdata->plat_dev->dev, req_mgr_h->dummy_comp_buff = dma_alloc_coherent(&drvdata->plat_dev->dev,
sizeof(u32), &req_mgr_h->dummy_comp_buff_dma, GFP_KERNEL); sizeof(u32), &req_mgr_h->dummy_comp_buff_dma, GFP_KERNEL);
...@@ -192,10 +192,10 @@ static inline void enqueue_seq( ...@@ -192,10 +192,10 @@ static inline void enqueue_seq(
static void request_mgr_complete(struct device *dev, void *dx_compl_h, void __iomem *cc_base) static void request_mgr_complete(struct device *dev, void *dx_compl_h, void __iomem *cc_base)
{ {
struct completion *this_compl = dx_compl_h; struct completion *this_compl = dx_compl_h;
complete(this_compl); complete(this_compl);
} }
static inline int request_mgr_queues_status_check( static inline int request_mgr_queues_status_check(
struct ssi_request_mgr_handle *req_mgr_h, struct ssi_request_mgr_handle *req_mgr_h,
void __iomem *cc_base, void __iomem *cc_base,
...@@ -389,7 +389,6 @@ int send_request( ...@@ -389,7 +389,6 @@ int send_request(
} }
} }
/*! /*!
* Enqueue caller request to crypto hardware during init process. * Enqueue caller request to crypto hardware during init process.
* assume this function is not called in middle of a flow, * assume this function is not called in middle of a flow,
...@@ -426,7 +425,6 @@ int send_request_init( ...@@ -426,7 +425,6 @@ int send_request_init(
return 0; return 0;
} }
void complete_request(struct ssi_drvdata *drvdata) void complete_request(struct ssi_drvdata *drvdata)
{ {
struct ssi_request_mgr_handle *request_mgr_handle = struct ssi_request_mgr_handle *request_mgr_handle =
...@@ -478,6 +476,7 @@ static void proc_completions(struct ssi_drvdata *drvdata) ...@@ -478,6 +476,7 @@ static void proc_completions(struct ssi_drvdata *drvdata)
{ {
u32 axi_err; u32 axi_err;
int i; int i;
SSI_LOG_INFO("Delay\n"); SSI_LOG_INFO("Delay\n");
for (i = 0; i < 1000000; i++) for (i = 0; i < 1000000; i++)
axi_err = READ_REGISTER(drvdata->cc_base + CC_REG_OFFSET(CRY_KERNEL, AXIM_MON_ERR)); axi_err = READ_REGISTER(drvdata->cc_base + CC_REG_OFFSET(CRY_KERNEL, AXIM_MON_ERR));
...@@ -516,8 +515,6 @@ static void comp_handler(unsigned long devarg) ...@@ -516,8 +515,6 @@ static void comp_handler(unsigned long devarg)
u32 irq; u32 irq;
irq = (drvdata->irq & SSI_COMP_IRQ_MASK); irq = (drvdata->irq & SSI_COMP_IRQ_MASK);
if (irq & SSI_COMP_IRQ_MASK) { if (irq & SSI_COMP_IRQ_MASK) {
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include "ssi_driver.h" #include "ssi_driver.h"
#include "ssi_sram_mgr.h" #include "ssi_sram_mgr.h"
/** /**
* struct ssi_sram_mgr_ctx -Internal RAM context manager * struct ssi_sram_mgr_ctx -Internal RAM context manager
* @sram_free_offset: the offset to the non-allocated area * @sram_free_offset: the offset to the non-allocated area
...@@ -26,7 +25,6 @@ struct ssi_sram_mgr_ctx { ...@@ -26,7 +25,6 @@ struct ssi_sram_mgr_ctx {
ssi_sram_addr_t sram_free_offset; ssi_sram_addr_t sram_free_offset;
}; };
/** /**
* ssi_sram_mgr_fini() - Cleanup SRAM pool. * ssi_sram_mgr_fini() - Cleanup SRAM pool.
* *
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#ifndef __SSI_SRAM_MGR_H__ #ifndef __SSI_SRAM_MGR_H__
#define __SSI_SRAM_MGR_H__ #define __SSI_SRAM_MGR_H__
#ifndef SSI_CC_SRAM_SIZE #ifndef SSI_CC_SRAM_SIZE
#define SSI_CC_SRAM_SIZE 4096 #define SSI_CC_SRAM_SIZE 4096
#endif #endif
......
...@@ -108,7 +108,6 @@ static DEFINE_SPINLOCK(stat_lock); ...@@ -108,7 +108,6 @@ static DEFINE_SPINLOCK(stat_lock);
static struct stat_item stat_host_db[MAX_STAT_OP_TYPES][MAX_STAT_PHASES]; static struct stat_item stat_host_db[MAX_STAT_OP_TYPES][MAX_STAT_PHASES];
static struct stat_item stat_cc_db[MAX_STAT_OP_TYPES][MAX_STAT_PHASES]; static struct stat_item stat_cc_db[MAX_STAT_OP_TYPES][MAX_STAT_PHASES];
static void init_db(struct stat_item item[MAX_STAT_OP_TYPES][MAX_STAT_PHASES]) static void init_db(struct stat_item item[MAX_STAT_OP_TYPES][MAX_STAT_PHASES])
{ {
unsigned int i, j; unsigned int i, j;
...@@ -152,7 +151,6 @@ static void display_db(struct stat_item item[MAX_STAT_OP_TYPES][MAX_STAT_PHASES] ...@@ -152,7 +151,6 @@ static void display_db(struct stat_item item[MAX_STAT_OP_TYPES][MAX_STAT_PHASES]
} }
} }
/************************************** /**************************************
* Attributes show functions section * * Attributes show functions section *
**************************************/ **************************************/
...@@ -278,8 +276,6 @@ void display_all_stat_db(void) ...@@ -278,8 +276,6 @@ void display_all_stat_db(void)
} }
#endif /*CC_CYCLE_COUNT*/ #endif /*CC_CYCLE_COUNT*/
static ssize_t ssi_sys_regdump_show(struct kobject *kobj, static ssize_t ssi_sys_regdump_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf) struct kobj_attribute *attr, char *buf)
{ {
......
...@@ -36,6 +36,7 @@ enum stat_phase { ...@@ -36,6 +36,7 @@ enum stat_phase {
STAT_PHASE_6, STAT_PHASE_6,
MAX_STAT_PHASES, MAX_STAT_PHASES,
}; };
enum stat_op { enum stat_op {
STAT_OP_TYPE_NULL = 0, STAT_OP_TYPE_NULL = 0,
STAT_OP_TYPE_ENCODE, STAT_OP_TYPE_ENCODE,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment