crypto: inside-secure - improve the skcipher token
authorAntoine Tenart <antoine.tenart@bootlin.com>
Mon, 19 Mar 2018 08:21:18 +0000 (09:21 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 30 Mar 2018 17:32:46 +0000 (01:32 +0800)
The token used for encryption and decryption of skcipher algorithms sets
its stat field to "last packet". As it's a cipher only algorithm, there
is not hash operation and thus the "last hash" bit should be set to tell
the internal engine no hash operation should be performed.

This does not fix a bug, but improves the token definition to follow
exactly what's advised by the datasheet.

Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel_cipher.c

index 17a7725a6f6dc14896b8928f5b5880a7d80470a4..bafb60505fabc2ec7d9c837b07e8d9294b88fa6b 100644 (file)
@@ -58,7 +58,8 @@ static void safexcel_cipher_token(struct safexcel_cipher_ctx *ctx,
 
        token[0].opcode = EIP197_TOKEN_OPCODE_DIRECTION;
        token[0].packet_length = length;
-       token[0].stat = EIP197_TOKEN_STAT_LAST_PACKET;
+       token[0].stat = EIP197_TOKEN_STAT_LAST_PACKET |
+                       EIP197_TOKEN_STAT_LAST_HASH;
        token[0].instructions = EIP197_TOKEN_INS_LAST |
                                EIP197_TOKEN_INS_TYPE_CRYTO |
                                EIP197_TOKEN_INS_TYPE_OUTPUT;