ltq-deu: remove compiler warning and shorten locked sections
authorDaniel Kestrel <kestrel1974@t-online.de>
Tue, 15 Jun 2021 15:33:24 +0000 (17:33 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 5 Jan 2022 23:23:02 +0000 (00:23 +0100)
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>
package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c
package/kernel/lantiq/ltq-deu/src/ifxmips_arc4.c
package/kernel/lantiq/ltq-deu/src/ifxmips_des.c
package/kernel/lantiq/ltq-deu/src/ifxmips_md5.c
package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c
package/kernel/lantiq/ltq-deu/src/ifxmips_sha1.c
package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c

index a55766a4ac0d7f5f5f0bac04724bf053c720c849..e0adc18d62ae2f74ba2b9099cbc86368a5ae3672 100644 (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
index 6afd783b6b45612e563ba3a7efe850b49794cdcd..51f988fe43cc46bfbc6441fca517478bc68a3a0c 100644 (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)
 
 
 }
-
-
index a223e8ec38b44c3e2e14d01369d5af2634bc9828..8c12a2607018b3a2bf8951f0b876008b488089c1 100644 (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);
 
 }
-
index 376ff64d05a3b99083d8815449bbb3f5e2caf218..51782e0b6a4cb00786217eb23b598b8e8a027b8b 100644 (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);
 
 }
-
index ea808fdc5bcade85c79d088410fd0e93881aa0fb..fc3a5ea66801f297ad8560d54faa037b4c9d0710 100644 (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);
 }
-
-
index a139f8d9d4a8562d6d4218ff01c7e89563d4682f..a20430c448156ea3aa9bc15c06be73325255b36f 100644 (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)
 
 
 }
-
-
index 72770a38e857e66a37ffac8f6757654c7df91341..9adf4d47101752343b9111c762fc7348b1579d72 100644 (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)
 
 
 }
-