Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2522435rdb; Sun, 3 Dec 2023 22:32:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IEjSnr5zy3xFd/XApK8IvqGD1KpYMM7ULP3LoUVO+l1xksTLp3BU6Ko9WGjt+f7Y3FrUnEh X-Received: by 2002:a17:906:20c1:b0:a19:a19b:55c3 with SMTP id c1-20020a17090620c100b00a19a19b55c3mr446356ejc.83.1701671543247; Sun, 03 Dec 2023 22:32:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701671543; cv=none; d=google.com; s=arc-20160816; b=Xq9h0JbhuPDubH0Ol3ObFl5omBq8rQDjOBmHfWYEF+GED/mI5fiUlxfTb8WyhBqaIB V7xhr745fqswTkRZRhvZXqF1C/UiI7qBDwyGA/9Go6Rz3DmHqqZcWOVmlXcEyxpI6R+/ qK5XhgPlT2k4g01XMzKPhO0vn8WxpxQ+FcuXz7jxB1V2w2ge2jIYkgedENNI4AxQ3tQo OqAAb76+C75JILou2Qka/Cd+FeTWHa3mEBocKGWzO5SPuoC6SN+BNE+CvrUb6hTP+vSo 1ymw2+AfB2/srtl1Xs4JN6NGb9zodqR+t0AWKBxF4+B2sziw6voR+d3fIcTi1JDyfMV4 Wt7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=vmEb7NetsrKIta7uHVu6II1bIB0Ev0X98M93StqdSA8=; fh=49F5/tZW3xWhUs+Xqs722rCfHRWmehAtw1jIaRBeGqQ=; b=K4e/ndKM9e1t4XFdML9qFayYF5r51h17y+pcGKkGVbtzfFIUOkjLmM66YiXffJkiRP fInnlhn+8Va2hqbezLmVpfhZjrfOSIEXJkDFrLDnuilfLgGyf3M2kDfIFRyn64T70r9J QohqpAOCRZhpKxTSoCKPpqlbXnR9ykP2+E+5pVJ8X9343/ZzOQCcp/ZouoOsMEhCCgUg DyygYkOnYnT6GIFHRN754HeLS3ggr/gOsCcmSH4ZkwQj5JKNRokSNHO4UZp2xGYOV89y UftV4EDNUCw2V2d3mXfOTA7prRxxaXh9eLdA1ox6yYbl5CLeiRu5/s+A/C743rjwe/26 lBTQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto+bounces-524-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-crypto+bounces-524-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id nb7-20020a1709071c8700b00a186d17cf61si177198ejc.770.2023.12.03.22.32.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 22:32:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto+bounces-524-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto+bounces-524-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-crypto+bounces-524-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id D7CB21F21009 for ; Mon, 4 Dec 2023 06:32:22 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6B85B9469 for ; Mon, 4 Dec 2023 06:32:21 +0000 (UTC) X-Original-To: linux-crypto@vger.kernel.org Received: from ex01.ufhost.com (ex01.ufhost.com [61.152.239.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6124BE6 for ; Sun, 3 Dec 2023 21:22:16 -0800 (PST) Received: from EXMBX165.cuchost.com (unknown [175.102.18.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "EXMBX165", Issuer "EXMBX165" (not verified)) by ex01.ufhost.com (Postfix) with ESMTP id CE56024E199; Mon, 4 Dec 2023 13:22:04 +0800 (CST) Received: from EXMBX168.cuchost.com (172.16.6.78) by EXMBX165.cuchost.com (172.16.6.75) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Mon, 4 Dec 2023 13:22:04 +0800 Received: from [192.168.155.94] (202.188.176.82) by EXMBX168.cuchost.com (172.16.6.78) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Mon, 4 Dec 2023 13:22:03 +0800 Message-ID: <0632d81e-724b-43b5-9aa5-6d9b69ba98f2@starfivetech.com> Date: Mon, 4 Dec 2023 13:21:59 +0800 Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 14/19] crypto: starfive - Remove cfb and ofb To: Herbert Xu , Linux Crypto Mailing List References: Content-Language: en-US From: Jia Jie Ho In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: EXCAS066.cuchost.com (172.16.6.26) To EXMBX168.cuchost.com (172.16.6.78) X-YovoleRuleAgent: yovoleflag On 30/11/2023 8:28 pm, Herbert Xu wrote: > Remove the unused CFB/OFB implementation. > > Signed-off-by: Herbert Xu > --- > > drivers/crypto/starfive/jh7110-aes.c | 62 ----------------------------------- > 1 file changed, 62 deletions(-) > > diff --git a/drivers/crypto/starfive/jh7110-aes.c b/drivers/crypto/starfive/jh7110-aes.c > index 9378e6682f0e..d1da9b366bbc 100644 > --- a/drivers/crypto/starfive/jh7110-aes.c > +++ b/drivers/crypto/starfive/jh7110-aes.c > @@ -783,26 +783,6 @@ static int starfive_aes_cbc_decrypt(struct skcipher_request *req) > return starfive_aes_crypt(req, STARFIVE_AES_MODE_CBC); > } > > -static int starfive_aes_cfb_encrypt(struct skcipher_request *req) > -{ > - return starfive_aes_crypt(req, STARFIVE_AES_MODE_CFB | FLG_ENCRYPT); > -} > - > -static int starfive_aes_cfb_decrypt(struct skcipher_request *req) > -{ > - return starfive_aes_crypt(req, STARFIVE_AES_MODE_CFB); > -} > - > -static int starfive_aes_ofb_encrypt(struct skcipher_request *req) > -{ > - return starfive_aes_crypt(req, STARFIVE_AES_MODE_OFB | FLG_ENCRYPT); > -} > - > -static int starfive_aes_ofb_decrypt(struct skcipher_request *req) > -{ > - return starfive_aes_crypt(req, STARFIVE_AES_MODE_OFB); > -} > - > static int starfive_aes_ctr_encrypt(struct skcipher_request *req) > { > return starfive_aes_crypt(req, STARFIVE_AES_MODE_CTR | FLG_ENCRYPT); > @@ -908,48 +888,6 @@ static struct skcipher_engine_alg skcipher_algs[] = { > .op = { > .do_one_request = starfive_aes_do_one_req, > }, > -}, { > - .base.init = starfive_aes_init_tfm, > - .base.setkey = starfive_aes_setkey, > - .base.encrypt = starfive_aes_cfb_encrypt, > - .base.decrypt = starfive_aes_cfb_decrypt, > - .base.min_keysize = AES_MIN_KEY_SIZE, > - .base.max_keysize = AES_MAX_KEY_SIZE, > - .base.ivsize = AES_BLOCK_SIZE, > - .base.base = { > - .cra_name = "cfb(aes)", > - .cra_driver_name = "starfive-cfb-aes", > - .cra_priority = 200, > - .cra_flags = CRYPTO_ALG_ASYNC, > - .cra_blocksize = 1, > - .cra_ctxsize = sizeof(struct starfive_cryp_ctx), > - .cra_alignmask = 0xf, > - .cra_module = THIS_MODULE, > - }, > - .op = { > - .do_one_request = starfive_aes_do_one_req, > - }, > -}, { > - .base.init = starfive_aes_init_tfm, > - .base.setkey = starfive_aes_setkey, > - .base.encrypt = starfive_aes_ofb_encrypt, > - .base.decrypt = starfive_aes_ofb_decrypt, > - .base.min_keysize = AES_MIN_KEY_SIZE, > - .base.max_keysize = AES_MAX_KEY_SIZE, > - .base.ivsize = AES_BLOCK_SIZE, > - .base.base = { > - .cra_name = "ofb(aes)", > - .cra_driver_name = "starfive-ofb-aes", > - .cra_priority = 200, > - .cra_flags = CRYPTO_ALG_ASYNC, > - .cra_blocksize = 1, > - .cra_ctxsize = sizeof(struct starfive_cryp_ctx), > - .cra_alignmask = 0xf, > - .cra_module = THIS_MODULE, > - }, > - .op = { > - .do_one_request = starfive_aes_do_one_req, > - }, > }, > }; > > Hi Herbert, There are a few macros for ofb/cfb. Could you please help include the following changes too? diff --git a/drivers/crypto/starfive/jh7110-aes.c b/drivers/crypto/starfive/jh7110-aes.c index be7fcd77b0f1..1ac15cc4ef3c 100644 --- a/drivers/crypto/starfive/jh7110-aes.c +++ b/drivers/crypto/starfive/jh7110-aes.c @@ -262,12 +262,7 @@ static int starfive_aes_hw_init(struct starfive_cryp_ctx *ctx) rctx->csr.aes.mode = hw_mode; rctx->csr.aes.cmode = !is_encrypt(cryp); rctx->csr.aes.ie = 1; - - if (hw_mode == STARFIVE_AES_MODE_CFB || - hw_mode == STARFIVE_AES_MODE_OFB) - rctx->csr.aes.stmode = STARFIVE_AES_MODE_XFB_128; - else - rctx->csr.aes.stmode = STARFIVE_AES_MODE_XFB_1; + rctx->csr.aes.stmode = STARFIVE_AES_MODE_XFB_1; if (cryp->side_chan) { rctx->csr.aes.delay_aes = 1; @@ -294,8 +289,6 @@ static int starfive_aes_hw_init(struct starfive_cryp_ctx *ctx) starfive_aes_ccm_init(ctx); starfive_aes_aead_hw_start(ctx, hw_mode); break; - case STARFIVE_AES_MODE_OFB: - case STARFIVE_AES_MODE_CFB: case STARFIVE_AES_MODE_CBC: case STARFIVE_AES_MODE_CTR: starfive_aes_write_iv(ctx, (void *)cryp->req.sreq->iv); diff --git a/drivers/crypto/starfive/jh7110-cryp.h b/drivers/crypto/starfive/jh7110-cryp.h index 8510f8c1f307..6cdf6db5d904 100644 --- a/drivers/crypto/starfive/jh7110-cryp.h +++ b/drivers/crypto/starfive/jh7110-cryp.h @@ -50,8 +50,6 @@ union starfive_aes_csr { u32 ccm_start :1; #define STARFIVE_AES_MODE_ECB 0x0 #define STARFIVE_AES_MODE_CBC 0x1 -#define STARFIVE_AES_MODE_CFB 0x2 -#define STARFIVE_AES_MODE_OFB 0x3 #define STARFIVE_AES_MODE_CTR 0x4 #define STARFIVE_AES_MODE_CCM 0x5 #define STARFIVE_AES_MODE_GCM 0x6 Thanks, Jia Jie