1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-06-17 20:53:59 +02:00

ltq-deu: remove compiler warning and shorten locked sections

Removing hash pointer in _hmac_setkey since its not needed and causes
a compiler warning.
Make the spinlock control sections shorter and move initializations
out of the control sections to free the spinlock faster for allowing
other threads to use the hash engine.
Minor improvements for indentation and removal of blanks and blank
lines in some areas.

Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
This commit is contained in:
Daniel Kestrel 2021-06-15 17:33:24 +02:00 committed by Hauke Mehrtens
parent 0470b05b56
commit 6ade9d1dda
7 changed files with 7 additions and 43 deletions

View File

@ -343,7 +343,6 @@ int ctr_rfc3686_aes_set_key_skcipher (struct crypto_skcipher *tfm, const uint8_t
return ctr_rfc3686_aes_set_key(crypto_skcipher_tfm(tfm), in_key, key_len);
}
/*! \fn void ifx_deu_aes (void *ctx_arg, u8 *out_arg, const u8 *in_arg, u8 *iv_arg, u32 nbytes, int encdec, int mode)
* \ingroup IFX_AES_FUNCTIONS
* \brief main interface with deu hardware in DMA mode
@ -572,7 +571,6 @@ struct skcipher_alg ifxdeu_ecb_aes_alg = {
.decrypt = ecb_aes_decrypt,
};
/*! \fn int ecb_aes_encrypt(struct skcipher_req *req)
* \ingroup IFX_AES_FUNCTIONS
* \brief CBC AES encrypt using linux crypto skcipher
@ -736,7 +734,6 @@ struct skcipher_alg ifxdeu_ofb_aes_alg = {
.decrypt = ofb_aes_decrypt,
};
/*! \fn int cfb_aes_encrypt(struct skcipher_req *req)
* \ingroup IFX_AES_FUNCTIONS
* \brief CFB AES encrypt using linux crypto skcipher
@ -825,7 +822,6 @@ struct skcipher_alg ifxdeu_cfb_aes_alg = {
.decrypt = cfb_aes_decrypt,
};
/*! \fn int ctr_basic_aes_encrypt(struct skcipher_req *req)
* \ingroup IFX_AES_FUNCTIONS
* \brief Counter mode AES encrypt using linux crypto skcipher
@ -913,7 +909,6 @@ struct skcipher_alg ifxdeu_ctr_basic_aes_alg = {
.decrypt = ctr_basic_aes_decrypt,
};
/*! \fn int ctr_rfc3686_aes_encrypt(struct skcipher_req *req)
* \ingroup IFX_AES_FUNCTIONS
* \brief Counter mode AES (rfc3686) encrypt using linux crypto skcipher
@ -1021,7 +1016,6 @@ struct skcipher_alg ifxdeu_ctr_rfc3686_aes_alg = {
.decrypt = ctr_rfc3686_aes_decrypt,
};
/*! \fn int ifxdeu_init_aes (void)
* \ingroup IFX_AES_FUNCTIONS
* \brief function to initialize AES driver

View File

@ -89,7 +89,6 @@ struct arc4_ctx {
extern int disable_deudma;
extern int disable_multiblock;
/*! \fn static void _deu_arc4 (void *ctx_arg, u8 *out_arg, const u8 *in_arg, u8 *iv_arg, u32 nbytes, int encdec, int mode)
\ingroup IFX_ARC4_FUNCTIONS
\brief main interface to ARC4 hardware
@ -386,5 +385,3 @@ void ifxdeu_fini_arc4(void)
}

View File

@ -119,7 +119,6 @@ struct ifx_deu_des_ctx {
extern int disable_multiblock;
extern int disable_deudma;
/*! \fn int des_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen)
* \ingroup IFX_DES_FUNCTIONS
* \brief sets DES key
@ -154,7 +153,6 @@ int des_setkey(struct crypto_tfm *tfm, const u8 *key,
return err;
}
/*! \fn int des_setkey_skcipher (struct crypto_skcipher *tfm, const uint8_t *in_key, unsigned int key_len)
* \ingroup IFX_AES_FUNCTIONS
* \brief sets the AES keys for skcipher
@ -168,7 +166,6 @@ int des_setkey_skcipher (struct crypto_skcipher *tfm, const u8 *in_key, unsigned
return des_setkey(crypto_skcipher_tfm(tfm), in_key, key_len);
}
/*! \fn void ifx_deu_des(void *ctx_arg, u8 *out_arg, const u8 *in_arg, u8 *iv_arg, u32 nbytes, int encdec, int mode)
* \ingroup IFX_DES_FUNCTIONS
* \brief main interface to DES hardware
@ -287,8 +284,6 @@ void ifx_deu_des (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
* \param mode operation mode such as ebc, cbc
*/
/*! \fn void ifx_deu_des_ecb (void *ctx, uint8_t *dst, const uint8_t *src, uint8_t *iv, size_t nbytes, int encdec, int inplace)
* \ingroup IFX_DES_FUNCTIONS
* \brief sets DES hardware to ECB mode
@ -300,7 +295,6 @@ void ifx_deu_des (void *ctx_arg, u8 *out_arg, const u8 *in_arg,
* \param encdec 1 for encrypt; 0 for decrypt
* \param inplace not used
*/
void ifx_deu_des_ecb (void *ctx, uint8_t *dst, const uint8_t *src,
uint8_t *iv, size_t nbytes, int encdec, int inplace)
{
@ -776,4 +770,3 @@ void ifxdeu_fini_des (void)
crypto_unregister_skcipher (&ifxdeu_cbc_des3_ede_alg);
}

View File

@ -119,9 +119,9 @@ static void md5_transform(struct md5_ctx *mctx, u32 *hash, u32 const *in)
*((u32 *) hash + 2) = hashs->D3R;
*((u32 *) hash + 3) = hashs->D4R;
mctx->started = 1;
CRTCL_SECT_HASH_END;
mctx->started = 1;
}
/*! \fn static inline void md5_transform_helper(struct md5_ctx *ctx)
@ -274,4 +274,3 @@ void ifxdeu_fini_md5 (void)
crypto_unregister_shash(&ifxdeu_md5_alg);
}

View File

@ -119,7 +119,6 @@ static void md5_hmac_transform(struct shash_desc *desc, u32 const *in)
static int md5_hmac_setkey(struct crypto_shash *tfm, const u8 *key, unsigned int keylen)
{
struct md5_hmac_ctx *mctx = crypto_shash_ctx(tfm);
volatile struct deu_hash_t *hash = (struct deu_hash_t *) HASH_START;
int err;
//printk("copying keys to context with length %d\n", keylen);
@ -145,14 +144,12 @@ static int md5_hmac_setkey(struct crypto_shash *tfm, const u8 *key, unsigned int
return 0;
}
/*! \fn int md5_hmac_setkey_hw(const u8 *key, unsigned int keylen)
* \ingroup IFX_MD5_HMAC_FUNCTIONS
* \brief sets md5 hmac key into the hardware registers
* \param key input key
* \param keylen key length greater than 64 bytes IS NOT SUPPORTED
*/
static int md5_hmac_setkey_hw(const u8 *key, unsigned int keylen)
{
volatile struct deu_hash_t *hash = (struct deu_hash_t *) HASH_START;
@ -323,7 +320,6 @@ static int md5_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_final
in += 16;
}
#if 1
if (hash_final) {
//wait for digest ready
@ -338,6 +334,8 @@ static int md5_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_final
*((u32 *) out + 2) = hashs->D3R;
*((u32 *) out + 3) = hashs->D4R;
CRTCL_SECT_HASH_END;
if (hash_final) {
/* reset the context after we finish with the hash */
mctx->byte_count = 0;
@ -347,10 +345,7 @@ static int md5_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_final
} else {
mctx->dbn = 0;
}
CRTCL_SECT_HASH_END;
return 0;
return 0;
}
/*! \fn void md5_hmac_init_tfm(struct crypto_tfm *tfm)
@ -381,11 +376,9 @@ static void md5_hmac_exit_tfm(struct crypto_tfm *tfm)
kfree(mctx->desc);
}
/*
* \brief MD5_HMAC function mappings
*/
static struct shash_alg ifxdeu_md5_hmac_alg = {
.digestsize = MD5_DIGEST_SIZE,
.init = md5_hmac_init,
@ -435,5 +428,3 @@ void ifxdeu_fini_md5_hmac (void)
{
crypto_unregister_shash(&ifxdeu_md5_hmac_alg);
}

View File

@ -38,7 +38,6 @@
\brief ifx deu sha1 functions
*/
/* Project header */
#include <linux/init.h>
#include <linux/module.h>
@ -86,7 +85,6 @@ struct sha1_ctx {
extern int disable_deudma;
/*! \fn static void sha1_transform1 (u32 *state, const u32 *in)
* \ingroup IFX_SHA1_FUNCTIONS
* \brief main interface to sha1 hardware
@ -283,5 +281,3 @@ void ifxdeu_fini_sha1 (void)
}

View File

@ -38,7 +38,6 @@
\brief ifx sha1 hmac functions
*/
/* Project header */
#include <linux/init.h>
#include <linux/module.h>
@ -125,7 +124,6 @@ static int sha1_hmac_transform(struct shash_desc *desc, u32 const *in)
static int sha1_hmac_setkey(struct crypto_shash *tfm, const u8 *key, unsigned int keylen)
{
struct sha1_hmac_ctx *sctx = crypto_shash_ctx(tfm);
volatile struct deu_hash_t *hash = (struct deu_hash_t *) HASH_START;
int err;
if (keylen > SHA1_HMAC_MAX_KEYLEN) {
@ -152,7 +150,6 @@ static int sha1_hmac_setkey(struct crypto_shash *tfm, const u8 *key, unsigned in
return 0;
}
/*! \fn int sha1_hmac_setkey_hw(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen)
* \ingroup IFX_SHA1_HMAC_FUNCTIONS
* \brief sets sha1 hmac key into hw registers
@ -351,6 +348,8 @@ static int sha1_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_fina
*((u32 *) out + 3) = hashs->D4R;
*((u32 *) out + 4) = hashs->D5R;
CRTCL_SECT_HASH_END;
if (hash_final) {
memset(&sctx->buffer[0], 0, SHA1_HMAC_BLOCK_SIZE);
sctx->count = 0;
@ -358,8 +357,6 @@ static int sha1_hmac_final_impl(struct shash_desc *desc, u8 *out, bool hash_fina
sctx->dbn = 0;
}
//printk("debug ln: %d, fn: %s\n", __LINE__, __func__);
CRTCL_SECT_HASH_END;
return 0;
@ -393,7 +390,6 @@ static void sha1_hmac_exit_tfm(struct crypto_tfm *tfm)
kfree(sctx->desc);
}
/*
* \brief SHA1_HMAC function mappings
*/
@ -418,7 +414,6 @@ static struct shash_alg ifxdeu_sha1_hmac_alg = {
}
};
/*! \fn int ifxdeu_init_sha1_hmac (void)
* \ingroup IFX_SHA1_HMAC_FUNCTIONS
* \brief initialize sha1 hmac driver
@ -451,4 +446,3 @@ void ifxdeu_fini_sha1_hmac (void)
}