]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
crypto: chcr - Cosmetic change
authorHarsh Jain <harsh@chelsio.com>
Tue, 29 Nov 2016 13:30:35 +0000 (19:00 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 30 Nov 2016 12:01:45 +0000 (20:01 +0800)
Moves get_aes_decrypt_key function to .c file and declare inline for
"aes_ks_subword"

Signed-off-by: Jitendra Lulla <JLULLA@chelsio.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/chelsio/chcr_algo.c
drivers/crypto/chelsio/chcr_algo.h

index e4ddb921d7b3e156ab7d3b68a59fbc709d853fed..daad2bf2cb651eccbb18be727be394a08410e4a1 100644 (file)
@@ -178,6 +178,58 @@ static inline unsigned int calc_tx_flits_ofld(const struct sk_buff *skb)
        return flits + sgl_len(cnt);
 }
 
+static inline void get_aes_decrypt_key(unsigned char *dec_key,
+                                      const unsigned char *key,
+                                      unsigned int keylength)
+{
+       u32 temp;
+       u32 w_ring[MAX_NK];
+       int i, j, k;
+       u8  nr, nk;
+
+       switch (keylength) {
+       case AES_KEYLENGTH_128BIT:
+               nk = KEYLENGTH_4BYTES;
+               nr = NUMBER_OF_ROUNDS_10;
+               break;
+       case AES_KEYLENGTH_192BIT:
+               nk = KEYLENGTH_6BYTES;
+               nr = NUMBER_OF_ROUNDS_12;
+               break;
+       case AES_KEYLENGTH_256BIT:
+               nk = KEYLENGTH_8BYTES;
+               nr = NUMBER_OF_ROUNDS_14;
+               break;
+       default:
+               return;
+       }
+       for (i = 0; i < nk; i++)
+               w_ring[i] = be32_to_cpu(*(u32 *)&key[4 * i]);
+
+       i = 0;
+       temp = w_ring[nk - 1];
+       while (i + nk < (nr + 1) * 4) {
+               if (!(i % nk)) {
+                       /* RotWord(temp) */
+                       temp = (temp << 8) | (temp >> 24);
+                       temp = aes_ks_subword(temp);
+                       temp ^= round_constant[i / nk];
+               } else if (nk == 8 && (i % 4 == 0)) {
+                       temp = aes_ks_subword(temp);
+               }
+               w_ring[i % nk] ^= temp;
+               temp = w_ring[i % nk];
+               i++;
+       }
+       i--;
+       for (k = 0, j = i % nk; k < nk; k++) {
+               *((u32 *)dec_key + k) = htonl(w_ring[j]);
+               j--;
+               if (j < 0)
+                       j += nk;
+       }
+}
+
 static struct shash_desc *chcr_alloc_shash(unsigned int ds)
 {
        struct crypto_shash *base_hash = NULL;
index 199b0bb69b89bcd5c96af1a9355208b367737089..f34bc915783a5c563a2cea618ffe49d994dab93e 100644 (file)
@@ -394,7 +394,7 @@ static const u8 aes_sbox[256] = {
        187, 22
 };
 
-static u32 aes_ks_subword(const u32 w)
+static inline u32 aes_ks_subword(const u32 w)
 {
        u8 bytes[4];
 
@@ -412,61 +412,4 @@ static u32 round_constant[11] = {
        0x1B000000, 0x36000000, 0x6C000000
 };
 
-/* dec_key - OUTPUT - Reverse round key
- * key - INPUT - key
- * keylength - INPUT - length of the key in number of bits
- */
-static inline void get_aes_decrypt_key(unsigned char *dec_key,
-                                      const unsigned char *key,
-                                      unsigned int keylength)
-{
-       u32 temp;
-       u32 w_ring[MAX_NK];
-       int i, j, k;
-       u8  nr, nk;
-
-       switch (keylength) {
-       case AES_KEYLENGTH_128BIT:
-               nk = KEYLENGTH_4BYTES;
-               nr = NUMBER_OF_ROUNDS_10;
-               break;
-
-       case AES_KEYLENGTH_192BIT:
-               nk = KEYLENGTH_6BYTES;
-               nr = NUMBER_OF_ROUNDS_12;
-               break;
-       case AES_KEYLENGTH_256BIT:
-               nk = KEYLENGTH_8BYTES;
-               nr = NUMBER_OF_ROUNDS_14;
-               break;
-       default:
-               return;
-       }
-       for (i = 0; i < nk; i++ )
-               w_ring[i] = be32_to_cpu(*(u32 *)&key[4 * i]);
-
-       i = 0;
-       temp = w_ring[nk - 1];
-       while(i + nk < (nr + 1) * 4) {
-               if(!(i % nk)) {
-                       /* RotWord(temp) */
-                       temp = (temp << 8) | (temp >> 24);
-                       temp = aes_ks_subword(temp);
-                       temp ^= round_constant[i / nk];
-               }
-               else if (nk == 8 && (i % 4 == 0))
-                       temp = aes_ks_subword(temp);
-               w_ring[i % nk] ^= temp;
-               temp = w_ring[i % nk];
-               i++;
-       }
-       i--;
-       for (k = 0, j = i % nk; k < nk; k++) {
-               *((u32 *)dec_key + k) = htonl(w_ring[j]);
-               j--;
-               if(j < 0)
-                       j += nk;
-       }
-}
-
 #endif /* __CHCR_ALGO_H__ */