Re: [PATCH v5 4/4] crypto: Add Allwinner Security System crypto accelerator
From: Corentin LABBE <hidden>
Date: 2014-10-21 16:39:53
Also in:
linux-arm-kernel, linux-crypto, lkml
Le 21/10/2014 01:52, Joe Perches a écrit :
On Tue, 2014-10-21 at 02:28 +0300, Vladimir Zapolskiy wrote:quoted
On 19.10.2014 17:16, LABBE Corentin wrote:quoted
Add support for the Security System included in Allwinner SoC A20. The Security System is a hardware cryptographic accelerator that support AES/MD5/SHA1/DES/3DES/PRNG algorithms.[]quoted
quoted
diff --git a/drivers/crypto/sunxi-ss/sunxi-ss-core.c b/drivers/crypto/sunxi-ss/sunxi-ss-core.c[]quoted
quoted
+ cr = clk_get_rate(ss->busclk); + if (cr >= cr_ahb) + dev_dbg(&pdev->dev, "Clock bus %lu (%lu MHz) (must be >= %lu)\n", + cr, cr / 1000000, cr_ahb); + else + dev_warn(&pdev->dev, "Clock bus %lu (%lu MHz) (must be >= %lu)\n", + cr, cr / 1000000, cr_ahb);See next comment.quoted
+ cr = clk_get_rate(ss->ssclk); + if (cr <= cr_mod) + if (cr < cr_mod) + dev_info(&pdev->dev, "Clock ss %lu (%lu MHz) (must be <= %lu)\n", + cr, cr / 1000000, cr_mod); + else + dev_dbg(&pdev->dev, "Clock ss %lu (%lu MHz) (must be <= %lu)\n", + cr, cr / 1000000, cr_mod); + else + dev_warn(&pdev->dev, "Clock ss is at %lu (%lu MHz) (must be <= %lu)\n", + cr, cr / 1000000, cr_mod);The management of kernel log levels looks pretty strange. As far as I understand there is no error on any clock rate, I'd recommend to keep only one information message.And if not, please add some braces.quoted
hash_init: initialize request context */quoted
+int sunxi_hash_init(struct ahash_request *areq) +{ + const char *hash_type; + struct sunxi_req_ctx *op = ahash_request_ctx(areq); + + memset(op, 0, sizeof(struct sunxi_req_ctx)); + + hash_type = crypto_tfm_alg_name(areq->base.tfm); + + if (strcmp(hash_type, "sha1") == 0) + op->mode = SS_OP_SHA1; + if (strcmp(hash_type, "md5") == 0) + op->mode = SS_OP_MD5;else if ?quoted
quoted
+ if (op->mode == 0) + return -EINVAL;maybe this? if (!strcmp(hash_type, "sha1")) op->mode = SS_OP_SHA1; else if (!strcmp(hash_type, "md5")) op->mode = SH_OP_MD5; else return -EINVAL;
Ok it is better
quoted
quoted
+ + return 0; +}[]quoted
quoted
+int sunxi_hash_update(struct ahash_request *areq) +{[]quoted
quoted
+ dev_dbg(ss->dev, "%s %s bc=%llu len=%u mode=%x bw=%u ww=%u", + __func__, crypto_tfm_alg_name(areq->base.tfm), + op->byte_count, areq->nbytes, op->mode, + op->nbw, op->nwait);dev_dbg statements generally don't need __func__ as dynamic_debug can add it. If you want to keep it, the most common output form for __func__ is '"%s: ...", __func__'
It is a big debug that I forgot to remove but I fixed that in other dev_dbg thanks -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout.