From: Antoine Tenart Date: Mon, 14 May 2018 13:10:58 +0000 (+0200) Subject: crypto: inside-secure - make the context control size dynamic X-Git-Tag: v4.19~499^2~51 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fef0cfe577e9c8c75ba574d669eec55ac6ab0bad;p=platform%2Fkernel%2Flinux-rpi3.git crypto: inside-secure - make the context control size dynamic This patch makes the context control size computation dynamic, not to rely on hardcoded values. This is better for the future, and will help adding the AEAD support. Signed-off-by: Antoine Tenart Signed-off-by: Herbert Xu --- diff --git a/drivers/crypto/inside-secure/safexcel_cipher.c b/drivers/crypto/inside-secure/safexcel_cipher.c index 9ed3f26..26f6e05 100644 --- a/drivers/crypto/inside-secure/safexcel_cipher.c +++ b/drivers/crypto/inside-secure/safexcel_cipher.c @@ -118,21 +118,20 @@ static int safexcel_context_control(struct safexcel_cipher_ctx *ctx, switch (ctx->key_len) { case AES_KEYSIZE_128: cdesc->control_data.control0 |= CONTEXT_CONTROL_CRYPTO_ALG_AES128; - ctrl_size = 4; break; case AES_KEYSIZE_192: cdesc->control_data.control0 |= CONTEXT_CONTROL_CRYPTO_ALG_AES192; - ctrl_size = 6; break; case AES_KEYSIZE_256: cdesc->control_data.control0 |= CONTEXT_CONTROL_CRYPTO_ALG_AES256; - ctrl_size = 8; break; default: dev_err(priv->dev, "aes keysize not supported: %u\n", ctx->key_len); return -EINVAL; } + + ctrl_size = ctx->key_len / sizeof(u32); cdesc->control_data.control0 |= CONTEXT_CONTROL_SIZE(ctrl_size); return 0;